您的当前位置:首页正文

(完整版)C语言循环习题答案

2021-12-11 来源:步旅网
(完整版)C语言循环习题答案

循环习题集锦 一.选择题

1.for(i=0;i<10;i++);结束后,i 的值是;(10) A 9 B 10 C 11 D 12

2.下面程序的循环次数是:(D) int k=0; while(k<10) {if(k<1) continue; if(k==5) break; k++; }

A. 5 B 6 C 4 D 死循环,不能确定循环次数 3.下面程序的输出结果是(10) main() { int s,k;

for(s=1,k=2;k<5;k++) s+=k;

printf(“%d\\n”,s); } A 1 B 9 C 10 D 15

4.要使下面程序输出10 个整数,则在下画线处填入正确的数是:

(c)

for(i=0;i<= ;)

printf(“%d\\n”,i+=2); A 9 B 10 C 18 D 20

5.运行下面程序:(B) main() { int i=10,j=0; do { j=j+i; i--; }while(i>5); printf(“%d\\n”,j); }

输出结果是: A 45 B 40 C 34 D 55

6.运行下面程序 #include “stdio.h” main() { int k=0,a=1; while(k<10) { for( ; ;)

{ if((k%10)==0) break;

else k--; } k+=11; a+=k; }

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

则输出的结果是(C) A 21 32 B 21 33 C 11 12 D 10 11

7.以下叙述正确的是:(D)

A.do---while 语句构成的循环不能用其他语句构成的循环来代替。 B.do---while 语句构成的循环只能用break 语句退出。

C.用do---while 语句构成的循环,在while 后的表达式为非零时结束循环。

D.用do---while 语句构成的循环,在while 后的表达式为零时结束循环。

8.有如下程序: main() { int x=3; do{

printf(“%d”,x--); }while(!x); }

该程序的执行结果是:(C) A 3 2 1 B 2 1 0

C 3 D 2

9.若k 为整型变量,则下面while 循环执行的次数为:(A) k=10;

while(k==0) k=k-1; A 0 B 1 C 10 D 无限次

10.下面有关for 循环的正确描述是(D) A.for 循环只能用于循环次数已经确定的情况 B.for 循环是先执行循环体语句,后判断表达式 C.在for 循环中,不能用break 语句跳出循环体。

D.for 循环的循环体语句汇总,可以包含多条语句,但必须用花括号括起来。

11.对for(表达式1;;表达式3)可理解为(B) A for(表达式1;0;表达式3) B for(表达式1;1;表达式3) C for(表达式1;表达式1;表达式3) D for(表达式1 表达式2;表达式3)

12.若i 为整型变量,则以下循环执行的次数是(B)for(i=2;i==0;)printf(“%d”,i--);

A.无限次 B 0 次 C 1 次 D 2 次 13.以下循环体的执行次数是;(B) main() { int I,j;

for(i=0,j=3;i<=j;i+=2,j--) printf(“%d\\n”,i); }

A 3 B 2 C 1 D 0

14.执行以下程序后,输出结果是:(D) main() { int y=10;

do { y--;}while(--y); printf(“%d”,y--); } A -1 B 1 C 8 D 0

15 以下程序的输出结果是:(C) mian() { int a,b;

for(a=1,b=1;a<=100;a++) {

if(b>=10) break; if(b%3==1) {b+=3; continue;} }

printf(“%d”,a); } A 101 B 3 C 4 D 5 二、填空题

1.循环的3 个常见语句分别是?

(for,while,do,break,continue) 2.下面程序的运行结果为:(14,26) main() {int a=10,y=0; do

{a+=2;y+=a; if(y>50) break; }while(a<14);

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

3.从键盘输入1 2 3 4 5 -1 回车,则下面程序运行的结果是:(14,- 1)

main() { int n,k=0; do

{ scanf(“%d”,&n); k+=n; }while(n!=-1);

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

4.下面程序的运行结果为:39 (--i= 1,i=2 两次循环) main() {int i,j,s=0;

for(i=1,j=5;i s+=i*10+j; printf(“\\n%d”,s); }

5.下面程序的运行结果是19 (i=9,s=9;i=6,s=15;i=3,s=18) main()

{

int i=10,s=0; for(;--i;) if(i%3==0) s+=i; s++;

printf(“\\ns=%d”,s); }

6.下面程序的运行结果是–22222(n=4,s=22; n=4,s=222;n=2,s=2222;n=1,s=22222)

main() {int a=2,n=5,s; s=a; for(;--n;) s=s*10+a; printf(“%d”,s); }

7.下面的程序运行时,循环体语句“a++”运行的次数为:10 main() {int i,j,a=0; for(i=0;i<2;i++) for(j=4;j>=0;j--) a++; }

8.下面的程序运行后,a 的值为:7 main() { int i,j,a=0;

for(i=0;i<2;i++) a++; for(j=4;j>=0;j--) a++; } 9.

(8)

--

(s=4,i=3;s=7,i=4;s=11,i=6;s=17,i=8) int i=1,s=3;

do{ s+= i++;

if(s%7==0) continue; else ++i; }while(s<15); printf(“%d”,i);

10.当运行以下程序时,从键盘输入China# 回车,则下面程序的运行结果是:5,5

#include “stdio.h” main()

{ int v1=0,v2=0; char c;

while((c=getchar())!=’#’) { switch(c) { case ‘a’: case ‘h’: default:v1++; case ‘o’:v2++; } }

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

三、改错题

1.for(i-0,i<5,i++) j++; 2. while(j<10); {j++;i=j;} 3.do {j++;a=j;}while(j<10) 4.用下面程序来实现5!int s=1,i=1; while(i<=5)

s*=i; i++;

5.下面程序段实现求半径r=1 到r=10 的圆面积,直到面积大于100 为止。

For(r=1;r<=10;r++) {s=3.14*r*r; if(s>100) continue; printf(“%f”,s); }

四、编程题

1.求1-2+3-4+…+99-100。

2.任意输入10 个数,分别计算输出其中的正数和负数之和。 3.计算1---100 以内的所有含6 的数的和。

4.输出所有的3 位水仙花数。所谓水仙花数是指所有位的数字的立方之和等于该数,例如:153=13+33+53

5.编写程序输出下面图形。 1 23 456 7890

6.编写程序输出下面图形 * *** ***** ******* ***** *** *

因篇幅问题不能全部显示,请点此查看更多更全内容