C程序设计(循环)习题与答案_第1页
C程序设计(循环)习题与答案_第2页
C程序设计(循环)习题与答案_第3页
C程序设计(循环)习题与答案_第4页
C程序设计(循环)习题与答案_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、单选题

1、有以下程序段:

intk=2;

while(k=0){printf("%d",k);k-;}

则下面描述中正确的是()。

A循环体语句一次也不执行

B.while循环执行10次

C循环是无限循环

D.循环体语句执行一次

正确答案:A

2、下面程序段执行后的输出结果是()。

inta=l,b=2,c=3,t;

while(a<b<c){

t=a;a=b;b=t;c-;

)

printf("%d,%d,%d",a,b,c);

A.2,1,0

B.2,1,1

C.1,2,0

D.1,2,1

正确答案:D

3、下面程序段执行后的输出结果是()o

#include<stdio.h>

intmain()

{intx=0,y=5,z=3;

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

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

return0;

}

A.4,3,-1

B.5,-2,-5

C.3,2,0

D.3,2,-1

正确答案:D

4、下面程序的功能是从键盘输入一组字符,从中统计大写字母和小写字母的个数,选

择()填入到【】中。

#include<stdio.h>

intmain()

{intm=0,n=0;charc;

while(([])!='\n'){

if(c>='A'&&c<=Z)m++;

if(c>='a'&&c<='z')n++;

)

return0;

)

A.scanf("%c",&c)

B.c==getchar()

C.getchar()

D.c=getchar()

正确答案:D

5、语句while(!E){……};中的表达式!E等价于()。

A.E!=0

B.E!=l

C.E==1

D.E==0

正确答案:D

6、以下程序段()。

x=-l;

do{

x=x*x;

}while(!x);

A循环执行1次

B.是死循环

C.循环执行2次

D.有语法错误

正确答案:A

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

A.do-while语句构成的循环不能用其它语句构成的循环来代替

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

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

D.do-while语句构成的循环只能用break语句退出

正确答案:c

8、有以下程序段:

intn=0,p;

