云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > c语言循环章节练习题(部分答案)

c语言循环章节练习题(部分答案)

  • 62 次阅读
  • 3 次下载
  • 2025/5/6 9:34:07

循环章节练习题

一、选择题 1.设有程序段 int k=10;

while (k=0) k=k-1;

则下面描述中正确的是_______. A. while循环执行10次。 B.循环是无限循环。

C.循环体语句一次也不执行。 D.循环体语句执行一次。 2.设有以下程序段: int x=0,s=0;

while(!x!=0) s+=++x; printf(“%d”,s); 则________。

A. 运行程序段后输出0。 B. 运行程序段后输出1。

C.程序段中的控制表达式是非法的。 D.程序段执行无限次。

3.下面程序段的运行结果是________。 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

3.下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,请选择填空。 #incldue main()

{ int m=0,n=0; char c;

while( (___1____)!=’\\n’) { if(c>=’A’&&’Z’) m++;

if(c>=’a’&&’z’) n++;} printf(“%d\\n”,m

1)A.c=getchar() B.getchar()

C.c=getchar D.scanf(“%c”,c); 2)A. n:m B. m:n C. m:m D. n:n

4.下面程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,请选择填空。 #include

main()

{ int a,max=0;

scanf(“%d”,&a); while(_______)

{ if(max main()

{ 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 6.若运行以下程序时,从键盘输入2473↙,则下面程序的运行结果是_______。 #include main() { 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);

defauit: putchar(c+2); break;} printf(“\\n”); }

A.668977 B.668966 C.66778777 D.6688766

7.C语言中while 和do—while循环的主要区别是_______。

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

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

C. do—while允许从外部转到循环体内。 D. do—while的循环体不能是复合语句。

1

8.以下程序段________。 x=-1; do

{ x=x*x; while(!x);

A.是死循环。B.循环执行二次。 C.循环执行一次。C.有语法错误。 9.以下描述中正确的是_________。

A.由于do—while循环中的循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。 B. do—while循环由do开始,用while 结束,在while (表达式)后面不能写分号。 C.在do—while循环体中,一定要有能使while后面表达式的值变为零(“假”)的操作。

D. do—while循环中,根据情况可以省略while 。 10.若有如下程序:int x=3; do{printf(“%d\\n”,x-=2);} while(!(--x));

则上面程序段_________。

A.输出的是1 B.输出的是1和-2 C.输出的是3和0 D.是死循环

11.等比数列的第一项a=1,公比q=2,下面程序的功能是求满足前n项和小于100的最大数n,请选择填空。 #include main()

{int a=1,q=2,n,sum; n=sum=0; do

{ ______1______; while(num<100); _____2____;

printf(“%d\\n”,n);}

1)A.sum++ B.sum+=a C.sum*=a D.a+=sum 2)A.n=n-2 B.n=n C.n++ D.n-=1

13.下面有关for循环的正确描述是_____。 A.for循环只能用于循环次数已近确定的情况。 B.for循环是先执行循环体语句,后判断表达式。 C.在for循环中,不能用break语句跳出循环体。 D.for循环的循环体语句中,可以包含多条语句,但必须用花括号阔起来。

14.对于for(表达式1; ;表达式3)可理解为: A. for(表达式1;0 ;表达式3) B. for(表达式1;1 ;表达式3)

C. for(表达式1;表达式1 ;表达式3) D. for(表达式1;表达式3 ;表达式3)

15.若i为整型变量,则以下循环执行的次数是: for(i=2;i==0 ;)printf(“%d”,i--); A> 无限次 B> 0次 C> 1次 D> 2次 16.下面程序段的运行结果为__________。 for(y=1;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

17.下面程序段的运行结果是_______。 for(x=3;x<6;x++)

printf(“(x%2)?(“* * %d”)(“# # %d\\n”),x”); A.* * 3 B.# # 3 C. # # 3 D. * * 3 # # 4 # # 4 * * 4 * * 4 # # 5 * * 5 * * 5 # # 5

18.下列程序段不是死循环的是________。

A.int i=100; B.for(; ;); D.int s=36; while(1) C.int k=0; while(s); { i=i0+1; do{k++;} --s; if(i>100)break;} while(k>=0);

19.下面程序的功能是计算1至50中是7的倍数的数值之和。请选择填空。

#include A. (int)(i/7)==i/7 main() B. (int)i/7==i/7 { int i,sum=0; C. i%7=0 for(i=1;i<=50;i++) D. i%7==0 if(________)sum+=i; printf(“%d”,sum);}

20.下面程序的运行结果为_______。 #include main() { int i;

for(i=1;i<=5;i++) switch(i%5)

{ case 0:printf(“*”);break; case 1:printf(“#”);break; default: printf(“\\n”); case 2:printf(“&”);}} A.#&&&* B.#& C.# D.#& & & 空格 &* & * & *

21.下面程序的运行结果为________。

2

#include main()

{ int i,b,k=0; A.3,-1 for(i=1;i<=5;i++) B.8,-1 { b=i%2; C.3,0 while(b--﹥=0) k++; D.8,-2 }

printf(“%d,%d”,k,b);} 21.下面程序段________。

for(t=1;t<=100;t++) A.当x<0时整个循环结束 { scanf(“%d”,&x); B.print函数永远也不执行 if(x<0) continue; C.x>=0时什么也不输出

printf(“=”,t);}D.最多允许输出100个非负整数 22.下面程序段_______。 x=3;

do{ y=x--;

if(!y){printf(“x”);continue;} printf(“#”);} while(1<=x<=2);

A.将输出## B.将输出##* C.是死循环 D.含有不合法的表达式

23.下面程序的运行结果是_______。 #include 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);} A.7 B.8 C.9 D.10

24.下面程序的功能是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。请填空。 int n=0,c; c=getchar();

while(_____________)

{ if(____________)n++;c=getchar();}

25.有1025个西瓜,第一天卖了一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?填空。 #include main()

{ int day=0,x1=1024,x2; while(______)

{x2=________;x1=x2;day++;}

printf(“day=%d\\n”,day);}

26.下面程序段执行后,k的值是______。 k=1;n=263

do{ k*=n;n/=10;} while(n);

27.鸡兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只。请填空。 for(x=1;x<=29;x++) { y=30-x;

if(____________)printf(“%d,%d\\n”,x,y);} 28.下面程序的功能是求出用数字0至9可以组成多少个没有重复的三位偶数。填空。 main()

{ int i,j,k,n=0; for(i=1;i<=9;i++)

for(k=0;k<=8;______) if(k!=i)

for(j=0;j<=9;j++) if(_________)n++; printf(“n=%d\\n”,n);}

29.下面程序是打印100以内个位数是6且能被3整除的数。填空。

#include main() { int i,j;

for(i=0;__________;i++) { j=i*10+6;

if(________)continue; printf(“%d”,j);}}

30.下面程序的运行结果______________。 #include main()

{ int y=2,a=1; while(y--!=-1)

{ do {a*=y;a++;} while (y--); } printf(“a=%d,y=%d\\n”,a,y);}

3

搜索更多关于: c语言循环章节练习题(部分答案) 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

循环章节练习题 一、选择题 1.设有程序段 int k=10; while (k=0) k=k-1; 则下面描述中正确的是_______. A. while循环执行10次。 B.循环是无限循环。 C.循环体语句一次也不执行。 D.循环体语句执行一次。 2.设有以下程序段: int x=0,s=0; while(!x!=0) s+=++x; printf(“%d”,s); 则________。 A. 运行程序段后输出0。 B. 运行程序段后输出1。 C.程序段中的控制表达式是非法的。 D.程序段执行无限次。 3.下面程序段的运行结果是________。 x=y=0; while(x<15) {y++;x+=++y;} printf(“

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com