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.编写程序输出下面图形

*

***

*****

*******

*****

***

*

C语言单元复习题 第06部份 循环解析

第6章循环程序设计 一、单选题 1.以下关于循环的描述中,错误的是:()。 A.可以用for语句实现的循环一定可以用while语句实现 B.可以用while语句实现的循环一定可以用for语句实现 C.可以用do...while语句实现的循环一定可以用while语句实现 D.do...while语句与while语句的区别仅仅是关键字while的位置不同( 知识点:循环的基本概念;难度系数:1;答案:D ) 2.以下关于循环的描述中,错误的是:()。 A.while、do...while和for语句的循环体都可以是空语句 B.for和do...while语句都是先执行循环体,后进行循环条件判断 C.while语句是先进行循环条件判断,后执行循环体的 D.使用while和do...while语句时,循环变量初始化的操作应在循环语句之前完成( 知识点:循环的基本概念;难度系数:1;答案:B ) 3.以下关于循环体的描述中,错误的是:()。 A.循环体中可以出现break语句 B.循环体中可以出现continue语句 C.循环体中不能出现switch语句 D.循环体中还可以出现循环语句 ( 知识点:循环的基本概念;难度系数:1;答案:C ) 4.在while(x)语句中的x与下面条件表达式等价的是:()。 A.x==0 B.x==1 C.x!=l D.x!=0 ( 知识点:while语句;难度系数:1;答案:D ) 5.在C语言中,当while语句构成的循环中的条件为()时,结束循环。 A.0 B.1 C.真D.非0 ( 知识点:while语句;难度系数:1;答案:A ) 6.有以下程序段: int k=0; while(k=1) k++; while循环执行的次数是:()。 A.无限次B.有语法错,不能执行 C.一次也不执行D.执行一次 ( 知识点:while语句;难度系数:1;答案:A ) 7.有以下程序段: int x=0; while(x=1) {……} 则以下叙述中正确的是:()。 A.循环控制表达式的值为0 B.循环控制表达式的值为1 C.循环控制表达式不合法D.以上说法都不正确 ( 知识点:while语句;难度系数:1;答案:B ) 8.下述语句执行后,变量k的值是:()。 int k=0; while(k++<2); printf("%d",k); A.2 B.3 C.01 D.12

C语言选择与循环控制结构常见习题与答案

1.猜数字小游戏:每次程序随机生成一个数字,用户输入数字进行猜测,十回合内猜出数 据则胜利,否则失败,可重复游戏。 代码如下: #include #include #include int main() { int magic; int guess; int count; int ret; char reply; srand(time(NULL)); do{ magic = rand()%100+1; //产生1到100之间的随机数// count = 0; do{ do{ printf("Please guess a magic number:"); ret = scanf("%d",&guess); if(ret!=1) { while(getchar()!='\n'); } }while(ret!=1||guess<1||guess>100); //如果输入不是1到100之间的数字则连续读取// count = count+1; if(guess>magic) printf("Wrong!Too big!\n"); else if (guess

C语言循环结构测习题带答案

C语言循环结构测习题带 答案 Prepared on 21 November 2021

第5章循环结构程序设计 5.1基本知识点 while语句的使用格式和注意事项 do-while语句的使用格式和注意事项 for语句的使用格式和注意事项 break和continue语句在循环语句中的应用 循环结构的嵌套 使用goto语句实现循环结构 穷举法程序设计方法 迭代程序设计方法 5.2练习题5 1.单项选择题 (1)语句while(!e);中的条件!e等价于A。 A.e==0 B.e!=1 C.e!=0 D.~e (2)下面有关for循环的正确描述是D。 A.for循环只能用于循环次数已经确定的情况 B.for循环是先执行循环体语句,后判定表达式 C.在for循环中,不能用break语句跳出循环体 D.for循环体语句中,可以包含多条语句,但要用花括号括起来 (3)C语言中D。 A.不能使用do-while语句构成的循环 B.do-while语句构成的循环必须用break语句才能退出 C.do-while语句构成的循环,当while语句中的表达式值为非零时结束循环 D.do-while语句构成的循环,当while语句中的表达式值为零时结束循环 (4)C语言中while和do-while循环的主要区别是A。 A.do-while的循环体至少无条件执行一次 B.while的循环控制条件比do-while的循环控制条件严格 C.do-while允许从外部转到循环体内 D.do-while的循环体不能是复合语句 (5)以下程序段C。 intx=-1; do { x=x*x; } while(!x);

