当前位置:首页 >> 其它课程 >>

c语言循环训练一


10 计 2 C 语言循环复习练习(一) 例 1:语句 while(!E);中的!E 等价于 A)E= =0 B)E!=1 C)E!=0 D)E= =1 例 2:设有以下程序段 int x=0,s=0; while(!x!=0) s+=++x; printf("%d",s); 则 。 A)运行程序段后输出 0 B)运行程序段后输出 1 C)循环的控制表达式不正

确 D)程序段执行无限次 例 3:下面程序段的运行结果是 a=1;b=2;c=2; while(a<b<c){t=a;a=b;b=t;c--;} printf("%d,%d,%d",a,b,c); A)1,2,0 B)2,1,0 C)1,2,1 D)2,1,1 例 4:下面程序段的运行结果是 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:下面程序段的运行结果是 int n=0; while(n++<=2); printf("%d",n); A)2 B)3 C)4 D)语法错误 例 7:设有程序段 t=0; while(printf("*")) {t++; if(t<3) break;
江苏省高淳中等专业学校









1

张建青

10 计 2 C 语言循环复习练习(一) } 下面描述正确的是 。 A)其中循环控制表达式与 0 等价 B)其中循环控制表达式与'0'等价 C)其中循环控制表达式是不合法的 D)以上说法都不对 例 8:下面程序的运行结果是 。 #include <stdio.h> main() {int y=10; do {y--;}while(--y); printf("%d\n",y--); } A)-1 B)1 C)8 D)0 例 9:下面程序的运行结果是 。 #include <stdio.h> main() {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 例 10:若运行以下程序时,从键盘输入 2473,则下面程序的运行结果是 。 #include "stdio.h" {int c; 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; } printf("\n");} A)668977 B)668966 C)66778777 D)6688766 例 11:下面程序的功能是将从键盘输入的一对数,由小到大排序输出。当输入一对相等数 时结束循环,请选择填空。 #include <stdio.h> main() {int a,b,t;
江苏省高淳中等专业学校 2 张建青

10 计 2 C 语言循环复习练习(一) scanf("%d%d",&a,&b); while( ) {if (a>b) {t=a;a=b;b=t;} printf("%d,%d\n",a,b); scanf("%d%d",&a,&b); } } A)!a=b B)a!=b C)a==b D)a=b 例 12:下面程序是从键盘输入学号,然后输出学号中百位数是 3 的学号,输入 0 时结束循 环。请选择填空。 #include <stdio.h> main() {long int num; scanf("%ld",&num); do {if(【1】) printf("%ld",num); scanf("%ld",&num); }while(【2】); } 【1】A)num%100/10==3 B)num/100%10==3 C)num%10/10==3 D)num/10%10==3 【2】A)!num B)num>0==0 C)!num==0 D)!num!=0 例 13:下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数 m 和小写字母的 个数 n,并输出 m,n 中的较大者 #include "stdio.h" main() {int m=0,n=0; char c; while (( 【1】 )!='\n') { if(c>='A'&&c<='Z') m++; if (c>='a'&&c<='z') n++; } printf("%d",m<n?【2】);} 【1】A)c=getchar() B)getchar() C)c=gets() D)scanf("%c",c) 【2】A)m:n B)m:m C)n:n D)n:m 例 14:下面程序的功能是将小写字母变成对应大写字母后的第二个字母,其中 y 变成 A,z 变成 B。请选择填空。 #include "stdio.h" main() { char c; while ((c=getchar())!='\n') {if (c>='a'&&c<='z') {【1】; if (c>'Z') 【2】;
江苏省高淳中等专业学校 张建青

3

10 计 2 C 语言循环复习练习(一) } printf("%c",c); } } 【1】A)c+=2 【2】A)c='B' 参考答案: 1 A 2 B 3 A

B)c-=32 B)c='A' 4 D 5 C

C)c=c+32+2 C)c-=26 7 B 8 D

D)c-=30 D)c=c+26 9 B 10 A 11 B 12 BC 13 AD 14 DC

