type
status
date
slug
summary
tags
category
icon
password
一.单选题(total25 questions,100.0mark)
1
【Single Choice】设有以下程序main( ){ int x=0,s=0; while(!x!=0) {x++; s=s+x; } printf("%d",s);}则该程序的运行情况是( ).
• A、运行程序后输出0
• B、运行程序后输出1
• C、程序中的控制表达式是非法的
• D、程序执行无限次
My Answer:B:
运行程序后输出1
;
2
【Single Choice】有以下程序:#include "stdio.h"main( ){ int c; while((c=getchar( ))!='\n') { switch(c-'2') { case 0: case 1:putchar(c+4); case 2:putchar(c+4);break; case 3:putchar(c+3); case 4:putchar(c+3);break; } } printf("\n"); }程序运行时输入:2743后回车,程序的输出结果是( ).
• A、66877
• B、668966
• C、6677877
• D、6688766
My Answer:A:
66877
;
3
【Single Choice】以下while循环中,循环体执行的次数是( ).k=0;while(k) k=10;
• A、10次
• B、无限次
• C、1次
• D、一次也不执行
My Answer:D:
一次也不执行
;
4
【Single Choice】以下程序的输出结果是( ).main( ){ int a,i;a=0; for(i=1;i<5;i++) { switch(i) { case 0: case 3:a+=2; case 1: case 2:a+=3; default:a+=5; } } printf("%d\n",a); }
• A、31
• B、13
• C、10
• D、20
My Answer:A:
31
;
5
【Single Choice】下列程序的输出结果是( ).main( ){ int i,a=0,b=0; for(i=1;i<10;i++) if(i%2==0) a++; else b++; printf("a=%d,b=%d",a,b); }
• A、a=4,b=4
• B、a=4,b=5
• C、a=5,b=4
• D、a=5,b=5
My Answer:B:
a=4,b=5
;
6
【Single Choice】若变量已正确定义,则下面程序段的输出结果是( ).i=0;do printf("%d,",i);while(i);printf("%d\n",i);
• A、0,0
• B、0,1
• C、1,1
• D、程序进入无限循环
My Answer:A:
0,0
;
7
【Single Choice】现有如下程序main( ){ int k[30]={12,324,45,6,768,98,21,34,453,456}; int count=0,i=0; while(k[i]) { if(k[i]%2==0‖k[i]%5==0) count++; i++; } printf("%d,%d\n",count,i);}则程序的输出结果为( ).
• A、7,8
• B、8,8
• C、7,10
• D、8,10
My Answer:D:
8,10
;
8
【Single Choice】有如下程序:main( ){ int n=9; while(n>6) {n--; printf("%d",n);}}该程序的输出结果是( ).
• A、987
• B、876
• C、8765
• D、9876
My Answer:B:
876
;
9
【Single Choice】已知:int t=0;while (t=1){...}则以下叙述正确的是( ).
• A、循环控制表达式的值为0
• B、循环控制表达式的值为1
• C、循环控制表达式不合法
• D、以上说法都不对
My Answer:B:
循环控制表达式的值为1
;
10
【Single Choice】设有程序段 int k=10; while(k=0)k=k-1;下面描述中正确的是( ).
• A、while循环执行10次
• B、循环是无限循环
• C、循环体语句一次也不执行
• D、循环体语句执行一次
My Answer:A:
while循环执行10次
;
11
【Single Choice】下列说法中错误的是( ).
• A、只能在循环体内使用break语句
• B、在循环体内使用break语句可以使流程跳出本层循环体,从而提前结束本层循环
• C、在while和do…while循环中,continue语句并没有使整个循环终止
• D、continue的作用是结束本次循环,即跳过本次循环体中尚未执行的语句,接着再一次进行循环判断
My Answer:B:
在循环体内使用break语句可以使流程跳出本层循环体,从而提前结束本层循环
;
12
【Single Choice】执行下面的程序后,a的值为( ).main( ){ int a,b; for(a=1,b=1;a<=100;a++) { if(b>=20)break; if(b%3==1) b+=3; else b-=5; } }
• A、7
• B、8
• C、9
• D、10
My Answer:B:
8
;
13
【Single Choice】以下程序的输出结果是( ).main( ){ int i; for(i=0;i<3;i++) switch(i) { case 0: printf("%d",i); case 2: printf("%d",i); default: printf("%d",i); }}
• A、022111
• B、021021
• C、000122
• D、012
My Answer:C:
000122
;
14
【Single Choice】有以下程序main( ){ int y=9; for( ; y>0;y--) if(y%3==0) { y--; printf("%d",y); } }程序的运行结果是( ).
• A、741
• B、963
• C、852
• D、875421
My Answer:C:
852
;
15
【Single Choice】执行下列程序后,输出的结果是( ).main( ){ int x=9; do { printf("%d",x); x--;}while(!x);}
• A、8
• B、9
• C、陷入死循环
• D、不输出任何内容
My Answer:B:
9
;
16
【Single Choice】以下描述中正确的是( ).
• A、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
• B、do-while循环由do开始,用while结束,在while(表达式)后面不能写分号
• C、在do-while语句中,是先执行循环体语句,再进行循环条件判断
• D、do-while循环中,根据情况可以省略while
My Answer:A:
由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
;
17
【Single Choice】以下程序段( ). x=-1; do{ x=x*x; printf("%d",x); }while(!x);
• A、是死循环
• B、循环执行二次
• C、循环执行一次
• D、有语法错误
My Answer:C:
循环执行一次
;
18
【Single Choice】有以下程序:main( ){ int x=0,y=0,i; for (i=1;;++i) { if (i%2==0) x++; else if (i%5==0) { y++;break;} } printf ("%d,%d",x,y); }程序的输出结果是( ).
• A、2,1
• B、2,2
• C、2,5
• D、5,2
My Answer:A:
2,1
;
19
【Single Choice】下面的表达式while(!x)中的表达式 !x 与下面条件( )等价.
• A、x==0
• B、x==1
• C、x==0||x==1
• D、x!=0
My Answer:A:
x==0
;
20
【Single Choice】以下叙述正确的是( ).
• A、continue语句的作用是结束整个循环的执行
• B、只能在循环体内和switch语句体内使用break语句
• C、在循环体内使用break语句或continue语句的作用相同
• D、从多层循环嵌套中退出时,只能使用goto语句
My Answer:A:
continue语句的作用是结束整个循环的执行
;
21
【Single Choice】若有如下语句 int x=3; do { x=x-2; printf("%d\n",x); x--;}while(!x);则上面程序段( ).
• A、输出的是1
• B、输出的是1和-2
• C、输出的是3和0
• D、是死循环
My Answer:B:
输出的是1和-2
;
22
【Single Choice】以下程序的运行结果为( ).main( ){ int m,n; for(m=0,n=10;m<n;m+=3,n--); printf("%d,%d\n",m,n);}
• A、6,7
• B、7,6
• C、9,7
• D、7,9
My Answer:C:
9,7
;
23
【Single Choice】有以下程序:main( ){ int i,s=1; for (i=1;i<50;i++) if(!(i%5)&&!(i%3)) s+=i; printf("%d\n",s); }程序的输出结果是( ).
• A、409
• B、277
• C、1
• D、91
My Answer:D:
91
;
24
【Single Choice】有以下程序main( ){ int i,j,m=55; for(i=1;i<=3;i++) for(j=3;j<=i;j++) m=m%j; printf("%d\n",m);}程序的运行结果是( ).
• A、0
• B、1
• C、2
• D、3
My Answer:B:
1
;
25
【Single Choice】有以下程序
main( )
{ int k=5,n=0;
do
{
switch(k)
{ case 1: case 3:n+=1;k--;break;
default: n=0;k--;
case 2: case 4:n+=2;k--;break;
}
printf("%d",n);
}while(k>0 && n<5);
}
• A、235
• B、0235
• C、02356
• D、2356
My Answer:A
- 作者:嘻咦啊呀
- 链接:https://blog.zhcn.xyz/article/C语言程序设计 测验题四
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。