1、1 设有程序段:int k=10;while(k=0) k=k-1问:循环执行几次?(0)2 设有程序段:int x=0,s=0;while(!x!=0) s+=+x;printf(“%d”,s);则:选择:(B)A 运行程序段后输出 0 B 运行程序段后输出 1 C 程序段中的控制表达式是非法的 D 程序段执行无限次3 语句 while(!E); 中的表达式 !E 等价于(A)A E=0 B E!=1 C E!=0 D E=14、下面程序段的运行结果是:(A)a=1;b=2;c=2;while (abc)t=a;a=b;b=t;c-;printf(“%d,%d,%d”,a,b,c);A 1,
2、2,0 B 2,1,0 C 1,2,1 D 2,1,15 下面程序段的运行结果是:(B)int n=0;while(n+2);printf(“%d”,n);A 2 B 3 C 4 D 有语法错误6 设有程序段(D)t=0;while(printf(“*”)t+;if(t3)break;下面描述正确的是:A 其中循环控制表达式与 0 等价B 其中循环控制表达式与0等价C 其中循环控制表达式是不合法的D 以上说法都不对7 下面程序的功能是在输入的一批正整数中求最大者,输入 0 结束循环,请选择填空(b)main()int a,max=0;scanf(“%d”,while()if(maxa) max
3、=a;scanf(“%d”,printf(“%d”,max);A a=0 B a C !a=1 D !a8 下面程序的运行结果是:main()int num=0;while(num=2)num+;Printf(“%dn”,num);A 1 B 12 C 123 D 12349 若运行一下程序段时,从键盘输入 2473 回车,则下列程序的运行结果是 66697main()int c;while(c=getchar()!=n)switch(c-2)case 0:putchar(c+4);case 1: putchar(c+4);break;case 3: putchar(c+3);default:
4、putchar(c+2);break;printf(“n”);A 668977 B 668966 C 66778777 D 6688766(10)C 语言中,while 和 do-while 循环的主要区别是: (A)A do-while 的循环体至少无条件执行一次B while 的循环控制条件比 do-while 的循环控制条件严格C do-while 允许从外部转到循环体内D do-while 的循环体不能是复合语句(11)x=-1;dox=x*x;while(!x);(C)A 死循环 B 循环执行两次 C 循环执行 1 次 D 有语法错误(12)若有以下语句(-2)int x=3;doprintf(“%dn”,x= -2);while(!(-x);则下列程序段A 输出的是 1 B 输出的是 1 和-2C 输出的是 3 和 0 D 是死循环(13)下面程序的运行结果是:( d)main()int y=10;doy-;While(-y);Printf(%dn”,y-);A -1 B 1 C 8 D 0