s = s+a[i][j]; else if(i == 2-j) s = s+a[i][j]; }
printf(\return 0; }
7.将一个一维数组(含10 个整型数组元素)中的值按逆序重新存放。 答:
#include
int a[10] = {1,2,3,4,5,6,7,8,9,10}; int i,t;
for(i = 0;i < 5;i++) {
t = a[i]; a[i] = a[9-i]; a[9-i] = t; }
for(i = 0;i < 10;i++) printf(\return 0; }
8.打印出以下的杨辉三角形(要求打印出10行)。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 …………………… 答:
#include
int a[10][10],i,j; for(i = 0;i < 10;i++) {
a[i][i] = 1; a[i][0] = 1; }
for(i=2;i < 10;i++) for(j=1;j < i;j++)
a[i][j] = a[i-1][j-1]+a[i-1][j]; for(i = 0;i < 10;i++) {
for(j = 0;j < i+1;j++) printf(\printf(\}
return 0; }
9.若已定义:char ch[5] = {’e’,’f’,’\\0’,’g’,’\\0’};则printf(”%s”,c);的输出是()。
A. ’e’’f’ B. ef C. efg D. ef\\0g 答: B
10.以下程序运行后,输出结果是()。 #include
int main() { } 答:
18
11.从键盘输入一个字符串,将小写字母全部转换成大写字母。(不使用系统函数) 答:
#include
char str[80];
183
char ch[7] = {”83ek47”}; int i,s = 1;
for(i = 0;ch[i] >= ’0’&&ch[i] <= ’9’;i++)
s = 10*s+ch[i]-’0’; printf(”%d\\t”,s);
return 0;
int i = 0;
printf(\gets(str);
while(str[i] != '\\0') {
if(str[i] >= 'a'&&str[i] <= 'z') str[i] = str[i]-32; i++; }
printf(\}
12.为了判断两个字符串s1和s2是否相等,应当使用()。
A.if(s1 == s2) B.if(s1 = s2) C.if(strcmp(s1,s2)) D.if(strcmp(s1,s2) == 0) 答:
D
13.思考题:字符串模糊查询
程序提示用户输入名字,在已有字符串数据中进行查找,如果有相等的就输出。否则输出“找不到相关信息!”。 答:
#include
int strchk(char s1[],char s2[]); int main() {
int n,i,f = 0;
char s1[10][10] ={\ \char s2[10];
printf(\scanf(\for(i = 0;i < 10;i++) {
n = strchk(s1[i],s2); if(n == 0) {
printf(\f = 1;
} }
if(f == 0)
printf(\ }
int strchk(char s1[],char s2[]) {
int i; char c1,c2; for(i = 0; ;i++) {
c1 = s1[i]; c2 = s2[i];
if(c1 >= 'A'&&c1 <= 'Z')
c1 = c1-'A'+'a'; if(c2 >= 'A'&&c2 <= 'Z') c2 = c2-'A'+'a';
if(c1 != c2||c1 == '\\0'||c2 == '\\0')
break; }
if(c1 == '\\0'||c2 == '\\0') return 0; else if(c1>c2) return 1; else
return -1; }
第5章 习 题
1. 在下列关于C函数定义的叙述中,正确的是()
A.函数可以嵌套定义,但不可以嵌套调用 B.函数不可以嵌套定义,但可以嵌套调用 C.函数不可以嵌套定义,也不可以嵌套调用 D.函数可以嵌套定义,也可以嵌套调用 答:
B
2. 在C语言程序中,若对函数类型未加显示说明,则函数的隐含类型为()
A. void B. double C. char D. int 答:
D
3. 下列程序的输出结果是()
fun(int a,int b,int c) {
c = a*b; }
int main() {
int c; fun(2,3,c); printf(“%d\\n”,c); return 0; }
A. 0 B. 1 C. 6 D. 无法确定 答:
D
4. 以下程序运行后,输出结果是
int a = 3; void fun() {
static int a = 0; a += 2;
printf(“%d”,a); }
int main()