当前位置:首页 >课程 >C程序设计

1、语句while(!E);中的表达式 !E 等价于______。

A.E==0
B.E!=1
C.E==1
D.E!=0

参考答案:请扫码使用小程序查看答案

2、设有以下程序段 int x=0,s=0; while(!x !=0 ) s+=++x; printf(%d, s); 则______。

A.运行程序段后输出0
B.运行程序段后输出1
C.程序段中的控制表达式是非法的
D.程序段执行无限次

参考答案:请扫码使用小程序查看答案

3、有如下程序 void main() { int n=9; while(n>6) { n--; printf("%d",n); } } 该程序段的输出结果是_____。

A.876
B.987
C.8765
D.9876

参考答案:请扫码使用小程序查看答案

4、下面程序段的运行结果是_____。 x=y=0; while(x<15) y++,x+=++y; printf("%d,%d\n",y,x);

A.20,7
B.6,12
C.20,8
D.8,20

参考答案:请扫码使用小程序查看答案

5、设有程序段: int k=10; while(k=0) k--; 则下列描述中正确的是______。

A.while循环执行10次
B.死循环
C.循环体语句一次也不执行
D.循环体语句执行一次

参考答案:请扫码使用小程序查看答案

6、下面程序段中,循环体的执行次数是______。 int a=10,b=0; do { b+=2; a-=2+b; }while(a>=0);

A.2
B.3
C.4
D.5

参考答案:请扫码使用小程序查看答案

7、下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。 #include void main() { int i=0,j,k; do { i++; k=316-13*i; }while(______); j = k/11; printf("316 = 13* %d + 11 *%d\n", i,j); }

A.k/11
B.k%11
C.k/11==0
D.k%11==0

参考答案:请扫码使用小程序查看答案

8、在C语言中,下列说明正确的是______。

A.do-while构成的循环,当while中的表达式值为零时结束循环
B.do-while构成的循环必须用break才能退出
C.do-while允许从外部转到循环体内
D.do-while的循环体不能是复合语句

参考答案:请扫码使用小程序查看答案

9、下面程序的运行结果是_____。 #include void main() { int y=10; do{ --y; } while(--y); printf("%d\n",y--); }

A.0
B.-1
C.1
D.2

参考答案:请扫码使用小程序查看答案

10、以下描述不正确的是_____。

A.使用while和do-while循环时,循环变量初始化的操作应在循环体语句之前完成
B.while循环是先判断表达式,后执行循环语句
C.do-while 和for循环均是先执行循环语句,后判断表达式
D.for、while 和do-while循环中的循环体均可以由空语句构成

参考答案:请扫码使用小程序查看答案

11、以下不是无限循环的语句是______。

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;

参考答案:请扫码使用小程序查看答案

12、执行语句:for(i=1; i++<4;);后变量i的值是______。

A.3
B.4
C.5
D.不定

参考答案:请扫码使用小程序查看答案

13、以下程序运行后的输出结果是______。 void main() { int s=0,k; for(k=7; k>=0; k--) { switch(k) { case 1: case 4: case 7: s++; break; case 2: case 3: case 6: break; case 0: case 5: s+=2; break; } } printf("s=%d\n",s); }

A.s=5
B.s=1
C.s=3
D.s=7

参考答案:请扫码使用小程序查看答案

14、对for(表达式1;;表达式3)可理解为_____。

A.for(表达式1;0;表达式3)
B.for(表达式1;1;表达式3)
C.for(表达式1;表达式1;表达式3)
D.for(表达式1;表达式3;表达式3)

参考答案:请扫码使用小程序查看答案

15、若i为整型变量,则以下程序的输出结果是______。 for(i=2; i != 0; ) printf("%d ",--i);

A.2 1 0
B.2 1
C.1 0
D.死循环

参考答案:请扫码使用小程序查看答案

16、以下程序段的输出结果是_____。 int k,j,s=0; for(k=2; k<6; k+=2,s=0) { for(j=k; j<6; j++) s+=j; printf("%d\t",s); }

A.14 9
B.14
C.14 23
D.14 9 0

