c语言循环结构练习

c语言循环结构练习
c语言循环结构练习

2015-2016(2)循环结构练习题

一、单选题(共40题,共100分)

1. 以下正确的描述是()(2分)

语句的作用是结束整个循环的执行

B.只能在循环体内和switch语句体内使用break语句

C.在循环体内使用break语句或continue语句的作用相同

D.从多层循环嵌套中退出时,只能使用goto语句

标准答案:B

考生答案:

2. 下面的关键字中,不能够从循环体中跳出循环体外的是()(2分)

标准答案:D

考生答案:

3. 以下叙述中错误的是()(2分)

A.语句标号是由合法的标识符后面加一个冒号构成

语句的作用是把程序的执行转向语句标号所在的位置

语句必须与语句标号在同一个函数内

D.结构化程序设计主张使用goto语句,使用goto语句的程序可读性强标准答案:D

考生答案:

4. 有以下程序段,while 循环执行的次数是()

int k=0;

while(k=1)k++; (2分)

A.无限次

B.有语法错,不能执行

C.一次也不执行

D.执行1次

标准答案:A

考生答案:

5. 运行以下程序的结果为()

main()

{

int num=0;

while (num<=2)

{num++;

printf("%d",num);

}

} (2分)

标准答案:B

考生答案:

6. 下述程序的输出结果是()。

#include<>

main()

