《2022年C语言循环习题 2.pdf》由会员分享,可在线阅读,更多相关《2022年C语言循环习题 2.pdf(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、循环习题集锦一选择题1for(i=0;i10;i+); 结束后, i 的值是;A 9 B 10 C 11 D 122下面程序的循环次数是:#include void main() int k=0;while(k10)if(k1) continue;if(k=5) break;k+; printf(“ k=%dn” ,k); A. 5 B 6 C 4 D 死循环,不能确定循环次数3下面程序的输出结果是()#include void main()int s,k;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - -
2、 - - - - 第 1 页,共 19 页 - - - - - - - - - for(s=1,k=2;k5;k+)s=s+k;printf(“%dn”,s);A 1 B 9 C 10 D 154.要使下面程序输出10 个整数,则在下画线处填入正确的数是:#include void main() int i; for(i=0;i= ;)printf(“ n”,i= i+2); (显示的是: 2,4,6,8,10,12, ,20)A 9 B 10 C 18D 205.运行下面程序:#include void main() int i=10,j=0;do j=j+i; /*第一: 10,第二: 1
3、9第三: 27 第四: 34 第五: 40*/名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 19 页 - - - - - - - - - i-;while(i5);printf(“%dn”,j);输出结果是:A 45 B 40 C 34 D 556运行下面程序#include main() int k=0,a=1;while(k10) for( ; ;) if(k%10)=0)/* 当循环开始的时候时,k=0,此时和 10取 3 余的结果就等于0,就跳出了 for 循环
4、开始下面的循环 */break;elsek-;k=k+11;a=a+k;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 19 页 - - - - - - - - - printf(“k=%d n n”,k,a);则输出的结果是()A 21 32 B 21 33 C 11 12 D 10 117以下叙述正确的是:A do-while 语句构成的循环不能用其他语句构成的循环来代替。B do-while 语句构成的循环只能用break语句退出。C用 do-while 语句构成的
5、循环,在while 后的表达式为非零时结束循环。D用 do-while 语句构成的循环,在while 后的表达式为零时结束循环。8有如下程序:#include void main() int x=3;doprintf(“x=%dn” ,x-);/* 如果 x 的在 x 的前面则结果就是显示的是 2*/while(!x);/*!x表示不是上面的x*/名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 19 页 - - - - - - - - - 该程序的执行结果是:A 3 2
6、1 B 2 1 0 C 3D 2 9若 k 为整型变量,则下面while循环执行的次数为:k=10;while(k=0) k=k-1;A 0 B 1 C 10 D 无限次10下面有关 for 循环的正确描述是Afor 循环只能用于循环次数已经确定的情况Bfor 循环是先执行循环体语句,后判断表达式C在 for 循环中,不能用 break语句跳出循环体。Dfor 循环的循环体语句汇总,可以包含多条语句,但必须用花括号括起来。11对 for(表达式 1;表达式 3)可理解为A for(表达式 1;0;表达式 3) B for(表达式 1;1;表达式 3)C for(表达式 1;表达式 1;表达式
7、3) D for(表达式 1;表达式 2;表达式 3)12若 i 为整型变量,则以下循环执行的次数是()for(i=2;i=0;)printf(“%d ”,i-);A无限次B 0 次C 1 次D 2 次名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 19 页 - - - - - - - - - 13以下循环体的执行次数是;main()int i,j;for(i=0,j=3;i=j;i=i+2,j-)printf(“n”,i);A 3 B 2 C 1 D 014.执行以下程
8、序后,输出结果是:main() int y=10;do y-;while(-y);printf(“%d ”,y-);A -1 B 1 C 8 D 015 以下程序的输出结果是:main() int a,b;for(a=1,b=1;a=10) break;if(b%3=1) b=b+3; continue; printf(“%d ”,a);A 101 B 3 C 4D 5二、填空题1循环的 3 个常见语句分别是?for while dowhile2下面程序的运行结果为:main() int a=10,y=0;doa+=2;y+=a;if(y50) break;while(a14);printf(
9、“a=%d,y=%dn”,a,y); a=14 y=26名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 19 页 - - - - - - - - - 3.从键盘输入 1 2 3 4 5 -1 回车,则下面程序运行的结果是:main() int n,k=0;do scanf(“%d ”,&n);k+=n;while(n!=-1);printf(“k=%dn,n=%dn”,k,n); k=12344 n=-14.下面程序的运行结果为:main()int i,j,s=0;for
10、(i=1,j=5;ij;i+,j-)s+=i*10+j;printf(“%dn”,s); 395下面程序的运行结果是main()int i=10,s=0;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 19 页 - - - - - - - - - for(;-i;)if(i%3=0)s+=i;s+;printf(“ns=%d”,s); s=196.下面程序的运行结果是main()int a=2,n=5,s;s=a;for(;-n;)s=s*10+a;printf(“%d
11、”,s); 22222? 7.下面的程序运行时,循环体语句“a+”运行的次数为:main() int i,j,a=0;for(i=0;i=0;j-)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 19 页 - - - - - - - - - a+; printf (“ a=%dn” ,a); 10 8.下面的程序运行后, a 的值为:main() int i,j,a=0;for(i=0;i=0;j-) a+; 79.下面程序的运行结果为:int i=1,s=3;dos+=
12、i+;if(s%7=0) continue;else +i;while(s15);printf(“%d ”,i);810.当运行以下程序时,从键盘输入China# 回车,则下面程序的运行结果是:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 19 页 - - - - - - - - - #include “stdio.h”main() int v1=0,v2=0;char c;while(c=getchar()!=?#?) switch(c) case ,a?:case
13、 ,h?:default:v1+;case ,o?:v2+;printf(“%d,%dn”,v1,v2); 5,5三、改错题1for(i-0,i5,i+) j+; for(i-0 ;i5;i+) j+;2while(j10); j+;i=j; while(j10) ;/*不要分号 */j+;i=j;3do j+;a=j;while(j10) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 19 页 - - - - - - - - - do j+;a=j;while(j1
14、0) ;/*必须要有分号 */4. 用下面程序来实现5!int s=1,i=1;while(i=5)s*=i;i+; /*在做循环时,循环体必须用大括号括起来*/ 5.下面程序段实现求半径r=1 到 r=10 的圆面积,直到面积大于100为止。for(r=1;r100) continue;/*当完成循环任务时,应该用break来终止循环 */printf(“%fn”,s);四、编程题1求 1-2+3-4+99-100。#include #include void main() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师
15、精心整理 - - - - - - - 第 12 页,共 19 页 - - - - - - - - - int i,sum,m; m=1; sum=0; for(i=1;fabs(m)=99;i+) m=i*pow(-1,i-1); sum=sum+m; printf(sum=%dn,sum); 2. 任意输入 10 个数,分别计算输出其中的正数和负数之和。#include void main() int m,n,k,i; k=0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13
16、 页,共 19 页 - - - - - - - - - n=0; for(i=1;i0) k=k+m; else n=n+m; printf( 负数和 n=%dn 正数和 k=%dn,n,k); 3计算 1-100 以内的所有含 6 的数的和。#include void main() int m=0,n=0, i,j; for(i=0;i=9;i+) for(j=0;j=9;j+) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 19 页 - - - - - - - -
17、 - if (i=6|j=6) n=n+i*10+j; printf(%6d,i*10+j); printf(%dn,n); printf(%dn,6+16+26+36+46+56+66+76+86+96+60+61+62+63+64+65+67+68+69); 4输出所有的 3 位水仙花数。所谓水仙花数是指所有位的数字的立方之和等于该数,例如:153=13+33+53 #include void main() int m,n,k,i,j,p=0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - -
18、 - - 第 15 页,共 19 页 - - - - - - - - - for(i=1;i=9;i+) for(j=0;j=9;j+) for(k=0;k=9;k+) m=i*100+j*10+k; n=i*i*i+j*j*j+k*k*k; if(m=n) printf( 所有 3 位数中第 %d 水仙花数为 %dnf,+p,m); 5 编写程序输出下面图形。1234567890 #include void main() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共
19、 19 页 - - - - - - - - - int i,j,t=0; for(i=0;i4;i+) /控制整个数组的行数 for(j=0;j=i;j+) /使整个数字从 1 开始循环 t=t+1; /用 t 表示要输出的数字if(t=10)printf(0); else printf(%d,t); /将 10转换为 0 printf(n); /控制换行 6 编写程序输出下面图形*名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 19 页 - - - - - - - -
20、 - *#include void main() int i,j,m,n; for(i=0;i=i;m-) printf( ); /输入相应的空格数,使每一行的符号相应的减少for(n=6;n5-i*2;n-) printf(*); /输入相应的 *个数printf(n); for(j=0;j4;j+) /显示总共有几行符号 for(m=1;m=j;m+) printf( ); /输入相应的空格数,使每一行的符号相应名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 19 页 - - - - - - - - - 的减少for(n=0;n7-j*2;n+) printf(*); /输入相应的 *个数printf(n); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 19 页 - - - - - - - - -