练习:下面题目中出现的“<CR>”就是回车的意思。 1、下面程序段的运行结果是 。 for(y=1;y<10;)y=((x=3*y,x+1),x-1); printf("x=%d,y=%d",x,y); 2、下面程序的运行结果是 。 #include<stdio.h> main() {int i; for(i=1;i<=5;i++) switch(i%5) {case 0:printf("*");break; case 1:printf("#");break; default:printf("\n");break; case 2:printf("&"); } } 3、下面程序的运行结果是 。 #include<stdio.h> main() {int x,i; for(i=1;i<=100;i++) {x=i; if(++x%2==0) if(++x%3==0) if(++x%7==0) printf("%3d",x); } } 4、下面程序段的功能是计算 1000!的末尾含有多少个零。请选择填空。(提示:只要计算 出 1000!中含有因子 5 的个数即可) for(k=0,i=5;i<=1000;i+=5) {m=i; while( ) {
江苏省高淳中等专业学校 4 张建青

10 计 2 C 语言循环复习练习(一) k++;m=m/5; } 5、下面程序的功能是求算式 xyz+yzz=532 中 x,y,z 的值(其中 xyz 和 yzz 分别表示一个三位 数) ,请选择填空。 #include<stdio.h> main() {int x,y,z,i,result=532; for(x=1;x<10;x++) for(y=1;y<10;y++) for(【1】;z<10;z++) {i=100*x+10*y+z+100*y+10*z+z; if(【2】)printf("x=%d,y=%d,z=%d\n",x,y,z); } }

6、下面程序是对输出一个正整数等差数列的前十项,此数列前四项之和及积分别是 26 和
880,请选择填空。 #include<stdio.h> main() {int a,d,i,s,f,x; for (a=1;a<=6;a++) for(d=1;【1】;d++) {s=0;f=1;x=a; for(i=1;i<=4;i++) {s=s+x; f=f*x; x=x+d; } if(s==26&&f==880) for(i=0;i<10;i++) printf("%3d", 【2】 ; } } 7、下面程序的运行结果是 。 #include<stdio.h> main() {int i,b,k=0; for(i=1;i<=5;i++) {b=i%2; while(b-->=0) k++; } printf("%d,%d",k,b); } 8、下面程序的功能是将从键盘输入的偶数写成两个素数之和。请选择填空。 #include <stdio.h> #include <math.h> main() {int a,b,c,d; scanf("%d",&a); for(b=3,b<=a/2;b+=2) {for(c=2;c<=sqrt(b);c++) if(b%c==0) break; if(c>sqrt(b)) d= ;else continue; for(c=2;c<=sqrt(d);c++) if(d%c==0) break;
江苏省高淳中等专业学校 5 张建青

10 计 2 C 语言循环复习练习(一) if(c>sqrt(d)) printf("%d=%d+%d\n",a,b,d); } } 9、下面程序的运行结果是 。 #include<stdio.h> main() {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;break; case 'E':k=k*10;break; default:k=k/3; } k++; }while(c<'G'); printf("k=%d\n",k); } 10、若运行以下程序时,从键盘输入 3.6 2.4<CR>,则下面程序的运行结果是 #include<stdio.h> #include<math.h> main() {float x,y,z; scanf("%f%f",&x,&y); z=x/y; while(1) {if(fabs(z)>1.0) {x=y;y=z;z=x/y;} else break; } printf("%f\n",y); } 11、下面程序的运行结果是 。 #include<stdio.h> main() {int a,b; for(a=1,b=1;a<=100;a++) {if(b>=20) break; if(b%3==1){b+=3;continue;} b-=5; } printf("%d\n",a); } 12、下面程序的运行结果是 。 #include<stdio.h> main() {int i,j,x=0; for(i=0;i<2;i++) {x++; for(j=0;j<=3;j++) {if(j%2) continue; x++; } x++; }
江苏省高淳中等专业学校 6



张建青