{ int Y=100;

while(Y--);

printf("y=%d",Y);

(2分)

=0 =1 =随机值 =-1 标准答案:D

考生答案:

7. 执行下面的程序后的输出结果为()

int x,y,z;

x=20,y=40,z=15;

while(y>x)

x+=4,y-=4;

z/=2;

printf("%d,%d,%d",x,y,z); (2分)

,36,30 ,8,7 ,28,7 ,28,

标准答案:C

考生答案:

8. 以下程序段的输出结果是()

int x=0,y=5,z=3;

while(z-->0&&++x<5) y=y-1;

printf("%d,%d,%d\n",x,y,z); (2分)

,2,0 ,2,-1 ,3,-1 ,-2,-5 标准答案:B

考生答案:

9. 下述语句执行后,变量k的值是()

int k=1;

while(k++<10); (2分)

D.此为无限循环,值不定

标准答案:B

考生答案:

10. 下面程序的运行结果是()。

main()

{ int c1=2, c2=0;

while(!c2--)

printf("%d,%d", c1--, c2);

} (2分)

,-1 B.不输出任何内容

,-1 ,0 标准答案:C

考生答案:

11. 运行以下程序后,如果从键盘上输入china#main( )

{ int v1=0,v2=0;

char ch ;

while((ch=getchar())!='#')

switch(ch)

{

case 'a':

case 'h':

default: v1++;

case '0': v2++;

}

printf("%d,%d\n",v1,v2);

(2分)

,0 ,0 ,5 ,5

标准答案:C

考生答案:

12. main( )

{

int p[7]={11,13,14,15,16,17,18}, i=0,k=0;

while(i<7&&p[i]%3) 

{

k =k+ p[i]; i++;

}

printf("%d\n", k);

}

执行后输出结果是()(2分)

标准答案:C

考生答案:

13. 有以下程序段: int x=3; do { printf("%d",x-=2);} while(!(--x)); 其输出结果是( ) (2分)

D.死循

标准答案:C

考生答案:

14. 以下叙述正确的是( ) (2分)

语句构成的循环不能用其它语句构成的循环来代替。

语句构成的循环只能用break语句退出。

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

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

标准答案:D

考生答案:

15. 以下程序段的输出是()

int x=7,y=5,z=1;

do

{

if(!(z%x))

if(!(z%y))

{printf("%d",z);break;}

z++;

}while(z!=0); (2分)

标准答案:B

考生答案:

16. 有以下程序段:

int x=23;

do

{ printf("%d",x--);}

while(!x);

其输出结果是( ) (2分)

C.不输出任何内容

D.死循

标准答案:B

考生答案:

17. 有以下程序段:

int s=0,a=1,n;

scanf("%d",&n);

do

{

s+=1;a=a-2;

}

while(a!=n);

printf("%d\n",s);

若要使程序的输出值为2,则应该从键盘给n输入的值是( ) (2分)

标准答案:B

考生答案:

18. 有以下程序段:

int i=0,s=0;

do

{

if(i%2){i++;continue;}

i++;s+=i;

}

while(i<7);

printf("%d\n",s);

其输出结果是( ) (2分)

标准答案:A

考生答案:

19. 下列程序段的输出结果是()

int i,n=0;

for(i=2;i<5;i++)

{

do

{

if(i%3)continue;

n++;

}while(!i);

n++;

}

printf("n=%d\n",n); (2分)

=5 =2 =3 =4

标准答案:D

考生答案:

20. 在C语言的循环语句for,while,do-while语句中,用于直接中断最内层循环的语句是() (2分)

标准答案:C

考生答案:

21. 执行以下语句后sum的值为( )

int i=10;sum=0;

do

{sum+=i; i++;}

while(i<10); (2分)

标准答案:D

考生答案:

22. 以下程序段满足什么条件时循环会结束:

int n=0,p;

do

{

scanf("%d",&p);

n++;

}while(p!=12345&&n<3); (2分)

的值不等于12345并且n的值小于3

的值等于12345并且n的值大于等于3

的值不等于12345或者n的值小于3

的值等于12345或者n的值大于等于3

标准答案:D

考生答案:

23. 设j为int型变量,则下面for循环语句的执行结果是()

for(j=10;j>3;j--)

{ if(j%3) j--;

--j;--j;

printf("%d ",j);

} (3分)

3 4 2 3

标准答案:B

考生答案:

24. 以下程序的输出结果是( )

main()

{ int i,s=0;

for (i=1;i<10;i+=2) s+=i+1;

printf("%d\n",s);

} (3分)

A.自然数1到9的累加和

B.自然数1到10的累加和

C.自然数1到9中奇数之和

D.自然数1到10中偶数之和

标准答案:D

考生答案:

25. 以下程序的输出结果是( )

main()

{int i;

for(i='A';i<'I';i++,i++)printf("%c",i+32);

printf("\n");

} (3分)

A.编译不通过,无输出

标准答案:B

考生答案:

26. 下述for语句,假定运行时输入的值不是876

int i,x;

for(i=0,x=1;i<=9&&x!=876;i++)

scanf("%d",&x); (3分)

A.循环10次

B.循环9

C.无限循环

D.一次也不循

标准答案:A

考生答案:

27. 以下程序段的输出结果是()

#include ""

main()

{

int k=4,n;

for(n=0;n

{

if(n%3!=0)continue;

k--;

}

printf("%d,%d",n,k);

(3分)

,1 ,2 ,3 ,4

标准答案:C

考生答案:

28. 以下程序执行后sum的值是( )

main()

{ int i,sum;

for(i=1;i<6;i++) sum+=i;

printf("%d\n",sum);

} (3分)

C.不确

标准答案:C

考生答案:

29. 以下程序的输出结果是()

main()

{

int i=0,s=0;

for(;;)

{

if(i==3||i==5)continue;

if(i==6) break;

i++;

s+=i;

}

printf("%d\n",s);

} (3分)

D.程序进入死循环

标准答案:D

考生答案:

30. 下面程序段的输出结果是()

int a=1,b;

for(b=1;b<=10;b++)

{

if(a>=8) break;

if(a%2==1){a+=5;continue;}

a-=3;

}

printf("%d\n",b); (3分)

标准答案:B

考生答案:

31. 下列程序的输出结果是( )

main( )

{

int i, j, m=0, n=0;

for(i=0; i<2; i++)

for(j=0; j<2; j++)

if(j>=i) m=1; n++;

printf("%d\n",n);

(3分)

标准答案:D

考生答案:

32. 下列程序段的输出结果是()

int k=0,m=0;

int i,j;

for(i=0;i<2;i++)

{

for(j=0;j<3;j++)

k++;

k-=j;

}

m=i+j;

printf("k=%d,m=%d",k,m); (3分)

=0,m=3 =0,m=5 =1,m=3 =1,m=5

标准答案:B

考生答案:

33. 以下程序的输出结果是

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++;

}

printf("x=%d\n",x);

} (3分)

=4 =8 =6 =12

标准答案:B

考生答案:

34. 以下循环体的执行次数是( )

main()

{ int i,j;

for(i=0,j=1;i<=j+1;i+=2,j--)

printf("%d \n",i);} (3分)

标准答案:C

考生答案:

35. 以下程序段的输出结果为()

int x, i;

for(i=1;i<=50;i++)

{

x=i;

if(x%2==0)

{

x++;

if(x%3==0)

{

x++;

if(x%7==0)

{ x++;printf("%d ",i);}

}

}

} (3分)

标准答案:D

考生答案:

36. 以下程序段不是死循环的是()(5分)

i=100;

while(1)

{

i=i%100+1;

if(i>100) break;

}

(;;) ;

k=0;

do{++k;}

while(k<10);

s=36;

while(s);

--s;

标准答案:C

考生答案:

37. 以下程序的输出结果是( )

main()

{ int i;

for(i=1;i<6;i++)

{ if(i%2){printf("#");continue;}

printf("*");

}

} (3分)

A.#*#*#

B.#####

C.*****

D.*#*#*

标准答案:A

考生答案:

38. 以下程序的输出结果是( )

main()

{ int a,b;

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

{if(b>=10) break;

if (b%3==1)

{b+=3;continue;}

}

printf("%d\n",a);

(3分)

标准答案:D

考生答案:

39. 设x和y均为int型变量,则执行以下的循环后,y值为( )

for(y=1,x=1;y<=50;y++)

{

if(x==10)break;

if (x%2==1)

{x+=5;continue;}

x-=3;

} (3分)

标准答案:C

考生答案:

40. 下面程序段的输出结果为()int i,s;

s=0;

for(i=1;i<101;i++)

{

s+=i;

if(s>5) break;

}

printf("s=%d\n",s); (3分)

标准答案:B

考生答案:

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