C语言试题库循环结构.docx
- 文档编号:1632725
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:25
- 大小:22.87KB
C语言试题库循环结构.docx
《C语言试题库循环结构.docx》由会员分享,可在线阅读,更多相关《C语言试题库循环结构.docx(25页珍藏版)》请在冰豆网上搜索。
C语言试题库循环结构
一、选择题
1.以下叙述正确的是
A:
do-while语句构成的循环不能用其它语句构成的循环来代替。
B:
do-while语句构成的循环只能用break语句退出。
C:
用do-while语句构成的循环,在while后的表达式为非零时结束循环。
D:
用do-while语句构成的循环,在while后的表达式为零时结束循环。
2.下面有关for循环的正确描述是
A:
for循环只能用于循环次数已经确定的情况
B:
for循环是先执行循环体语句,后判定表达式
C:
在for循环中,不能用break语句跳出循环体
D:
for循环体语句中,可以包含多条语句,但要用花括号括起来
3.C语言中while和do-while循环的主要区别是
A:
do-while的循环体至少无条件执行一次
B:
while的循环控制条件比do-while的循环控制条件严格
C:
do-while允许从外部转到循环体;
D:
do-while的循环体不能是复合语句;
4.下列关于switch语句和break语句的结论中,正确的是
A:
break语句是switch语句中的一部分
B:
在switch语句中可以根据需要使用或不使用break语句
C:
在switch语句中必须使用break语句
D:
switch语句是break语句的一部分
5..以下正确的描述是
A:
continue语句的作用是结束整个循环的执行;
B:
只能在循环体和switch语句体使用break语句;
C:
在循环体使用break语句或continue语句的作用相同;
D:
从多层循环嵌套中退出时,只能使用goto语句;
6.语句while(!
e);中的条件!
e等价于
A:
e==0
B:
e!
=0
C:
e!
=1
D:
~e
7.在以下给出的表达式中,与while(E)中的E不等价的表达式是
A:
!
E=0
B:
E>0||E<0
C:
E==0
D:
E!
=0
8.在C语言中,当do-while语句中的条件为()时,结束该循环。
A:
TURE
B:
1
C:
0
D:
非0
9.对于for(表达式1;;表达式3)可理解为
A:
for(表达式1;0;表达式3)
B:
for(表达式1;1;表达式3)
C:
for(表达式1;表达式1;表达式3)
D:
for(表达式1;表达式3;表达式3)
10.以下不是死循环的语句为()
A:
for(y=1,*=1;*>=++y;*++)
B:
for(;;*++)
C:
while
(1){*++;}
D:
for(i=10;;i--)
11.以下不构成无限循环的语句或者与语句组是
A:
n=0;do{++n;}while{n<=0};
B:
n=0;while
(1){n++;}
C:
n=10;while(n);{n--;}
D:
for(n=0,i=1;i++)n+=1;
12.下列循环语句中有语法错误的是
A:
while(*=y)5;
B:
while(0);
C:
do2;while(*==b);
D:
do*++while(*==10);
13.在C语言中,设已定义k为int整型变量,则有下面while循环执行()
次。
k=10;while(k==0)k=k-1;
A:
10
B:
无限
C:
0
D:
1
14.有如下程序
main()
{intn=9;
while(n>6){n--;printf(“%d”,n);}
}
该程序段的输出结果是
A:
987
B:
876
C:
8765
D:
9876
15.以下程序的输出结果是()。
main()
{intn=4;
while(n--)printf("%d",--n);
}
A:
20
B:
31
C:
321
D:
210
16.以下程序的输出结果是()。
main()
{intnum=0;
while(num<=2)
{num++;printf(“%d\n”,num);
}
}
A:
1
2
3
4
B:
1
2
3
C:
1
2
D:
1
17.定义如下变量:
intn=10;则下列循环的输出结果是
while(n>7)
{n--;
printf("%d\n",n);
}
A:
10
9
8
7
B:
9
8
7
6
C:
10
9
8
D:
9
8
7
18.以下程序的输出结果是()
main()
{intnum=0;
while(num<=2)
{num++;
printf(“%d,”,num);
}
}
A:
1,
B:
1,2,
C:
1,2,3,
D:
1,2,3,4,
19.请读程序:
*include
main()
{intmun=0;
while(num<=2)
{num++;printf("%d\n",num);}
}
上面程序的输出结果是
A:
1
2
B:
1
2
3
C:
1
2
3
4
D:
1
20.下面程序片段,退出while循环时,s的值是_____。
inti=0,s=1;
while(i<3)s+=(++i);
A:
7
B:
6
C:
5
D:
4
21.下面程序片段,退出while循环时,s的值是____。
inti=0,s=1;
while(i<3)s+=(i++);
A:
6
B:
5
C:
4
D:
3
22.以下程序的输出结果是()
main()
{int*=0,y=0;
while(*<15)y++,*+=++y;
printf(“%d,%d”,y,*);}
A:
20,7
B:
6,12
C:
20,8
D:
8,20
23.以下程序的输出结果是()
main()
{intn=0;
while(n++<=2);
printf(“%d”,n);
}
A:
2
B:
3
C:
4
D:
有语法错误
24.以下程序的输出结果是()
main()
{intn=10;
while(n>7)
{n--;
printf(“%d,”,n);
}}
A:
10,9,8,
B:
9,8,7,
C:
10,9,8,7,
D:
9,8,7,6,
25.在执行以下程序时,如果从键盘上输入,ABCdef<回车>,则输出为
*include
main()
{charch;
while((ch=getchar())!
='\n')
{if(ch>='A'&&ch<='Z')ch=ch+32;
elseif(ch>='a'&&ch<='z')ch=ch-32;
printf("%c",ch);
}
printf("\n");
}
A:
ABCdef
B:
abcDEF
C:
abc
D:
DEF
26.有以下程序:
*include
main( )
{int y=10;
while(y--);
printf("y=%d\n",y);
}
程序执行后的输出结果是( )。
A.y=0
B.y=-1
C.y=l
D.while构成无限循环
27.以下程序的输出结果是()
main()
{inta=1,b=2,c=2,t;
while(a
printf(“%d,%d,%d”,a,b,c);
}
A:
1,2,0
B:
2,1,0
C:
1,2,1
D:
2,1,1
28.有以下程序段
*include
main()
{
while(getchar()!
=’\n’);
}
以下叙述中正确的是( )。
A.此while语句将无限循环
B.getchar()不可以出现在while语句的条件表达式中
C.当执行此while语句时,只有按回车键程序才能继续执行
D.当执行此while语句时,按任意键程序就能继续执行
29.有以下程序:
*include
main( )
{int a=1,b=2;
while(a<6){b+=a;a4+=2;b%=l0;)
printf("%d,%d\n",a,b);}
程序运行后的输出结果是( )。
A.5,11
B.7,1
C.7,11
D.6,1
30.有以下程序:
*include,
main()
{int S;
scanf("%d",&s);
while(s>O)
{switch(s)
{case l:
printf("%d",s+5);
case 2:
printf("%d",s+4);break;
case 3:
printf("%d",s+3);
default:
("%d",s+1);break;
}
scanf("%d",&s);
}
}
运行时,若输入1 2 3 4 5 0<回车>,由输出结果是( )。
A.6566456
B.66656
C.66666
D.6666656
31.下面的程序
main()
{int*=3;
do{
printf("%d\n",*-=2);
}while(!
(--*));}
A:
输出的是1
B:
输出的是1和-2
C:
输出的是3和0
D:
是死循环
32.以下程序段是()
*=-1;
do
{*=***;}while(!
*);
A:
死循环
B:
循环执行两次
C:
循环执行一次
D:
有语法错误
33.有以下程序段
int*=3
do
{printf(“%d”,*-=2);}
while(!
(--*));
其输出结果是
A:
1
B:
30
C:
1-2
D:
死循环
34.有以下程序段
intn,t=1,s=0;
scanf("%d",&n);
do{s=s+t;t=t-2;}while(t!
=n);
为使此程序段不陷入死循环,从键盘输入的数据应该是()。
A:
任意正奇数
B:
任意负偶数
C:
任意正偶数
D:
任意负奇数
35.下面的程序
main()
{int*=3;
do{
printf("%d\n",*-=2);
}while(!
(--*));}
A:
输出的是1
B:
输出的是1和-2
C:
输出的是3和0
D:
是死循环
36.有如下程序
main()
{int*=23;
do
{printf(“%d”,*--);}
while(!
*);
}
该程序的执行结果是
A:
321
B:
23
C:
不输出任何容
D:
陷入死循环
37.有以下程序
main()
{ints=0,a=1,n;
scanf("%d",&n);
do
{s+=1;a=a-2;}
while(a!
=n);
printf("%d\n",s);
}
若要使程序的输出值为2,则应该从键盘给n输入的值是
A:
-1
B:
-3
C:
-5
D:
0
38.假定a和b为int型变量,则执行以下语句后b的值为
a=1;b=10;
do
{b-=a;a++;}
while(b--
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 试题库 循环 结构
![提示](https://static.bdocx.com/images/bang_tan.gif)