do{

scanf("%d",&p);

n++;

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

此处do-while循环的结束条件是()。

A.p的值不等于12345或者n的值小于3

B.p的值等于12345或者n的值大于等于3

C.p的值等于12345并且n的值大于等于3

D.p的值不等于12345并且n的值小于3

正确答案:B

9、已知:inti=5,下歹(Jdo-while循环语句的循环次数为()。

do{

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

i--;

}while(i!=0);

A.l

B.O

C.无限

D.5

正确答案:C

10、下面程序段()。

x=3;

do

{

y=x-;

if(!y){

printf("%d",x);

continue;

)

printf。'#");

}while(x>=l&&x<=2);

A.含有不合法的控制表达式B将输出##

C.将输出###

D.是死循环

正确答案:C

11、下面程序执行后的输出结果是()»

#include<stdio.h>

intmain(){

charc='A';

intk=0;

do(

switch(c++){

case'A':k++;

break;

case

case'C':k+=2;

break;

case'D':k%=2;

continue;

case'E':k*=10;

break;

default:k/=3;

)

k++;

}while(c<'G');

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

return0;

)

A.k=0

B.k=4

C.k=3

D.k=2

正确答案:B

12、下面for循环语句()o

inti,k;

for(i=0,k=-l;k=l;i++,k++)printf("***");

A.是无限循环

B.只循环一次

C.判断循环结束的条件非法

D.一次切循环

正确答案:A

13、下面程序执行后的输出结果是()。

#include<stdio.h>

intmain()

{intx=9;

for(;x>0;x-){

if(x%3==0){

printf("%d",-x);

continue;

)

}

return0;

)

A.963

B.852

C.741

D.875421

正确答案:B

14、下面程序段的循环次数是()。

for(i=2;i==0;)printf("%d",i-);

A.O次

B.2次

C.无限次

D.l次

正确答案:A

15、下面程序执行后的输出结果是()。

#include<stdio.h>

intmain()

{inti,sum=O;

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

printf("%d",sum);

return0;

)

A.14

B.15

C.不确定

D.O

正确答案:B

16、若有以下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大

于0)

s=a;

for(b=l;b<=c;b++)s=s+l;

则与上述程序段功能等价的赋值语句是()。

A.s=a+b;

B.s=b+c;

C.s=s+c;

D.s=a+c;

正确答案:D

17、下面程序执行后的输出结果是()。

#include<stdio.h>

intmain()

{inta=O,i;

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

switch(i){

case0:

case3:a+=2;

case1:

case2:a+=3;

default:a+=5;

}

printf("%d",a);

return0;

)

A.10

B.20

C.13

D.31

正确答案:D

18、若变量已正确定义,不能完成求5!的程序段是()。

A.i=l;p=l;while(i<=5){p*=i;i++;}

B.for(i=l,p=l;i<=5;i++)p*=i;

C.for(i=l;i<=5;i++){p=l;p*=i;}

D.i=l;p=l;do{p*=i;i++;}while(i<=5);

正确答案:C

19、下面程序段中,()与其他三个程序段的作用不同。

A.intk,s=O;

for(k=l;k<=100;s+=++k);

printf("%d",s);

B.k=l;s=0;

do

s+=k;

while(++k<=100);

printf("%d",s);

C.k=l;s=0;

Repeat:

s+=k;

if(++k<=100)

gotoRepeat;

printf("%d",s);

D.k=l;s=0;

while(1){

s+=k;

k=k+l;

if(k>100)break;

}

printf("%d",s);

正确答案:A

20、以下不是死循环的程序段是()。

A.intk=0;

do{

++k;

}while(k>=0);

B.ints=36;

while(s);

-s;

C.inti=100;

while(1){

i=i%100+l;

if(i>100)break;

}

D.for(;;);

正确答案:A

21、以下是死循环的程序段是()。

A.i=l;

while(i-);

B.for(i=l;;){

if(i++%2==0)continue;

if(i++%3==0)break;

)

C.i=32767;

do{

if(i<0)break;

}while(++i);

D.for(i=l;;)if(++i<10)continue;

正确答案:D

22、下面关于循环语句的描述中,()是错误的。

A循环体内可以包含有循环语句

B彳盾环体内必须同时出现break语句和continue语句

C循环体内可以出现选择语句

D.循环体内可以是空语句

正确答案:B

23、C语言的跳转语句中,对于break和continue说法正确的是()

A.break语句只应用与循环体中

B.continue语句只应用于循环体中

C.break是无条件跳转语句,continue不是

D.break和continue的跳转范围不够明确,容易产生问题

正确答案:B

24、下面程序段运行时从键盘上输入:2473/,其输出结果是()。

#include<stdio.h>

intmain()

{intc;

while((c=getchar())!='\n')

switch(c-'2'){

case0:

case1:putchar(c+4);

case2:putchar(c+4);break;

case3:putchar(c+3);

default:putchar(c+2);break;

)

printf("\n");

return0;

)

A.668977

B.668966

C.66778777

D.6688766

正确答案:A

25、下面程序段中while循环的循环次数是()。

inti=0;

while(i<10){

if(i<l)continue;

if(i==5)break;

i++;

)

A.l

B.10

C.6

D.死循环,不能确定次数

正确答案:D

26、下面程序执行后的输出结果是()o

#include<stdio.h>

intmain()

{inti=0,s=0;

for(;;){

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

if(i==6)break;

i++;s+=i;

);

printf("%d",s);

return0;

}

A.10

B.13

C.21

D.死循环

正确答案:D

27、下面程序执行后的输出结果是()o

#include<stdio.h>

intmain()

{intk=0,m=0,i,j;

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

for0=0;j<3;j++)k++;

k-=j;

)

m=i+j;

printf("k=%d,m=%d"/k,m);

return0;

}

A.k=0,m=3

B.k=0,m=5

C.k=l,m=3

D.k=l,m=5

正确答案:B

二、判断题

1、do-while允许从外部转到循环体内。(x)

2、do-while循环中,根据情况可以省略while。(x)

3、for循环中三个表达式可以任意省略,while、do-while的表达式也是如此。(V)

4、continue语句只能用于三个循环语句中。(V)

5、for循环的循环体语句中,可以包含多条语句,但必须用大括号括起来。(7)

三、填空题

1、•写出下面程序执行后的运行结果。

#indude<stdio.h>

intmain()

{inti,k=19;

while(i=k-l){

k-=3;

if(k%5==0){i++;continue;}

elseif(k<5)break;

i++;

}

printf("i=%d,k=%d",i,k);

return0;

)

正确答案:i=6,k=4

2、•下面程序运行时从键盘上输入:420/,写出程序的运行结果。

#include<stdio.h>

intmain()

{charc;

while((c=getchar())!='\n')

switch(c-'O'){

case0:

casel:putchar(c+2);

case2:putchar(c+3);break;

case3:putchar(c+4);

default:putchar(c+1);break;

)

return0;

)

正确答案:5523

3、•写出下面程序执行后的运行结果。

#include<stdio.h>

intmain()

{intk=l,n=263;

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

printf("%d",k);

return0;

)

正确答案:36

4、•写出下面程序执行后的运行结果。

#include<stdio.h>

intmain()

{inti=5;

do{

switch(i%10){

case4:i-;break;

case6:i-;continue;

)

i--;i-;

printf("%d",i);

}while(i>0);

retu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论