while循环和do-while循环的主要区别是(

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第4章

一、选择题

1. while循环和do-while循环的主要区别是()。

A. do-while的循环体至少无条件执行一次

B. while的循环控制条件比do-while的控制条件严格

C. do-while允许从循环外部转到循环体内

D. do-while的循环体不能是复合语句

2. 关于for循环的正确描述是()。

A. for循环只能用于循环次数已经确定的情况

B. for循环是先执行循环体语句后判断表达式

C. for循环中不能用break语句结束循环

D. for循环体可以包含多条语句,但必须用花括号括起来

3. 以下正确的说法是()。

A. continue语句的作用是结束整个循环的执行

B. 只能在循环体内和swtich语句体内使用break语句

C. 在循环体内使用break或continue语句的作用相同

D. 从多层嵌套中退出只能使用goto语句

4. 以下描述正确的是()。

A. goto语句只能用于退出多层循环

B. swtich语句中不能使用continue语句

C. 只能用continue语句来终止本次循环

D. 在循环中break语句不能独立出现

5. 求“s=1+2+3+...+9+10”,下列语句中错误的是()。

A. s=0;for(i=1;i<=10;i++) s+=i;

B. s=0;i=1;for(;i<=10;i++) s=s+i;

C. for(i=1,s=0;i<=10;s+=i,i=i+1);

D. for(i=1;s=0;i<=10;i++) s=s+i;

6. 下列语句中,哪一个可以输出26个大写英文字母()。

A. for(a=’A’;a<=’Z’;printf("%c",++a));

B. for(a=’A’;a<’Z’;a++)printf("%c",a);

C. for(a=’A’;a<=’Z’;printf("%c",a++));

D. for(a=’A’;a<’Z’;printf("%c",++a));

7. 有程序段“int k=10;while(k=0) k=k-1;”,则正确的是()。

A. while循环10次

B. 循环是无限循环

C. 循环体一次也不执行

D. 循环体只执行一次

8. 语句“while(!E);”中的表达式!E等价于()。

A. E==0

B. E!=1

C. E!=0

D. E==1

9. 程序段“int n=0; while(n++<=2);printf(“%d ”,n);”的运行结果是()。

A. 2

B. 3

C. 4

D. 1 2 3

10. 程序段“int i=4; while(--i) printf("%d",i);”中循环体将执行()。

A. 3次

B. 4次

C. 0次

D. 无限次

11. 执行“for(s=0,k=1;s<20||k<10;k=k+2) s+=k;”后,s、k的值为()。

A. 25、9

B. 25、11

C. 36、11

D. 36、9

12. 执行“int k=4,s=0; while(--k) s+=k;”后k、s值分别为()。

A. 10、0

B. 0、10

C. 6、0

D. 0、6

13. 执行“float s,x;for(x=0,s=0;x!=10;x=x+0.3)s=s+x;”后,变量x的值()。

A. 远大于10

B. 等于10

C. 小于10

D. 语法错误

14.与while(i>=0&&i<=10) {if(i++==5)continue; printf("%f\n",1.0/(i-5));}功能相同的是()。

A. for(;i>=0&&i<=10;i++) if(i!=5) printf("%f\n",1.0/(i-5));

B. for(;i>=0&&i<=10;i++) if(i==5) printf("%f\n",1.0/(i-5));

C. for(;i>=0&&i<=10;i++) if(i!=5) printf("%f\n",1.0/(i-5)); else break;

D. for(;i<=0&&i>=10;i++) if(i!=5) printf("%f\n",1.0/(i-5));

15. 下面程序段的运行结果是()。

x=y=0;

while(x<15) y++,x+=++y;

printf(“%d,%d”,y,x);

A. 20,7

B. 6,12

C. 20,8

D. 8,20

16. 与while(1){if(i>=100)break;s+=i;i++;} 功能相同的是()。

A. for(;i<100;i++) s=s+i;

B. for(;i<100;i++;s=s+i);

C. for(;i<=100;i++) s+=i;

D. for(;i>=100;i++;s=s+i);

二、填空题

1.循环结构可分为_____循环和_____两种结构,前者是“先判断,后循环”,相应的循环语句有_____和_____,后者是“先循环,后判断”,相应的循环语句有_____。

2. do while循环是一种___型循环,其特点是_____。

3. for循环是一种___型循环,其特点是_____。

4.for语句中表达式1、表达式2和表达式3分别是:__________、__________和__________。

5. 对于同一个循环问题,3种循环语句for、while和do.while_____(随便哪一个都可以/只能是其中一个)实现。

6. for循环中如果有多个变量需要进行初始化,可以使用_____。

7. for循环中的3个表达式_____(是/不是)必需的。

8. 循环的嵌套是指_______________。

9. 在循环嵌套结构中,内层循环执行的次数等于_______________,循环的层数越多,程序执行的速度就越慢。

10. break语句用于_______________,continue语句用于_______________。

三、判断题

1. 循环结构中语句中循环体至少被执行一次。()

2. 复合语句、选择语句和循环语句都可以嵌套使用。()

3. 循环体可以是一个空语句,但不可为空。()

4. 开关语句可以有一个或多个default子句。()

5. for循环结构是一种“当型”循环。()

6. while是一种“先判断,后执行”的循环结构。()

7. do while是一种“当型”循环结构。()

8. for(;;)或while (1)形式的循环都是永久循环。()

9. for循环语句格式中可以使用逗号表达式,它可以给多个变量进行初始化;也允许存在两个或多个循环控制变量。()

10. 没有循环体的循环是不正确的,即不允许有空循环。()

11. continue和break语句功能相同。()

相关文档
最新文档