C语言 for循环的嵌套题(含解析和答案)

第33、34课时for循环的嵌套 实验题一: 1、下面有关for循环的正确描述是: D A) for循环只能用于循环次数已经确定的情况 B) for循环是先执行循环体语句,后判断表达式 C) 在for循环中,不能用break语句跳出循环体 D) for循环的循环体语句中, 可以包含多条语句,但必须用花括号括起来 2、对for(表达式1;;表达式3)可理解为:B A) for(表达式1; 0;表达式3) B) for(表达式1;1;表达式3) C) for(表达式1;表达式1;表达式3) D) for(表达式1;表达式3;表达式3) 3、若i为整型变量,则以下循环执行次数是:B for (i=2;2==0;) printf("%d",i-- ); A)无限次B) 0次 C) 1 次 D) 2次 4、以下for循环的执行次数是:C for (x=0,y=0; (y=123)&&(x<4); x++) ; A)是无限循环 B)循环次数不定C)执行4次 D)执行3次

成立,x++→x=2 第三次:(y=123)&&(2<4)成立,x++→x=3 第四次:(y=123)&&(3<4)成立,x++→x=4 第五次:(y=123)&&(4<4)不成立,退出循环。 5、以下不是无限循环的语句为:A A) for (y=0,x=1;x > ++y;x =i++) i=x ; B) for (;1; x++=i); C) while (1) {x ++;} D) for(i=10;1 ;i--) sum+=i; 6、下面程序段的运行结果是:C 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 第一次:1<10为真,x=3,x+1=3+1=4, y=(4,x-1) y=(4,2)=2 第二次: 2<10为真, x=3*2=6,7 y=(7,x-1)=(7,5) y=5 第三次:5<10为真,x=3*5=15 16 y=(16,x-1)=(16,14) y=14 第四次: 14<10为假,

C语言循环结构练习题带答案

第5章循环结构程序设计 基本知识点 while语句的使用格式和注意事项 do-while语句的使用格式和注意事项 for语句的使用格式和注意事项 break和continue语句在循环语句中的应用 循环结构的嵌套 使用goto语句实现循环结构 穷举法程序设计方法 迭代程序设计方法 练习题5 1. 单项选择题 (1)语句while (!e);中的条件!e等价于 A 。 A. e==0 B. e!=1 C. e!=0 D. ~e (2)下面有关for循环的正确描述是 D 。 A. for循环只能用于循环次数已经确定的情况 B. for循环是先执行循环体语句,后判定表达式 C. 在for循环中,不能用break语句跳出循环体 D. for循环体语句中,可以包含多条语句,但要用花括号括起来 (3)C语言中 D 。 A. 不能使用do-while语句构成的循环 B. do-while语句构成的循环必须用break语句才能退出 C. do-while语句构成的循环,当while语句中的表达式值为非零时结束循环 D. do-while语句构成的循环,当while语句中的表达式值为零时结束循环 (4)C语言中while和do-while循环的主要区别是 A 。 A. do-while的循环体至少无条件执行一次 B. while的循环控制条件比do-while的循环控制条件严格

