C语言循环结构练习题带答案.doc
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 5 章循环结构程序
设计
练习题
1.单项选择题
( 1)语句 while (!e);中的条件!e等价于A。
A. e==0
B. e!=1
C. e!=0
D. ~e
( 2)下面有关for循环的正确描述是D。
A. for循环只能用于循环次数已经确定的情况
B. for循环是先执行循环体语句,后判定表达式
C. 在 for循环中,不能用break 语句跳出循环体
D. for循环体语句中,可以包含多条语句,但要用花括号括起来
(3)C语言中D。
A.不能使用do-while语句构成的循环
B. do-while 语句构成的循环必须用break 语句才能退出
C. do-while 语句构成的循环,当while 语句中的表达式值为非零时结束循环
D. do-while 语句构成的循环,当while 语句中的表达式值为零时结束循环
( 4) C 语言中 while 和 do-while 循环的主要区别是A 。
A. do-while的循环体至少无条件执行一次
B. while的循环控制条件比do-while的循环控制条件严格
C. do-while允许从外部转到循环体内
D. do-while的循环体不能是复合语句
( 5)以下程序段C。
int x=-1;
do
{
x=x*x;
}
while (!x);
A.是死循环
B. 循环执行二次
C. 循环执行一次
D. 有语法错误( 6)下列语句段中不是死循环的是__C__。
A.i=100;
while (1)
{
i=i%100+1;
if (i==20) break;
}
B.for (i=1;;i++)
sum=sum+1;
C.k=0;
do
{
++k;
} while (k<=0);
D.s=3379;
while (s++%2+3%2)
s++;
( 7)与以下程序段等价的是__A__。
while (a)
{
if (b) continue;
c;
}
A.while (a)
B.while (c)
{ if (!b) c; }{ if (!b) break; c; }
C. while (c)
D. while (a)
{ if (b) c; }{ if (b) break; c; }
( 8)以下程序的输出结果是_B___。
#include <>
main()
{
int i;
for (i=4;i<=10;i++)
{
if (i%3==0) continue;
COUT<
}
}
A. 45
B. 457810
C. 69
D. 678910 ( 9)以下程序的输出结果是__C__。
#include <>
main()
{
int num=0;
while (num<=2)
{
num++;
cout< } } A. 1 B. 1 C. 1 D. 1 2 2 2 3 3 4 2.填空题 ( 1)以下程序的运行结果是__S=7__。 #include <> 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; } } cout< } ( 2)以下程序的运行结果是i=8。#include <> main() { int i=1,s=3; do { s+=i++; if (s%7==0) continue; else ++i; } while (s<15); Cout< } ( 3)以下程序的运行结果是____。 #include <> main() { int i,j; for (i=4;i>=1;i--) { cout<<"*"; for (j=1;j<=4-i;j++) cout<<"*"; cout<<"\n"; } } 输出结果: * ** *** **** ( 4)以下程序的运行结果是____。#include <> main() { int i,j,k; for (i=1;i<=6;i++) { for (j=1;j<=20-2*i;j++) cout<<" "; for (k=1;k<=i;k++) cout< cout< }