参考答案:请扫码使用小程序查看答案

17、运行以下程序后,如果从键盘上输入:65 14<回车>,则输出结果为______。 void main() { int m,n; printf("Enter m,n:"); scanf("%d%d",&m,&n); while(m!=n) { while(m>n) m-=n; while(n>m) n-=m; } printf("m=%d\n",m); }

A.m=0
B.m=1
C.m=2
D.m=3

参考答案:请扫码使用小程序查看答案

18、若i,j已定义为int型,则以下程序段中内循环的总次数是______。 for(i=3; i; i--) for(j=0; j<2; j++) for(k=0; k<=2; k++) {...}

A.30
B.36
C.27
D.18

参考答案:请扫码使用小程序查看答案

19、下列程序的输出结果是_____。 void main() { int i,j,m=0,n=0; for(i=0; i<2; i++) for(j=0; j<2; j++) if(j>=i) m=1; n++; printf("%d \n",n); }

A.4
B.2
C.1
D.0

参考答案:请扫码使用小程序查看答案

20、以下程序段的运行结果是________。 int i,j; for(i=10; i<16; i++) { for(j=2; j<=(int)sqrt(i); j++) if(!(i%j)) break; if(j>(int)sqrt(i)) printf("%d ",i); }

A.10 11 12 13 14 15
B.10 12 14
C.11 13 15
D.11 13

参考答案:请扫码使用小程序查看答案

21、以下描述正确的是_____。

A.continue语句的作用是结束整个循环的执行
B.只能在循环体内和switch语句体内使用break语句
C.在循环体内使用break和continue语句的作用相同
D.从多层循环嵌套中退出时,可以使用continue语句

参考答案:请扫码使用小程序查看答案

22、以下程序的输出结果是______。 void main() { int i; for(i=1; i<=5; i++) { if(i%2) printf("*"); else continue; printf("#"); } printf("$\n"); }

A.***#$
B.#*#*#*$
C.*#*#*#$
D.**#*$

参考答案:请扫码使用小程序查看答案

23、以下程序的输出结果是______。 void main() { int a,b; for(a=1,b=1; a<=100; a++) { if(b>=10) break; if(b%5==1) { b+=5; continue;} } printf("%d\n",a); }

A.101
B.6
C.4
D.3

参考答案:请扫码使用小程序查看答案

24、下面程序的输出结果是_____。 void main() { int y=9; for( ; y>0; y--) { if(y%3==0) { printf("%d",--y); continue; } } }

A.741
B.852
C.963
D.875421

参考答案:请扫码使用小程序查看答案

25、_____不是程序控制语句,是C语言的标准库函数,但可以用于控制程序的流程。

A.break
B.continue
C.goto
D.exit

参考答案:请扫码使用小程序查看答案

26、exit()函数的作用是________。

A.结束本轮循环
B.终止操作系统
C.结束循环
D.终止程序的执行,强制返回到操作系统

参考答案:请扫码使用小程序查看答案

27、假设整型n已输入值。以下不能正确计算1*2*3*...*n的程序段是_______。 (1) for(i=1,s=1; i<=n; i++) s*=i; (2) i=1;s=1; while(i<=n) s*=i++; (3) i=0,s=1; do{ i++,s*=i; }while(i<=n); (4) for(i=1,s=1; ; i++) { s = s*i, if(i==n) break; }

A.1
B.2
C.3
D.4

参考答案:请扫码使用小程序查看答案

28、下列程序的输出结果是______。 void main() { int num,k,s,temp; num=100,k=1,temp=1,s=0; do{ s=s + num%8*temp; num/=8; temp *=10; }while(num); printf("%d\n",s); }

A.100
B.441
C.144
D.64

参考答案:请扫码使用小程序查看答案

29、假设输入48 18,下列程序的运行结果是_____。 void main() { int n,m,r; scanf("%d%d",&n,&m); do{ r = n%m; n=m,m=r; }while(r); printf("%d\n",n); }

A.12
B.6
C.3
D.2

参考答案:请扫码使用小程序查看答案