B) 只能在循环体内和switch语句内使用break语句 C) 在循环体内使用break语句或continue语句的作用相同 D) 从多层循环嵌套中退出时,只能使用goto语句 26以下程序输出结果为( ) #include \ main() {int i,b,k=0; for(i=1;i<=5;i++) { b=i%2;
while (b-->=0) k++;} printf(\ }
A. 3,-1 B. 8,-1 C. 3,0 D. 8,-2 27以下程序段中循环体总的执行次数是( ) int i,j; for(i=7;i;i--) for(j=0;j<6;j++) {......} A) 42
B) 21
C) 13
D) 36
28以下不正确的描述是( ) A. break 语句不能用于循环语句和switch语句外的任何其他语句 B. 在switch语句中使用break语句或continue语句的作用相同
C. 在循环语句中使用continue语句是为了结束本次循环,而不是终止整个
循环的执行
D. 在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环
1else语句总是和靠它最近的if匹配。 2switch语句中一定有default分支 3case后只能跟常量,不能跟变量 4break语句的作用就是结束本层循环。
5do-while语句构成的循环不能用其它语句构成的循环来代替。
6用do-while语句构成循环时,只要while后的表达式为0时就结束循环。 7for(表达式1;表达式2;表达式3)中,表达式1和表达式3不能同时都是逗号表达式。
8for循环中,如果表达式2为空,则该循环一定是死循环。
9while循环的while()后没有分号,而do-while循环的while()后一定要有一个分号。
10for(i=0,j=10;i<=j;i++,j--) k=i+j;执行完后,k的值为50。 1若a、b均为int型变量,且a=100,则以下的for循环是死循环. for (b=100;a!=b;++a,b++) printf(\执行语句:for(i=1;i++<4;++i);后;变量i的值是5。 2以下程序的运行结果是【 】 main()
{int x,y,z; x=1;y=2;z=3; x=y--<=x||x+y!=z; printf(\,%d\,y); }
3以下程序的运行结果是【 】 main() {int x,y,z; x=1;y=1;z=0;
x=x||y&&z;
printf(\,%d\,x&&!y||z); }
4以下程序的运行结果是【 】 main() {int a,b,c; int s,w=0,t; a=-1;b=3;c=3; if(c>0)s=a+b; if(a<=0) {if(b>0)
if(c<=0)w=a-b; }
else if(c>0)w=a-b; else t=c;
printf(\}
5阅读下面程序: main()
{ int s, t, a, b; scanf(\ s=1; t=1;
if(a>0) s=s+1; if(a>b) t=s+t; else if (a==b) t=5; else t=2*s;
printf(\}
6为了使输出结果t=4, 输入量a和b应满足的条件是【 】
7下面程序的功能是在输入的一批整数中求出最大者,输入0结束循环。 #include
while(【 】){ if (max printf(\} 8执行下面的程序段后,k值是【 】。 k=1; n=263; do { k*=n; n/=10; } while(n); 9等差数列的第一项a=2,公差d=3,下面程序的功能是在前n项和中,输出能被4整除的所有的和。请填空。 #include if (【 】) printf(\} while(sum<200); } 10鸡兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,请填空。 C) y=-1 D) y=0; if(x) if(x>=0) if(x>0)y=1; if(x>0)y=1; else if(x==0)y=0; else y=-1; for(x=1;x<=29;x++) { y=30-x; if (【 】) printf(\} 11写出下面程序的运算结果【 】。 # include { int a=14, b=63; while (a!=b) {while (a>b) a-=b; while (a printf (\ } 12下列程序的输出为【 】。 #include int i,j,x=0; for(i=0;i<3;i++) { if(i%3==2) break; x++; for(j=0;j<4;j++) { if(j%2) break; x++; } x++; } printf(\} C语言(分支和循环结构)二 以下程序的输出结果是( ) main( ) { int a=-1,b=1,k; if((++a<0)&&!(b--<=0)) printf(\,a,b); else printf(\,b,a); } A) -1 1 B) 0 1 C) 1 0 D) 0 0 与 y=(x>0?1:x<0?-1:0);的功能相同的if语句是( ) A) if (x>0) y=1; B) if(x) else if(x<0)y=-1; if(x>0)y=1; else y=0; else if(x<0)y=-1; else y=0; else y=-1; 若执行以下程序时从键盘上输入9,则输出结果是( ) main() { int n; scanf(\ if(n++<10) printf(\ else printf(\} A) 11 B) 10 C) 9 D) 8 若i为int型,且有程序如下,则输出结果是( ) i=111; if(i%3==0); printf(\ printf(\ A) #### B) **** C) ####**** D) 无输出结果 请读下面程序: main() {int x=1, y=2, z=3; x+=y+=z; printf(\ printf(\} 程序输出结果为( ) A) 5 4 B) 4 5 C) 5 6 D) 6 5 在C语言的if语句中,用作判断的表达式为( ) A) 关系表达式 B) 逻辑表达式 C) 算术表达式 D) 任意表达式 若变量都已正确说明,则以下程序段输出为( ) int a=1,b=2,c,d; if (a=b) c=d=a; else c=b;d=b; printf(\A)c=1,d=1 B)c=1,d=2 C)c=2,d=1 D)c=2,d=2 以下程序的输出结果是( ) main() {int a=100,x=10,y=20,a1=5,a2=0 if(x if(a2) a=10; a=-1; printf(\ A)1 B) 0 C) 10 D)-1 若w、x、y、z、m均为int型变量,则执行下面语句后的m值是( ) w=1;x=2;y=3; z=4; m=(w A)1 B)2 C)3 D)4 若有定义: float w; int a, b; 则合法的switch语句是( ) A) switch(w) B) switch(a); { case 1.0: printf(\ case 2.0: printf(\} } C) switch(b) D) switch(a+b); { case 1: printf(\ default: printf(\ case 1+2: printf(\} } 若输入B,以下程序的运行结果为 ( ) main() { char grade; scanf(\ switch(grade) { case 'A': printf(\ case 'B': case 'C': printf(\ case 'D': printf(\ default: printf(\} A) >=85 B) >=60 C) >=60 D) error. <60 error. 选择出i的正确结果( ) int i=10; switch(i) { case 9: i++; case 10: i+=1; case 11:i++; default: i+=1; } A) 10 B) 11 C) 12 D) 13 C语言的do_while循环中,循环由do开始,用while结束;而且在while表达式后面的( ) 不能丢,它表示d0_while循环的结束。 A) \\n B) ; C) % D) , C语言的do_while循环中,循环由do开始,用while结束;而且在while表达式后面的( ) 不能丢,它表示d0_while循环的结束。 A) \\n B) ; C) % D) , 以下程序的输出结果是( )。 #include { int num=0; while(num<=2) { num++; printf(\} } A) 1 B) 1 C) 1 D) 1 2 2 2 3 3 4 以下程序的输出为( ) # include printf (\ A. y=0 B. 无限循环,无结果输出 C. y=1 D. y=-1 设有程序段 int x=0,s=0; while(!x!=0) s+=++x; printf(\则( )。 A) 运行程序段后输出0 B) 运行程序段后输出1 C) 程序段中的控制表达式是非法的 D) 程序段执行无限次下面程序段的运行结果是( )。 a=1;b=2;c=2; while(a {t=a; b=a; a=t; c--; } printf(\A) 1,2,0 B) 2,1,0 C) 1,2,1 D) 2,1,1 以下能正确计算1×2×3×4...×10的程序段是( )。 A) do {i=1; s=1; s=s*i; i++; } while(i<=10) B) do {i=1; s=0; s=s*i; i++; } while(i<=10) C) i=1; s=1; do {s=s*i; i++; } while(i<=10) D) i=1; s=0; do {s=s*i; i++; } while(i<=10) 下面程序的运行结果是( )。 #include { int a=1,b=10; do {b-=a; a++;} while(b--<0); printf(\} A) a=3,b=11 B) a=2,b=8 C) a=1,b=-1 D) a=4,b=9 若i为整型变量,则以下循环执行的次数是( )。 for(i=2;i==0;) printf(\A) 无限次 B) 0次 C) 1次 D) 2次 下面程序段的运行结果是( )。 for(y=1;y<10;) y=((x=3*y, x+1), x-1); printf(\A) x=27,y=27 B) x=12,y=13 C) ) x=15,y=14 D) x=y=27 以下的for循环( ) for(x=0,y=0;(y!=123)&&(x<4);x++); A. 执行3次 B. 执行4次 C. 循环次数不定 D. 是无限循环 下列程序段不是死循环的是( )。 A) int i=100; while(1) {i=i0+1; if (i>100) break;} B) for( ; ; ); C) int k=0; do { ++k;} while(k>=0); D) int s=36; while(s) ;--s; 下面程序段( )。 for(t=1;t<=100;t++) {scanf(\ if (x<0) continue; printf(\ } A) 当x<0时整个循环结束 B) x>=0时什么也不输出 C) printf函数永远也不执行 D) 最多允许输出100个非负整数 以下为死循环的程序段是( )。 A) for(i=1; ; ) {if (++i%2==0) continue; if (++i%3==0) break; } B) i=32767; do { if (i<0) break;} while(++i); C) for(i=1; ; ) if (++i<10) continue; D) i=1; while(i--); 若有如下程序段 int m=15; while(!m==0) {m+=m; printf(\以下说法中正确的是( )。 A) 循环体语句执行一次。 B) 循环执行无限次 C) 循环体语句一次也不执行 D) 循环执行两次 下面程序的运行结果是( ). #include while(b-->=0) k++; } printf(\ } A) 3,-1 B) 8,-1 C) 3,0 D) 8,-2 语句if(a) x=1;与 if(a==0)x=1;等价 switch语句中的default分支一定放在最后 while语句do-while语句无论什么情况下,二者的执行结果都一样。 C语言的while、do-while和for几个循环语句,可以进行相互嵌套。 do-while语句构成的循环只能用break语句退出。 for( ; ; ) {循环体} 永远是一个死循环。 要使for(表达式1;表达式2;表达式3){循环体}不形成死循环,表达式2一定不能为空。 while循环和do-while循环的while()后一定要有一个分号。 C语言程序的三种基本结构是嵌套结构、递归结构、顺序结构。 C语言中while与do-while语句的主要区别是do-while的循环体至少无条件执行一次。 语句 x=3; do {printf(\的执行结果是3。 以下循环for (i=0; i<10;printf(\ i++; printf(\是死循环。 以下程序的运行结果是【 】 main() {int a,b; int i=5,j=7,k=0; a=!k; b=i!=j; printf(\,a,b); } 以下程序的运行结果是【 】 main() {if(2*1==2<2*2==4) printf(\; else printf(\; } 以下程序的运行结果是【 】 main() {int a,b,c,d; a=c=0; b=1; d=20; if(a)d=d-10; else if(!b) if(! c)d=15; else d=25; printf(\,d); } 若运行时输入:3 5 /<回车>,则以下程序的运行结果是【 】 main() {float x,y; char o; double r;