C语言循环结构练习题_第1页
C语言循环结构练习题_第2页
C语言循环结构练习题_第3页
C语言循环结构练习题_第4页
C语言循环结构练习题_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第5章循环结构程序设计5.1 基本知识点while语句的使用格式和注意事项do-while语句的使用格式和注意事项for语句的使用格式和注意事项break和continue语句在循环语句中的应用循环结构的嵌套使用goto语句实现循环结构穷举法程序设计方法迭代程序设计方法5.2 练习题51 .单项选择题(1)语句while (!e);中的条件!e等价于。A. e=0B. e!=1C. e!=0D. e(2)下面有关for循环的正确描述是。A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判定表达式C.在for循环中,不能用break语句跳出循环体D. for循环

2、体语句中,可以包含多条语句,但要用花括号括起来(3) C语言中。A.不能使用do-while语句构成的循环B. do-while语句构成的循环必须用break语句才能退出C. do-while语句构成的循环,当 while语句中的表达式值为非零时结束循环D. do-while语句构成的循环,当 while语句中的表达式值为零时结束循环(4) C语言中while和do-while循环的主要区别是 。A. do-while的循环体至少无条件执行一次B. while的循环控制条件比 do-while的循环控制条件严格C. do-while允许从外部转到循环体内 D. do-while的循环体不能是复

3、合语句 (5)以下程序段 。int x=-1;dox=x*x;while (!x);A.是死循环B.循环执行二次C.循环执行一次D.有语法错误(6)下列语句段中不是死循环的是 。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)与以下程序段等价的是 。while (a)if (b) continue;c;A. while (a)B.while (c) if (!b) c; if (!

4、b) break;c;C. while (c)D.while(a) if (b) c; if (b) break; c;(8)以下程序的输出结果是 。#include <stdio.h> main()int i;for (i=4;i<=10;i+)if (i%3=0) continue; printf("%d",i);A. 45B. 457810C. 69D. 678910( 9 )以下程序的输出结果是#include <stdio.h> main()int num=0;while (num<=2)num+;printf("%d

5、n",num);A. 1B. 1C. 1D. 12223342. 填空题( 1 )以下程序的运行结果是#include <stdio.h>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=%dn",s);(2)以下程序的运行结果是 #include <stdio.h>main()int i=1,s=3;dos+

6、=i+;if (s%7=0)continue;else+i; while (s<15);printf("%dn",i);(3)以下程序的运行结果是 。#include <stdio.h>main()int i,j;for (i=4;i>=1;i-)printf("*");for (j=1;j<=4-i;j+)printf("*");printf("n");(4)以下程序的运行结果是 。#include <stdio.h>main()int i,j,k;for (i=1;i&

7、lt;=6;i+)for (j=1;j<=20-2*i;j+)printf("");for (k=1;k<=i;k+) printf("%4d",i);printf("n");( 5 )以下程序的运行结果是#include <stdio.h>main()int i,j,k;for (i=1;i<=6;i+)for (j=1;j<=20-3*i;j+) printf(" ");for (k=1;k<=i;k+) printf("%3d",k);for (k

8、=i-1;k>0;k-) printf("%3d",k);printf("n");( 6 )以下程序的运行结果是#include <stdio.h>main()int i,j,k;for (i=1;i<=4;i+)for (j=1;j<=20-3*i;j+) printf(" ");for (k=1;k<=2*i-1;k+) printf("%3s","*");printf("n");for (i=3;i>0;i-)for (j=1;

9、j<=20-3*i;j+) printf(" ");for (k=1;k<=2*i-1;k+) printf("%3s","*");printf("n");3.编程题(1)编写一个程序,求1111之值。23 499 100(2)编写一个程序,求 s=1+(1+2)+(1+2+3)+ +(1+2+3+ +n)的值。(3)编写一个程序,用户输入一个正整数,把它的各位数字前后颠倒一下,并输出颠 倒后的结果。(4)编写一个程序,求出 200到300之间的数,且满足条件:它们三个数字之积为 42,三个数字之和为

10、12。(5)编写一个程序,求出满足下列条件的四位数:该数是个完全平方数,且第一、三位数字之和为10,第二、四位数字之积为12。(6)编写一个程序,求 e的值。11!工2!1n!(7)编写一个程序,求满足如下条件的最大的 n:2_22212 232n2 1000(8)某人摘下一些桃子,卖掉一半,又吃了一只;第二天卖掉剩下的一半,又吃了一 只;第三天、第四天、第五天都如此办理,第六天一看,发现就剩下一只桃子了。编写一 个程序,采用迭代法问某人共摘了多少只桃子。第5章循环结构程序设计练习题1 .单项选择题(1)语句while (!e);中的条件!e等价于 A 。A. e=0B. e!=1C. e!=

11、0D. 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循

12、环的主要区别是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_OA. 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

13、. s=3379;while (s+%2+3%2)s+;( 7 )与以下程序段等价的是_A_ 。while (a)if (b) continue;c;A. while (a) if (!b) c; C. while (c) if (b) c; ( 8 )以下程序的输出结果是_B_ 。#include <stdio.h>main()int i;for (i=4;i<=10;i+)if (i%3=0) continue;COUT<<i;A. 45B. 457810( 9 )以下程序的输出结果是_C_ 。#include <stdio.h>main()int

14、 num=0;while (num<=2)num+;cout<<num<<endl;A. 1B. 12B. while (c) if (!b) break; c; D. while (a) if (b) break; c; C. 69D. 678910C. 1D. 1223342.填空题(1)以下程序的运行结果是_S=7_。#include <stdio.h>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:

15、 break;case 0:case 5: s+=2; break;cout<<s;(2)以下程序的运行结果是i=8#include <stdio.h>main()int i=1,s=3;dos+=i+;if (s%7=0)continue;else+i; while (s<15);Cout<<i;(3)以下程序的运行结果是 。#include <stdio.h>main()int i,j;for (i=4;i>=1;i-)cout<<"*"for (j=1;j<=4-i;j+)cout<&

16、lt;"*"cout<<"n")输出结果:*(4)以下程序的运行结果是#include <stdio.h>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<<i;cout<<endl;)输出结果:122333444455555666666(5)以下程序的运行结果是#include <stdio.h>main()(int i,j,k;for (i=1;i<=6;i+)(for (j=1;j<=20-3*i;j+) cout<<""for (k=1;k<=i;k+) cout«k;for (k=i-1;k>0;k-)cout«k;cout«endl;)输出结果:1121123211234321123454321(6)以下程序的运行结果是#include <stdio.h>m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论