C. do-while允许从外部转到循环体内 D. do-while的循环体不能是复合语句 (5)以下程序段 C 。 int x=-1; do { x=x*x; } while (!x); A. 是死循环 B. 循环执行二次 C. 循环执行一次 D. 有语法错误(6)下列语句段中不是死循环的是__C__。 A. i=100; while (1) { i=i%100+1; if (i==20) break; } B. for (i=1;;i++) sum=sum+1; C. k=0; do { ++k; } while (k<=0); D. s=3379; while (s++%2+3%2) s++; (7)与以下程序段等价的是__A__。 while (a) { if (b) continue; c; } A. while (a) B. while (c) { if (!b) c; } { if (!b) break; c; } C. while (c) D. while (a) { if (b) c; } { if (b) break; c; }(8)以下程序的输出结果是_B___。

C语言程序设计(循环)习题与答案

一、单选题 1、关于下面程序段,正确的是()。 int k=10; while(!k) k--; A.循环体一次也不执行 B.死循环 C.循环体执行1次 D.循环体执行10次 正确答案:A 2、下面程序的运行结果是( )。 #include int main( ) { int x=3; do{ printf("%3d",x-=2); }while(!(--x)); return 0; } A.1 B.死循环 C.1 -2 D.10 正确答案:C 3、已定义int j; 下面程序段的输出结果是()。for(j=7;j<10;j++)

printf("%d",j); A.无结果 B.8910 C.789 D.91011 正确答案:C 4、 下面程序的输出结果是()。 #include int main( ) { int i,j,s=0; for(j=1,i=7;j<=i;j++,i--) s=s+i+j; printf("%d",s); return 0; } A.0 B.死循环 C.32 D.28 正确答案:C 5、下面程序的输出结果是()。#include int main( ) { int j,s; for(j=1;j<=7;j++)

s=s+j; printf("%d",s); } A.死循环 B.0 C.不确定 D.28 正确答案:C 6、已定义int j,s; 则下面程序段的输出结果是()。 int j,s; for(j=1,s=0;j<=5;j++) s*=j; printf("%d",s); A.0 B.无结果 C.120 D.死循环 正确答案:A 7、从循环体内某一层跳出,继续执行循环外的语句是( )。 A.if语句 B.break语句 C.空语句 D.continue语句 正确答案:B 8、针对for循环语句,for(表达式1;表达式2;表达式3),下列说法正确的是()。 A.continue语句可以一次性跳出多层嵌套循环

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{

(完整版)c语言第六章循环结构程序设计(习题册答案)

第六章循环结构程序设计 基础练习(A) 一、选择题 1、C语言中while和do-while循环的主要区别是(A)。 A) do-while的循环体至少无条件执行一次 B) while的循环控制条件比do-while的循环控制条件严格 C) C)do-while允许从外部转到循环体内 D) do-while的循环体不能是复合语句 2、以下描述中正确的是(C)。 A) 由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用 复合语句 B)do-while循环由do开始,用while结束,在while(表达式)后面不能写分号 C) 在do-while循环体中,一定要有能使while后面表达式的值变为零(“假”)的操 作 D)do-while循环中,根据情况可以省略while 3、设有程序段 int k=10; while(k) k=k-1; 则下面描述中正确的是(A)。 A)while循环执行10次B)循环是无限循环 C)循环体语句一次也不执行D)循环体语句执行一次 4、下列循环语句中有语法错误的是( D )。 A) while(x=y) 5;B) while(0) ; C) do 2;while(x==b);D) do x++ while(x==10); 5、已知int i=1;执行语句while (i++<4) ;后,变量i的值为(C)。 A) 3 B) 4 C) 5 D) 6 6、语句while(!E);中的表达式!E等价于(A)。 A)E==0 B)E!=1 C)E!=0 D)E==1 7、下面程序段的运行结果是(A)。 a=1; b=2; c=2; while(a main() { int num=0; while(num<=2) { num++; printf(“%d\n”,nu m); } } A)1 B)1 C)1 D)1 2 2 2 3 3 9、以下能正确计算1×2×3×…×10的程序段是(C)。

C语言程序设计习题集第4章 循环结构(答案)

