输入下列数据后,程序的输出结果是() abcde<cr> A)abcde b)abe C)abode D)abccdd 11若a、b、c1、c2、x、y、均是整型变量,正确的 switch语句是() A)switch(a+b) B) switch(a*a+b米b) I case 1: y=a+b: break case 0: y=a-b: break case 1: y=a+b: break case 3: y=b-a, break C)switch a D) switch(a-b) i case 1 y=a-b: break ase 2: x=a*d break case cl: case 4: x=a+b: break default: x=a+b case c2: case 1l: y=a-b; break default: y=a*b; break 12写出下面程序输出结果() intx=1,y=0,a=0,b=0 switch(y) case printf( a=d, b=%d\n", a, A)a=2, C)a=1,b=0D)a=2,b=2 13C语言的for语句中的表达式可以部分或全部省略,但两个()不可省略。但当三个表达 均省略后,因缺少判断条件,循环会无限制地进行下去,形成死循环。 14下面有关for循环的正确描述是() A)for循环只能用于循环次数已经确定的情况 B)for循环是先执行循环体语句,后判定表达式 C)在for循环中,不能用 break语句跳出循环体 D)for循环体语句中,可以包含多条语句,但要用花括号括起来 15以下程序段()
} 输入下列数据后,程序的输出结果是( ) abcde<CR> A) abcde B) abcee C) abbde D) abccdd 11 若 a、 b、c1、c2、x、y、均是整型变量,正确的 switch 语句是( ) A) switch(a+b); B) switch(a*a+b*b) { case 1:y=a+b; break; {case 3: case 0:y=a-b; break; case 1:y=a+b;break; } case 3:y=b-a,break; } C) switch a D) switch(a-b) { case 1 :y=a-b; break { case 2: x=a*d; break case c1:case 4:x=a+b;break; default:x=a+b; case c2:case 11:y=a-b;break; } default:y=a*b;break; } 12 写出下面程序输出结果( ) {int x=1, y=0, a=0, b=0; switch(x) {case 1: switch(y) {case 0: a++; case 1: b++; } case 2: a++; b++; } printf("a=%d, b=%d\n", a, b) ; } A) a=2, b=1 B) a=1, b=1 C) a=1, b=0 D) a=2, b=2 13C 语言的 for 语句中的表达式可以部分或全部省略,但两个( )不可省略。但当三个表达 式 均省略后,因缺少判断条件,循环会无限制地进行下去,形成死循环。 A) < B) ++ C) ; D) , 14 下面有关 for 循环的正确描述是( )。 A) for 循环只能用于循环次数已经确定的情况 B) for 循环是先执行循环体语句,后判定表达式 C) 在 for 循环中,不能用 break 语句跳出循环体 D) for 循环体语句中,可以包含多条语句,但要用花括号括起来 15 以下程序段( )。 x=-1; do
I x=x*x: I while(x) A)是死循环B)循环执行2次C)循环执行一次D)有语法错误 16如下的数组中,数组 array占用的内存空间是()个字节 char array[]={'c',"h',’i',’n','a'}; D.不确定 17设有程序段 int k=10: while(k=0)k=k-1 则下面描述正确的是()。 A) while循环执行10次 B)循环是无限循环 C)循环体语句一次也不执行 D)循环体语句执行一次 18下列程序段的运行结果是 int n=0: while(n++<3) intf(%d", n) B.3 D.以上都不对 19设有程序段 hile(printf (*") [t++ if (t<3) break 下面描述正确的是() A)其中循环控制表达式与0等价 B)其中循环控制表达式与’0’等价 C)其中循环控制表达式是不合法的D)以上说法都不对 0下面程序的运行结果是()。 #include <stdio. h maino I int y=10; printf(%d\n", y- B)1 21以下程序段的输出结果是( main i int i=5 for(;i<=15;) f(1%4==0) printf("%d", 1) else continue A.81216 B.812 C.1216 D.8 22以下不是无限循环的语句为()
{ x=x*x;} while(!x) A) 是死循环 B) 循环执行 2 次 C) 循环执行一次 D) 有语法错误 16 如下的数组中,数组 array 占用的内存空间是( )个字节。 char array[]={'c','h','i','n','a'}; A. 1 B. 5 C. 6 D. 不确定 17 设有程序段 int k=10; while(k=0) k=k-1; 则下面描述正确的是( )。 A) while 循环执行 10 次 B) 循环是无限循环 C) 循环体语句一次也不执行 D) 循环体语句执行一次 18 下列程序段的运行结果是( ) int n=0; while(n++<3); printf("%d",n) A. 2 B. 3 C. 4 D. 以上都不对 19 设有程序段 t=0; while(printf("*")); { t++; if (t<3) break; } 下面描述正确的是( )。 A) 其中循环控制表达式与 0 等价 B) 其中循环控制表达式与'0'等价 C) 其中循环控制表达式是不合法的 D) 以上说法都不对 20 下面程序的运行结果是( )。 #include <stdio.h> main() { int y=10; do { y--;} while(--y); printf("%d\n",y--); } A) -1 B) 1 C) 8 D) 0 21 以下程序段的输出结果是( ). main() { int i=5; for ( ;i<=15; ) { i++; if (i%4==0) printf("%d ",i); else continue;} } A. 8 12 16 B. 8 12 C. 12 16 D. 8 22 以下不是无限循环的语句为( )
A) for(y=0, x=1: x>++y: x=i++)i=x B)for C)while(1)(x++ 23有如下语句 int x=3 i printf(%d\n", x=2); while((--x)) 则上面程序段( A.输出的是1 B.输出的是1和-2 C.输出的是3和0 D.是死循环 24以下不是无限循环的是() A.for(y=0,x=1;x>++y;x=i++)i=x; B. for(:: x++=i) C. while(1)x++; D. for(i=10;;i 25以下正确的描述是()。 A) continue语句的作用是结束整个循环的执行 B)只能在循环体内和 switch语句内使用 break语句 C)在循环体内使用 break语句或 continue语句的作用相同 D)从多层循环嵌套中退出时,只能使用goto语句 26以下程序输出结果为() #include stdio. h main lint i, b, k=0 for(i=1;i<=5;i+) while(b-->=0)k++: 1 printf( %d, %\n, k, b) B.8,-1 C.3,0 27以下程序段中循环体总的执行次数是() for(i=7:i; i for(j=0;j<6;j+) A)42 B)21 C)13 28以下不正确的描述是() A. break语句不能用于循环语句和 switch语句外的任何其他语句 B.在 switch语句中使用 break语句或 continue语句的作用相同 C.在循环语句中使用 continue语句是为了结束本次循环,而不是终止整个循环的执行 D.在循环语句中使用 break语句是为了使流程跳出循环体,提前结束循环 ese语句总是和靠它最近的if匹配
A) for(y=0,x=1;x>++y;x=i++) i=x; B) for( ; ;x++=i); C) while(1){x++;} D) for(i=10; ; i--) sum+=i; 23 有如下语句 int x=3; do { printf("%d\n",x-=2);} while(!(--x)); 则上面程序段( ) A. 输出的是 1 B. 输出的是 1 和-2 C. 输出的是 3 和 0 D. 是死循环 24 以下不是无限循环的是( ) A. for(y=0,x=1;x>++y;x=i++) i=x; B. for( ; ;x++=i); C. while(1) x++; D. for(i=10; ;i--) s+=i; 25 以下正确的描述是( )。 A) continue 语句的作用是结束整个循环的执行 B) 只能在循环体内和 switch 语句内使用 break 语句 C) 在循环体内使用 break 语句或 continue 语句的作用相同 D) 从多层循环嵌套中退出时,只能使用 goto 语句 26 以下程序输出结果为( ) #include "stdio.h" main() {int i,b,k=0; for(i=1;i<=5;i++) { b=i%2; while (b-->=0) k++;} printf("%d,%d\n",k,b); } 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 匹配
2 switch语句中一定有 default分支 3case后只能跟常量,不能跟变量 4 break语句的作用就是结束本层循环 do- 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: +ta, b++) printf ("----\n") 执行语句:for(i=1;i++<4;+i);后;变量i的值是5。 2以下程序的运行结果是【】 main o Hint x, y, z: x=1;y=2;z=3: printf("%d, %d", x, y) 3以下程序的运行结果是【】 main lint x, y, z; x=1;y=1;z=0 printf("%d, %d",X, x&&yl Iz) } 4以下程序的运行结果是【】 lint a, b int s, w=0, t if(c>0)s=a+b if(a<=0) {if(b>0) f(c<=0)w=a-b; else if(c>0)w=a-b se printf( %d, %d, %d\n,s, w, t) 5阅读下面程序 canf("%d%d″,&a,&b);
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("----\n"); 执行语句: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,%d",x,y); } 3 以下程序的运行结果是【 】 main() {int x,y,z; x=1;y=1;z=0; x=x||y&&z; printf("%d,%d",x,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("%d,%d,%d\n",s,w,t); } 5 阅读下面程序: main() { int s, t, a, b; scanf("%d%d",&a, &b);
t=1 if(a>0)s=s+1 t=stt, else if (a==b)t=5 printf("s=%d, t=%d", s, t) 6为了使输出结果t=4,输入量a和b应满足的条件是【】 7下面程序的功能是在输入的一批整数中求出最大者,输入0结束循环。 #include <stdio. h>maino scanf(%d", &a) while(【】){if(max<a)max=a;} scanf(%d", &a) printf(%d", max) } 8执行下面的程序段后,k值是【】 k=1:n=263 do kkn%10: n/=10: while(n) 9等差数列的第一项a=2,公差d=3,下面程序的功能是在前n项和中,输出能被4整除的所 有的和。请填空 #include <stdio. h> I int a,d a=2;d=3;sum=0 a+=d if(【】) printf("%dmn",sum) I while(sum<200) 10鸡兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,请填空 y=30-x if(【】) ("%d,%dn”,x,y) 11写出下面程序的运算结果【】 include <stdio. h> main () i int a=14, b=63 while (a!=b) Iwhile (a>b)a-=b
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("s=%d, t=%d", s, t); } 6 为了使输出结果 t=4, 输入量 a 和 b 应满足的条件是【 】 7 下面程序的功能是在输入的一批整数中求出最大者,输入 0 结束循环。 #include <stdio.h>main() { int a,max=0; scanf("%d",&a) while(【 】){ if (max<a) max=a;} scanf("%d",&a); } printf("%d",max); } 8 执行下面的程序段后,k 值是【 】。 k=1; n=263; do { k*=n%10; n/=10; } while(n); 9 等差数列的第一项 a=2,公差 d=3,下面程序的功能是在前 n 项和中,输出能被 4 整除的所 有的和。请填空。 #include <stdio.h> main() { int a,d,sum; a=2;d=3;sum=0; do { sum+=a; a+=d; if (【 】) printf("%d\n",sum); } while(sum<200); } 10 鸡兔共有 30 只,脚共有 90 个,下面程序段是计算鸡兔各有多少只,请填空。 for(x=1;x<=29;x++) { y=30-x; if (【 】) printf("%d,%d\n",x,y); } 11 写出下面程序的运算结果【 】。 # include <stdio.h> main ( ) { int a=14, b=63; while (a!=b) {while (a>b) a-=b;