10 计 2 C 语言循环复习练习(一) printf("x=%d\n",x); } 13、下面程序的运行结果是 。 #include<stdio.h> main() {int i; for(i=1;i<=5;i++) {if(i%2) printf("*"); else continue; printf("#"); } printf("$\n"); } 14、下面程序的运行结果是 。 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); } 15、下面程序段是从键盘输入的字符中统计数字字符的个数,当输入换行符时结束循环。 请分析程序填空。 int n=0,c; c=gethar(); while(【1】) {if(【2】) n++; c=getchar(); } 16、下面程序的功能是用公式 π2/6≈1/12+1/22+1/32+...+1/n2 求 π 的近似值,直到最后一项的 值小于 10-6 为止,请分析程序填空。 #include<math.h> #include<stdio.h> main() {long i=1; 【1】pi=0; while(i*i>=1e6) {pi=【2】;i++;} pi=sqrt(6.0*pi); printf("pi=%10.6f\n",pi); } 17、有 1020 个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能 卖完?请分析程序填空。 #include<stdio.h> main() {int day,x1,x2; day=0;x1=1020; while(【1】){x2=【2】;x1=x2;day++;} printf("day=%d\n",day); } 18、下面程序的功能是用“辗转相除法”求两个正整数的最大公约数。请分析程序填空。
江苏省高淳中等专业学校 7 张建青

10 计 2 C 语言循环复习练习(一) #include<stdio.h> main() {int r,m,n; scanf("%d%d",&m,&n); if(m<n) 【1】; r=m%n; while(r){m=n;n=r;r=【2】;} printf("%d\n",n); } 19、执行以下程序时输入 right?<CR>,则下面程序的运行结果是 #include <stdio.h> main() {char c; while((c=getchar())!='?') putchar(++c); } 20、下面程序的运行结果是 。 #include<stdio.h> main() {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\n",s); } 21、当运行以下程序,用户输入 China#<CR> 程序的运行结果是 #include "stdio.h" main() {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);}





22、执行下面程序段后,k 值是

。 k=1;n=263; do{k*=n%10;n/=10;}while(n); 23、下面程序段的运行结果是 。 x=2; do{printf("*");x--;}while(!x==0); 24、下面程序段的运行结果是 。 i=1;a=0;s=1; do{a=a+s*i;s=-s;i++;}while(i<=10); printf("a=%d",a);

江苏省高淳中等专业学校

8

张建青


相关文章:
C语言循环练习
C语言循环练习_IT认证_资格考试/认证_教育专区。C 语言循环语句练习 一、选择题 1、C 语言中不包含以下哪种循环( ad )。 A. do..while..loop C. for B...
c语言循环训练一
C语言循环 10页 2财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 c语言循环训练一 隐藏>> 10 计 2 C 语言循...
c语言循环语句训练题
c语言循环语句训练题_IT认证_资格考试/认证_教育专区。练习题: 1. 找出1~n之间的守形数:从个位数看起,n的所有位与n*n 的对应位完全相同. 2. 任给两个整数...
C语言FOR 循环练习题 配解析···
C语言FOR 循环练习题 配解析···_IT认证_资格考试/认证_教育专区。实验五目的和要求: 循环结构实验——for 循环 1、 掌握循环结构程序设计的方法 2、 掌握...
c语言循环训练二
2 张建青 10 计 2 C 语言循环复习练习(二) 例 8:当从键盘输入-1 0<CR>,则以下程序的运行结果是 #include<stdio.h> main() {int a,b,m,n; m=n=...
C语言循环结构练习题带答案
C语言循环结构练习题带答案_IT认证_资格考试/认证_教育专区。C++ 循环结构 第5章 循环结构程序设计 5.1 基本知识点 ? ? ? ? ? ? ? ? while 语句的使用...
c语言循环控制练习题
循环控制练习题 1.设有程序段 int k=10; while (k=0) k=k-1; 则下面描述中正确的是 A while 循环执行 10 次 B 循环是无限循环 C 循环体语句一次也...
c语言循环结构上机习题
c语言循环结构上机习题_IT认证_资格考试/认证_教育专区。c语言循环结构上机习题1...请同学们自己分析二重 循环和三重循环的运行次数,做为练习自己 调试这一方法。...
C语言循环和数组训练题
-1 2,假设代码完整,执行下面代码结果( for(int k=0; ; k++){ printf(“这是:%d”,k); } A, 语法错误,缺少条件 B, 程序什么都不输出 C,死循环 D...
C语言循环例题
C语言循环例题_工学_高等教育_教育专区。有关循环的编程例题 1. //输出 a ...{ int i,m,flag; //flag 为 1 表示是素数,flag 为 0 表示不是素数 m=...
更多相关标签:
c语言for循环 | c语言循环语句 | c语言while循环 | c语言for循环详解 | c语言跳出循环 | c语言循环 | c语言循环左移 | c语言跳出while循环 |