第4章循环结构 一、选择题 1、有以下程序段 int k=0; while(k=1)k++; while 循环执行的次数是(A) A) 无限次B)有语法错,不能执行 C)一次也不执行D)执行1次 2、t为int类型,进入下面的循环之前,t的值为0 while( t=1) { …… } 则以下叙述中正确的是(B) A) 循环控制表达式的值为0 B)循环控制表达式的值为1 C) 循环控制表达式不合法 D) 以上说法都不对 3、在C程序中,与while(m)中表达式m完全等价的是(B ) A) m==0 B) m!=0 C) m==1 D)m!=1 4、有以下程序,程序运行后的输出结果是(C)。 main() {int i=1,sum=0; while(i〈=4) { sum=sum+i; i=i+1; } printf(“%d\n”,sum);} A)4 B)5 C)10 D)死循环 5、有以下程序,程序运行后的输出结果是(D). main() {int i=1,sum=0; while(i〈=4) sum=sum+i; i=i+1; printf(“%d\n”,sum); } A)4 B)5 C)10 D)死循环 6、有如下程序 main(){ int n=9; while(n〉6){n——;printf(“%d”,n);} } 该程序段的输出结果是(B) A)987 B)876 C) 8765 D)9876

7、以下程序的输出结果是(B) main() {int num= 0; while(num〈=2) { num++; printf(“%d\n”,num);} } A) 1 B) 1 C)1 D) l 2 2 2 3 3 4 8、有以下程序,若运行时输入3.6 2。4<回车〉,则输出的结果是(B). 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);} A)1。500000 B)1.600000 C)2.000000 D)2.400000 9、执行以下程序段时 x=—1; do {x=x*x;} while(! x); 则下面描述正确的是(A ) A)循环体将执行一次B)循环体将执行两次 C) 循环体将执行无限次D) 系统将提示有语法错误 10、有以下程序段其输出结果是(C ) int x=3; do {printf(”%d",x-=2); } while (!(--x)); A)1 B)3 0 C)1 —2D)死循环 11、有如下程序 main(){ int x=23; do {

C 循环结构23道题[含答案解析]

题目、描述、输入、输出、输入样例、输出样例、测试输入、测试输出 循环01:最大数 写一个程序,可以输入一批正数,输入0时结束循环,并且输出最大的正数。 输入39 28 5 63 18 27 0 输出63 测试: 输入153 26 963 28 75 90 156 0 输出963 #include using namespace std; int main() { int i,max=0; cin>>i; while(i!=0) { if(i>max) max=i; cin>>i; } cout< using namespace std; int main() { int n,i,d; cin>>n; for(i=2;i

if(n==i) cout<<"1"< using namespace std; int main() { int i,n; double s=0; cin>>n; for(i=1;i<=n;i++) s+=1.0/(3*i-2); cout< using namespace std; int main() { int n,d=0; cin>>n; while(n>0) { d++;

C语言程序设计习题集第4章循环结构(答案)

C语言程序设计习题集第4章循环结构(答案) 选择题 1、有以下程序段 int k=0; while(k=1)k++; while 循环执行的次数是 A) 无限次 C) 一次也不执行 2、t 为 int 类型,进入下 面的循环之前, t 的值为 0 while( t=1) { …… } 则以下叙述中正确的是 ( B) A) 循环控制表达式的值为 0 B) 循环控制表达式的值为 1 C) 循环控制表达式不合法 D) 以上说法都不对 3、在 C 程序中,与 while(m) 中表达式 m 完全等价的是 A) m==0 B) m!=0 C) m==1 D) m!=1 4、有以下程序,程序运行后的输出结果是 (C )。 main() {int i=1,sum=0; while(i<=4) { sum=sum+i; i=i+1; } printf( “%n ”d ,sum);} A) 4 B)5 C)10 D)死循环 5、有以下程序,程序运行后的输出结果是 (D )。 main() { int i=1,sum=0; while(i<=4) sum=sum+i; i=i+1; printf( “%n ”d ,sum);

} A)4 B)5 C)10 D)死循环 6、有如下程序 main(){ int n=9; while(n>6){n-- ;printf( “%d ”,n);} } 该程序段的输出结果是 (B) A) 987 B) 876 C) 8765第4章循环结构( A) B) 有语法错,不能执行 D) 执行 1 次 (B ) D) 9876 7、以下程序的输出结果是 main() { int num= 0; while(num<=2) { num++; printf( } %n”d ,num) ;} A) 1 B) 1 2 2 3 3 4 8、有以下程序,若运行时输入main() {float x,y,z; scanf( “ %f%f”,&x,&y); z=x/y; while(1){ if(fabs(z)>1.0) {

C语言循环结构练习题带答案

第5章循环结构程序设计 练习题 1. 单项选择题 (1)语句while (!e);中的条件!e等价于 A 。 A. e==0 B. e!=1 C. e!=0 D. ~e (2)下面有关for循环的正确描述是 D 。 A. for循环只能用于循环次数已经确定的情况 B. for循环是先执行循环体语句,后判定表达式 C. 在for循环中,不能用break语句跳出循环体 D. for循环体语句中,可以包含多条语句,但要用花括号括起来 (3)C语言中 D 。 A. 不能使用do-while语句构成的循环 B. do-while语句构成的循环必须用break语句才能退出 C. do-while语句构成的循环,当while语句中的表达式值为非零时结束循环 D. do-while语句构成的循环,当while语句中的表达式值为零时结束循环 (4)C语言中while和do-while循环的主要区别是 A 。 A. do-while的循环体至少无条件执行一次 B. while的循环控制条件比do-while的循环控制条件严格 C. do-while允许从外部转到循环体内 D. do-while的循环体不能是复合语句 (5)以下程序段 C 。

int x=-1; do { x=x*x; } while (!x); A. 是死循环 B. 循环执行二次 C. 循环执行一次 D. 有语法错误(6)下列语句段中不是死循环的是__C__。 A. i=100; while (1) { i=i%100+1; if (i==20) break; } B. for (i=1;;i++) sum=sum+1; C. k=0; do { ++k; } while (k<=0); D. s=3379; while (s++%2+3%2) s++;

C语言循环结构程序设计习题与答案

一、单选题 1、计算1!+2!+3!+4!+5!编程如下,程序中下划线处应填写#include void main() { int i; int t= z s=; for(i=l;i<6;i++) { t=t*i; s=s+t; ) printf("l!+2!+3!+4!+5!=%d\n"z s); ) A.l 1 B.O 0 C.O 1 D.l 0 正确答案:D 2、下面代码段的输出是一 int k,m; for(k=0;k<10;k++ ) { if(m>50) continue; m=k*k; ) printf("%d,%d\n”,k,m); A. 10,64 B.9,81

C.10,81 D.8,64 正确答案:A 3、对于以下代码: int i; for(i=0;i<10;i++) pnntf("%d",i); for循环结束后,i的值是— A.ll B.10 C.9 D.i不再存在了 正确答案:B 4、对于以下代码: int i=6; do{ printf("%d", i-); }while(i-); 正确的是— A,输出6420-2-4…,程序无法停机B,输出6420 C.输出6420-2 D输出642 正确答案:A 5、对于以下代码:int i=6; do{

printf("%d", i-); }while(i); 最后一个输出的值是— A.2 B.3 C.O D.l 正确答案:D 6、在代码:while(e)中,e等价于_ A.e == 0 B.e != 1 C.e == 1 D.e!=0 正确答案:D 7、在代码:while© |1)中,e等价于_ A.e!=0 B.e == 1 C.e取任何值 D.e == 0 正确答案:C 8、设有程序段int k=5; while(k=0) k=k-l;则下面描述中正确的是A,循环体语句一次也不执行 B.while循环执行5次 C.循环体语句执彳亍一次 D彳盾环是无限循环 正确答案:A

相关主题
相关文档
最新文档