1、国家二级( C语言)章节练习试卷 22 及答案与解析 1 有如下程序 main() int n=9; while(n6) n-; printf(“%d“,n); 该程序段的输出结果是 _。 ( A) 987 ( B) 876 ( C) 8765 ( D) 9876 2 下面的程序输出结果是 _。 main() int x=3; while(!(-x) printf(“%dn“,x-=2); ( A)不执行循环体 ( B) 1 ( C) 0 ( D)是死循环 3 运行以 下程序后,如果从键盘上输入 6514回车,则输出结果为 _。 main() int m, n; printf(“Enter m
2、,n: “); scanf(“%d%d“, i+=2, j-) printf(“%dn“,i) ( A) 3 ( B) 2 ( C) 1 ( D) 0 9 以下程序的输出结果是 _。 main() int x=10, y=10, i; for(i=0; x 8; y=+i) printf(“%d%d“, x-, y); ( A) 10192 ( B) 9 876 ( C) 10990 ( D) 10109 1 10 以下程序运行后的输出结果是 _。 main() char c1, c2; for(c1=0,c2=9; c1 c2; c1+,c2-) printf(“%c c“, c1,c2);
3、 printf(“n“); ( A) 918245765 ( B) 893478654 ( C) 786584763 ( D) 918273645 11 下面程序的功能是:计算 1 10之间的奇数之和及偶数之和,空白处应填_。 main() int a, b, c, i; a=c=0; for(i=0; i =10; i+=2) a+=i; _; ) printf(“偶数之和 =%dn“, a); printf(“奇数之和 =%dn“, c-11); ( A) c+=i ( B) c+=i+1 ( C) b+=i ( D) b+=i+1 12 以下程序的执行结果是 _。 main() int
4、i, j, m=O, n=0; for (i=0; i 2; i+) for (j=0; j 2; j+) if(j =i) m=1; n+; printf(“%dn“, n); ( A) 4 ( B) 2 ( C) 1 ( D) 0 13 以下程序运行后,输出结果为 _。 main() int y=18,i=0 j, a8; do ai=y%2; i+; y=y/2; while(y =1); for(j=1-1;j =0;j-) printf(“%d“, aj); printf(“n“); ( A) 10000 ( B) 10010 ( C) 110 ( D) 10100 14 以下程序的
5、输出结果是 _。 main() int i, j, m=0; for (i=1; i =15; i+=4) for(j=3; j =19; j+=4) m+; printf(“%dn“, m); ( A) 12 ( B) 15 ( C) 20 ( D) 25 15 有以下程序 main() int i=0, s=0; for(; ) if(i=3|i=5)continue; if(i=6) break; i+; s+=i; ; printf(“%dn“, s); 程序运行后的输出结果是 _。 ( A) 10 ( B) 13 ( C) 21 ( D)程序进入死循环 16 以下程序的输出结 果是
6、_。 main() int i,j,x=0; for(i=0; i 2;i+) x+; for(j=0;j =3;j+) if(j%2) continue; x+; x+; printf(“x=% dn“,x); ( A) x=4 ( B) x=8 ( C) x=6 ( D) x=12 17 下面程序的执行结果为 _。 main() int a, b; for(a=1, b=1; a=100; a+) if(b =20) break; if(b%3=1) b+=3; continue; b-=5; printf(“%d“, a); ( A) 7 ( B) 8 ( C) 9 ( D) 10 18
7、 有以下程序 main() int a=1, b; for(b=1; b =10; b+) if(a=8)break; if(a%2=1)a+=5; continue; a-=3; printf(“%dn“,b); 程序运行后的输出结果是 _。 ( A) 3 ( B) 4 ( C) 5 ( D) 6 19 feof(fp)函数用来判断 文件是否结束,如果遇到文件结束,则函数值为 _,否则为 _。 20 以下程序的功能是由键盘输入一个文件名,然后把由键盘输入的字符依次存放到该文件中,用 “#”作为结束标志,请在横线处填入正确的内容。 #include stdio.h void main() FI
8、LE*fp; char fname10, ch; printf(“input name of file: n“); gets(fname); if(fp=_)=NULL) printf(“Cant open n“); exit(0); printf(“Enter data: n“); while(ch=getchar()!=#) fputc(_, fp); fclose(fp); 国家二级( C语言)章节练习试卷 22 答案与解析 1 【正确答案】 B 2 【正确答案】 A 3 【正确答案】 C 4 【正确答 案】 B 5 【正确答案】 D 6 【正确答案】 B 7 【正确答案】 C 8 【正确答案】 C 9 【正确答案】 D 10 【正确答案】 D 11 【正确答案】 B 12 【正确答案】 C 13 【正确答案】 B 14 【正确答案】 C 15 【正确答案】 D 16 【正确答案】 B 17 【正确答案】 B 18 【正确答案】 B 19 【正确答案】 非 0 0 20 【正确答案】 fopen(fname,“w“) ch