2011年计算机等级二级C语言章节习题及答案(6)
6.11 已知 int t=0; while(t=1) {...} 则以下叙述正确的是 A)循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式不合法 D)以上说法都不对 正确答案: B 6.12 设有以下程序段 int x=0,s=0; while(!x!=0)s+=++x; printf("%d",s); 则 A)运行程序段后输出0 B)运行程序段后输出1 C)程序段中的控制表达式是非法的 D)程序段执行无限次 正确答案: B 6.13 下列程序的输出结果是 #include "stdio.h" main() { int i=6; while(i- -) printf("%d",- -i); printf("\n");} A)531 B)420 C)654321 D)死循环 正确答案: B 6.14 对下Ⅰ,Ⅱ两个语句描述正确的是 Ⅰ.while(1)Ⅱ.for(;;) A)都是无限循环 B)Ⅰ是无限循环,Ⅱ错误 C)Ⅰ循环一次,Ⅱ错误 D)以上答案都错 正确答案: A 6.15 以下程序段的描述,正确的是 x=-1; do {x=x*x;} while(!x); A)是死循环 B)循环执行两次 C)循环执行一次 D)有语法错误 正确答案: C 6.16 若有如下语句 int x=3; do{ printf("%d\n",x-=2);}while(!(- -x)); 则上面程序段 A)输出的是1 B)输出的是1和-2 C)输出的是3和0 D)是死循环 正确答案: B 6.17 下面程序的运行结果是 #include main() { int a=1,b=10; do { b-=a; a++; }while(b- -<0); printf("a=%d,b=%d\n",a,b); } A)a=3,b=11 B)a=2,b=8 C)a=1,b=-1 D)a=4,b=9 正确答案: B 6.18 若运行以下程序时,从键盘输入 ADescriptor(表示回车),则下面程序的运行结果是#include main() {char c; int v0=1,v1=0,v2=0; do{switch(c=getchar()) {case ′a′:case ′A′: case ′e′:case ′E′: case ′i′:case ′I′: case ′o′:case ′O′: case ′u′:case ′U′:v1+=1; default:v0+=1;v2+=1; } }while(c!=′\n′); printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);} A)v0=7,v1=4,v2=7 B)v0=8,v1=4,v2=8 C)v0=11,v1=4,v2=11 D)v0=13,v1=4,v2=12 正确答案: D 6.19 下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。 #include main() { int i=0,j,k; do{ i++; k=316-13*i; }while(______); j=k/11; printf("316=13*%d+11*%d",i,j); } A)k/11 B)k C)k/11==0 D)k==0 正确答案: B 6.20 C语言中 while 和do-while循环的主要区别是 A)do-while的循环体至少无条件执行一次 B)while的循环控制条件比do-while的循环控制条件更严格 C)do-while允许从外部转到循环体内 D)do-while 的循环体不能是复合语句 正确答案: A 6.21 下列说法中错误的是 A)只能在循环体内使用break语句 B)在循环体内使用break语句可以使流程跳出本层循环体,从而提前结束本层循环 C)在while和do…while循环中,continue语句并没有使整个循环终止 D)continue的作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环判断 正确答案: A 相关资料 |