C语言第五章循环习题
更新时间:2024-06-01 22:07:01 阅读量: 综合文库 文档下载
第五章 循环控制
5.1选择题
【题5.1】设程序段 int k=10; while(k=0)k=k-1; 则下面描述中正确的是____.
A)while循环执行10次 B)循环是无限循环 C)循环体语句一次也不执行 D)循环体语句执行一次
【题5.2】设有以下程序段 int x=0,s=0; while(!x!=0) s+=++x; printf(”%d”,s); 则____.
A)运行程序段后输出0 B)运行程序段后输出l C)程序段中的控制表达式是非法的 D)程序段执行无限次
【题5.4】下面程序段的运行结果是___. a=1;b=2;c=2;
while(a
A)1,2,2 B)2,1,0 C)1,2,1 D)2,1,1
【题5.5】下面程序段的运行结果是___. 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
【题5.6】下面程序段的运行结果是___. int n=0;
while(n++<=2); printf(”%d”,n); A)2 B)3 C)4 D)有语法错
【题5.8】下面程序的功能是将从键盘输入的一对数,由小到大排序输出。当输入一对相等数时结束循环,请选择填空。 #include
{ int a,b,t;
scanf(“%d%d”,&a,&b); while([1]) { if(a>b)
{t=a;a=b;b=t;} printf(“%d,%d\\n”,a,b);
scanf(“%d%d”,&a,&b); } } [1]
A)!a=b B)a!=b C)a==b D)a=b
【题5.9】下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,请选择填空。
#include
{ int m=0,n=0; char c;
while(([1])!=‘\n‘)
{ if(c>=’A’&&c<=’Z’ )m++; if(c>=’a’&& c<=’z’) n++; }
printf(”%d\\n”,m [1] A)getchar(c) B)getchar( ) C)c=getchar( ) D)scanf(“%c”,c) [2]A)n:m B)m:n C)m:m D)n:n [题5.11] 下面程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,请选择填空。 #include {int a,max=0; scanf(“%d”,&a); while([1]) {if(max printf(“%d”,max); } [1] A)a==0 B)a C)!a==1 D) !a [题5.12] 下面程序的运行结果是____. #include {int num=0; while(num<=2) {num++; printf(”%d\n”,num); } } A)1 B)1 C) 1 D) 1 2 2 2 3 3 4 [题5.13]若运行以下程序时,从键盘输入2473 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); default:putchar(c+2);break; } } A)668977 B)668966 C)66778777 D)6688766 表示回 [题5.14]C语言中while和do—while循环的主要区别是___。 A)do—while的循环体至少无条件执行一次 B)while的循环控制条件比do—while的循环控制条件严格 C)do—while允许从外部转到循环体内 D)do—while的循环体不能是复合语句 [题5.15] 以下能正确计算1×2×3×?×10的程序段是____. A)do {i=1;s=1; s=s*i; i++; }while (i<=10); B) do{i=1;s=0; s=s*i; i++; }while (i<=10); C) i=1;s=1; do{ s=s*i; i++; }while (i<=10); D) i=1;s=0; do{ s=s*i; i++; }while (i<=10); [题5.16]以下程宇段____. x=-1; do{x=x*x;}while(!x); A)是死循环 B)循环执行二次 C)循环执行一次 D)有语法错误 [题5.17]以下描述中正确的是____。 A)由于do—while循环中循环体语句只能是一条可执行语句,所以循环体内 不能使用复合语句 B) do—while循环由do开始,用while结束,在while(表达式)后面不能写分号 C)在do—while循环体中,一定要有能使while后面表达式的值变为零(”假”)的操作 D)do—while循环中,根据情况可以省略while [题5.18]若有如下语句 int x=3; do{printf(”%d\n”,x-=2);}while(!(- -x)); 则上面程序段___。 A)输出的是1 B)输出的是1和-2 C)输出的是3和0 D)是死循环 [题5.19]下面程序的功能是计算正整数2345的各位数字平方和,请选择填空. #include {int n,sum=0; n=2345; do{sum=sum+[1]; n=[2]; }while(n); printf(“sum=%d”,sum); } [1] A)n B)( n)*( n) C)n/10 D)( n/10)*( n/10) [2] A)n/1000 B)n/100 C) n/10 D)n0 [题5.21]等比数列的第一项a=1,公比q=2, 下面程序的功能是求满足前n项和小于100的最大n,请选择填空。 #include {int a,q,n,sum; a=1;q=2;n=sum=0; do{[1]; ++n;a*=q; }while(sum<100); [2]; printf(“%d\\n”,n); } [1]A)sum++ B)sum+=n C)sum*=n D)a+=sum [2]A)n=n-2 B)n=n C)n++ D)n-=1 [题5.25] 下面程序的运行结果是___. #include {int a=1,b=10; do {b-=a; a++; }while(b- - <0); printf(“a=%d,b=%d\\n”,a,b); } A)a=3,b=11 B)a=2,b=8 C)a=1,b=-1 D)a=4,b=9 [题5.26] 下面有关for循环的正确描述是___. A)for循环只能用于循环次数已经确定的情况 B)for循环是先执行循环体语句,后判断表达式 C)在for循环中,不能用break语句跳出循环体 D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来. [题5.27]对for(表达式1; ;表达式3)可理解为___。 A)for(表达式1;0;表达式3) B)for(表达式1;1;表达式3) C)for(表达式1;表达式1;表达式3) D)for(表达式1;表达式3;表达式3) [题5,28] 若i为整型变量,则以下循环执行次数是___. for(i=2;i==0;) printf(”%d”,i- -); A)无限次 B)0次 C)1次 D)2次 [题5.29] 以下for循环的执行次数是___。 for(x=0,y=0;(y=123)&&(x<4);x++); A)是无限循环 B)循环次数不定 C)执行4次 D)执行3次 [题5.31]下面程序段的运行结果是___。 for(y=l;y<10;) y=((x=3*y,x+1),x-1); printf(“x=%d,y=%d”,x,y); A)x=27,y=27 B) x=12,y=13 C) x=15,y=14 D) x=y=27 [题5.34] 执行语句for(i=1;i++<4; );后变量i的值 [题5.51]下面程序的运行结果是___. #include { int k=0;char c=’A’; do { switch (c++) {case ‘A’:k++;break; case ‘B’:k--; case ‘C’:k+=2;break; case ‘D’:k=k%2;continue; case ‘E’:k=k*10;break; default:k=k/3; } k++; } while(c<’G’); printf(“k=%d\n”,k); } A) k=3 B)k=4 C)k=2 D)k=0 [题5.54]下面程序的运行结果是 #include main() {int i,j,x=0; for(i=0;i<2;i++) {x++; for(j=0;j<=3;j++) {if(j%2)contine; x++; } x++; } printf (“x=%d\\n”,x); } A)x=4 B) x=8 C) x=6 D) x=12 [题5.56]下面程序的运行结果是 main() { int i,j,a=0; for(i=0;i<2;i++) { for(j=0;j<4;j++) {if (j%2) break; a++; } a++; } printf(“%d\\n”,a); } A)4 B) 5 C) 6 D)7 5.2 填 空 题 [题5.57]下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。请填空。 int n=0,c; c=getchar(); while([1]) {if([2]) n++; c=getchar(); } [1] c!=’\\n’ [2] c>=’1’ && c<=’9’ [题5.59]有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?请填空。 #include day=0;x1=1020; while([1]) {x2=[[2];x1=x2;day++;} printf(“day=%d\\n”,day); } [1] x1 [2]x1/2-2 [题5.60]下面程序的功能是用“辗转相除法”求两个正整数的最大公约数。请填空。 #include scanf(”%d%d”,&m,&n); if(m while(r) {m=n,n=r,r=[2];} printf(“%d\n”,n); [1]r=m,m=n,n=r [2]m%n [题5.62] 下面程序的运行结果是____. #include { int a,s,n,count; a=2;s=0;n=1;count=1; while(count<=7) {n=n*a;s=s+n;++count;} printf(“s=%d”,s); } S=254 [题5.63]当运行以下程序时,从键盘键入China? { int v1=0,v2=0;char ch; while ((ch=getchar())!=’#’) switch(ch) {case ‘a’; case ‘h’; default:v1++; case’o’:v2++; } printf(“%d,%d\\n”,v1,v2); } 5,5 [题5.64] 执行下面程序段后,k值是____. k=1;n=263; do{k*=n;n/=10;}while(n); 36 [题5.68] 下面程序的功能是用do—while语句求1至1000之间满足“用3除余2;用5除余3,用7除余2”的数,且一行只打印五个数。请填空。 #include { int i=1;j=0; do{if([1]) {printf(“M”,i); j=j+1; if([2]) printf(“\\n”); } i=i+1; }while(i<1000); } [1]i%3= =2&&i%5= =3&&i%7= =2 [2]j%5==0 [题5.72]当运行以下程序时,从键盘输入1 2 3 4 5 -1 则下面程序的运行结果是___. #include {int k=0,n; do {scanf(”%d”,&n);k+=n;}while(n!=-1); printf(“k=%d n=%d\\n”,k,n); } k=14 n=-1 [题5.77] 鸡兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,请填空 for(x=1;x<=29;x++) {y=30-x; if([1]) printf(“%d,%d\\n”,x,y); } [1]2*x+4*y==90 [题5.79] for循环用以下形式表示: for(表达式1;表达式2;表达式3) 循环体语句 则执行语句for(i=0;i<3;i++) printf(”*”);时,表达式1执行[1]次,表达式3执行[2]次。 [1]1 [2] 3 [题5.80] 下面程序的功能是计算1-3+5-7+?-99+101的值,请填空。 #include {int i,t=1,s=0; for(i=1;i<=101;i+=2) {[1];s=s+t;[2];} printf(“%d\\n”,s); } [1]t=t*i [2]t=-t/i [题5.93] 下面程序的运行结果是____. #include for(i=0;i<=3;i++) { for(j=0;j<=5;j++) {if(i==0||j==0||i==3||j==5)printf(“*”); else printf(“”); } printf(“\\n”); } } * * * * * * * * * * * * * * * * [题5.94] 下面程序的运行结果是____. #include for(i=4;i>=1;i- -) {for(j=1;j<=i;j++)putchar(‘#’); for(j=1;j<=4-i;j++) putchar(‘*’); putchar(‘\\n’); } # # # # } # # # * # # * * # * * * [题5.98]下面程序的功能是计算100至1000之间有多少个数其各位数字之和是5。请填空。 #include {int i,s,k,count=0; for(i=100;i<=1000;i++) { s=0; k=i; while(【1】){s=s+k;k=【2】;} if(s!=5) 【3】; else count++; } printf(“%d”,count); } [1] k [2] k/10 [3] continue [题5.99]下面程序的功能是从键盘输入的10个整数中,找出第一个能被7整除的数。若找到,打印此数后退出循环;若未找到,打印”notexist”。请填空。 #include for(i=1;i<=10;i++) {scanf(”%d”,&a); if(a%7==0) {printf(”%d”,a);【1】; }
正在阅读:
C语言第五章循环习题06-01
Noip初赛复习指南、题目分类解析02-02
EPC项目高层管理团队有效沟通模型构建07-28
我和爸爸的故事作文500字06-23
2017年山东师范大学美术学院336艺术基础考研题库04-28
讲话稿:在全市“两新”组织党建工作全覆盖推进会上的讲话05-24
2019年中国虚拟现实(VR)市场深度调查与投资策略报告(定制版)目录09-15
气压机试车方案101-17
卫生院关于开展“讲政治、敢担当、改作风”第一专题教育情况小结03-12
给六年级自己的一封信(优秀6篇)03-27
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 习题
- 循环
- 语言
- 衡阳市2018年中考历史试题(Word解析版) - 图文
- 幼儿教育小学化的弊端演讲稿
- 2010-2011《信号与系统A》期末考试试卷及答案
- 电子焊接工艺技术
- 浅谈如何更好地加强计算机教学-最新教育资料
- 2018-2019研究方法与论文写作课程学习心得-优秀word范文(1页)
- 2020年高考人民版历史一轮模块1 专题5 第11讲 当今世界政治格局
- 语文结题报告
- 《地基基础结构设计》毕业设计任务书
- 室内改造装饰工程施工组织设计
- 第三章 牙的解剖形态与组织结构特点 - 图文
- h3c-RIP命令 源于官网
- 埃及金字塔练习题(有答案)-(语文版语文五年级)
- 《吸引美女的50个必备技巧+84个精彩实战惯例》
- 电力公司工器具管理制度
- 临沂市八年级上册期末全套试题
- 计算机操作系统期末复习题(答案最全) (2)
- 2020年高考人教版地理一轮课后限时集训25 交通运输方式和布局
- 农户外出务工对农户消费高营养品的实证研究
- 数学教学中创新能力的培养