C语言循环结构选择题新.docx

上传人:b****8 文档编号:23657731 上传时间:2023-05-19 格式:DOCX 页数:79 大小:34.97KB
下载 相关 举报
C语言循环结构选择题新.docx_第1页
第1页 / 共79页
C语言循环结构选择题新.docx_第2页
第2页 / 共79页
C语言循环结构选择题新.docx_第3页
第3页 / 共79页
C语言循环结构选择题新.docx_第4页
第4页 / 共79页
C语言循环结构选择题新.docx_第5页
第5页 / 共79页
点击查看更多>>
下载资源
资源描述

C语言循环结构选择题新.docx

《C语言循环结构选择题新.docx》由会员分享,可在线阅读,更多相关《C语言循环结构选择题新.docx(79页珍藏版)》请在冰豆网上搜索。

C语言循环结构选择题新.docx

C语言循环结构选择题新

1、若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是

for(i=5;i;i--)

for(j=0;j<4;j++){...}

A)20B)25

C)24D)30

for(i=0,j=10;i<=j;i++,j--)k=i+j;

2、设i,j,k均为int型变量,则执行完下面的for循环后,k的值为

A)12B)10

C)11D)9

3、当执行以下程序段时

x=-1;

do{x=x*x;}while(!

x);

A)循环体将执行一次

B)循环体将执行两次

C)循环体将执行无限次

D)系统将提示有语法错误

4、若输入字符串:

abcde<回车>,则以下while循环体将执行多少次。

while((ch=getchar())=='e')printf("*");

A)5B)4

C)6D)1

5、有以下程序段

intk=0;

while(k=1)k++;

while循环执行的次数是

A)无限次B)有语法错,不能执行

C)一次也不执行D)执行一次

6、语句while(!

e);中的条件!

e等价于()。

A)e==0B)e!

=1

C)e!

=0D)~e

7、以下for循环是()。

for(x=0,y=0;(y!

=123)&&(x<4);x++)

A)无限循环B)循环次数不定

C)执行4次D)执行3次

8、C语言中while和do-while循环的主要区别是()。

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

B)while的循环控制条件比do-while的循环控制条件严格

C)do-while允许从外部转到循环体内

D)do-while的循环体不能是复合语句

9、以下叙述正确的是()。

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

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

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

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

10、对下面程序段,描述正确的是()。

for(t=1;t<=100;t++)

{scanf("%d",&x);

if(x<0)continue;

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

}

A)当x<0时,整个循环结束

B)当x>=0时,什么也不输出

C)printf函数永远也不执行

D)最多允许输出100个非负整数

11、在下列选项中,没有构成死循环的程序段是

A)inti=100;

while

(1)

{i=i%100+1;

if(i>100)break;

}

B)for(;;);

C)intk=1000;

do{++k;}while(k>=1000);

D)ints=36;

while(s)--s;

12、以下程序的输出结果是

main()

{inta,b;

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

{if(b>=10)break;

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

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

A)101B)6

C)4D)3

13、以下程序的输出结果是()。

#include

main()

{

inti;

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

if(i%2)

printf("*");

elsecontinue;

printf("#");

printf("$\n");

}

A)***#$B)#*#*#*$

C)*#*#*#$D)**#*$

14、以下程序段的输出结果是()。

intk,j,s;

for(k=2;k<6;k++,k++)

{s=1;

for(j=k;j<6;j++)

s+=j;}

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

A)1B)9

C)11D)10

15、以下程序段的输出结果是()。

intk,n,m;

n=10;m=1;k=1;

while(k<=n){m*=2;k+=4;}

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

A)4B)16

C)8D)32

16、设有如下程序段:

inti=0,sum=1;

do

{sum+=i++;}

while(i<6);

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

上述程序段的输出结果是()。

A)11B)16

C)22D)15

17、以下程序的输出结果是()。

#include

main()

{intcount,i=0;

for(count=1;count<=4;count++)

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

}

A)20B)246

C)2468D)2222

18、下面程序的输出结果是()。

main()

{unsignedintnum,k;

num=26;k=1;

do{

k*=num%10;

num/=10;

}while(num);

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

}

A)2B)12

C)60D)18

19、阅读以下程序:

main()

{intx;

for(x=5;x>0;x--)

if(x--<5)printf("%d,",x);

elseprintf("%d,",x++);}

程序运行后的输出结果是()。

A)4,3,1B)4,3,1,

C)5,4,2D)5,3,1,

20、以下程序的功能是:

从键盘上输入若干个学生的成绩,统计并输出

最高成绩和最低成绩,当输入负数时结束输入。

请填空。

main()

{floatx,amax,amin;

scanf("%f",&x);

amax=x;

amin=x;

while(________)

{if(x>amax)amax=x;

if(______)amin=x;

scanf("%f",&x);

}

printf("\namax=%f\namin=%f\n",amax,amin);

}

A)x<=0B)x>0

x>aminx<=amin

C)x>0D)x>=0

x>aminx

20、下面程序是计算n个数的平均值,请填空。

main()

{inti,n;

floatx,avg=0.0;

scanf("%d",&n);

for(i=0;i

{scanf("%f",&x);

avg=avg+______;}

avg=________;

printf("avg=%f\n",avg);

}

A)iB)x

avg/iavg/n

C)xD)i

avg/xavg/n

21、在执行以下程序时,如果从键盘上输入:

ABCdef<回车>,

则输出为

#include

main()

{charch;

while((ch=getchar())!

='\n')

{if(ch>='A'&&ch<='Z')ch=ch+32;

elseif(ch>='a'&&ch<'z')ch=ch-32;

printf("%c",ch);

}

printf("\n");

}

A)ABCdefB)abcDEF

C)abcD)DEF

22、运行以下程序后,如果从键盘上输入:

6514<回车>,

则输出结果为

main()

{intm,n;

printf("Enterm,n:

");

scanf("%d%d",&m,&n);

while(m!

=n)

{while(m>n)m-=n;

while(n>m)n-=m;

}

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

}

A)m=3B)m=2

C)m=1D)m=0

23、下面程序的输出结果是()。

main()

{intx=10,y=10,i;

for(i=0;x>8;y=++i)

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

}

A)10192B)9876

C)10990D)101091

24、有如下程序

main()

{intn=9;

while(n>6){n--;printf("%d",n);}

}

该程序段的输出结果是

A)987B)876

C)8765D)9876

25、函数pi的功能是根据以下近似公式求π值:

(π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)

请填空,完成求π的功能。

#include

main()

{doubles=0.0;longinti,n;

scanf("%ld",&n);

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

s=s+_______;

s=(sqrt(6*s));

printf("s=%e",s);

}

A)1/i*iB)1.0/i*i

C)1.0/(i*i)D)1.0/(n*n)

26、设有以下程序

main()

{intn1,n2;

scanf("%d",&n2);

while(n2!

=0)

{n1=n2%10;

n2=n2/10;

printf("%d",n1);

}

}

程序运行后,如果从键盘上输入1298,则输出结果为()。

A)892B)8921

C)89D)921

27、以下函数的功能是:

求x的y次方,请填空。

main()

{inti,x,y;

doublez;

scanf("%d%d",&x,&y);

for(i=1,z=x;i

z=z*______;

printf("x^y=%e\n",z);

}

A)i++B)x++

C)xD)i

28、下面程序的运行结果是()。

main()

{inta,b;

a=-1;

b=0;

do{

++a;

++a;

b+=a;

}while(a<9);

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

}

A)34B)24

C)26D)25

29、执行下面程序段后,k的值是()。

inti,j,k;

for(i=0,j=10;i

k=i+j;

A)9B)11

C)8D)10

30、下面程序的运行结果是()。

main()

{intm=7,n=5,i=1;

do

{if(i%m==0);

if(i%n==0)

{printf("%d\n",i);break;}

i++;

}while(i!

=0);

}

A)7B)6

C)5D)4

31、下面程序的运行结果是()。

main()

{ints=0,i=1;

while(s<=10)

{s=s+i*i;

i++;

}

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

}

A)4B)3

C)5D)6

32、以下程序的输出结果是()。

#include

main()

{

intnum=0;

while(num<=2)

{num++;

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

}

A)1B)1C)1D)1

222

33

4

33、以下程序运行后的输出结果是()。

#include

main()

{ints=0,k;

for(k=7;k>=0;k--)

{switch(k)

{

case1:

case4:

case7:

s++;break;

case2:

case3:

case6:

break;

case0:

case5:

s+=2;break;}

}

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

}

A)s=5B)s=1

C)s=3D)s=7

34、以下程序运行后的输出结果是()。

#include

main()

{inti,j;

for(i=4;i>=1;i--)

{printf("*");

for(j=1;j<=4-i;j++)

printf("*");

printf("\n");

}

}

A)*B)****C)*D)****

***********

********

*****

35、有以下程序

#include

main()

{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");

}

从第一列开始输入以下数据,代表一个回车符。

2473程序的输出结果是()。

A)668977B)668966

C)66778777D)6688766

36、当从键盘上输入字符“12134211”下面程序的

输出结果是()。

main()

{chars;

intv1=0,v2=0,v3=0,v4=0,k;

for(k=0;k<=7;k++)

{scanf("%c",&s);

switch(s)

{default:

v4++;

case'1':

v1++;

case'3':

v3++;

case'2':

v2++;}

}

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

}

A)v1=4,v2=2,v3=1,v4=1

B)v1=4,v2=9,v3=3,v4=1

C)v1=5,v2=8,v3=6,v4=1

D)v1=8,v2=8,v3=8,v4=8

37、运行以下程序后,如果从键盘上输入china#<回车>,

则输出结果为

#include

main()

{intv1=0,v2=0;

charch;

while((ch=getchar())!

='#')

switch(ch)

{case'a':

case'h':

default:

v1++;

case'o':

v2++;

}

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

}

A)2,0B)5,0

C)5,5D)2,5

38、下列程序的输出结果是()。

main()

{inti,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);

}

A)4B)2

C)1D)0

39、下面程序的功能是:

计算1到10之间奇数之和及偶数之和,请填空。

#include

main()

{inta,b,c,i;

a=c=0;

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

{a+=i;

______;

c+=b;

}

printf("偶数之和=%d\n",a);

printf("奇数之和=%d\n",c-11);

}

A)i+=2B)i++

C)b=b+1D)b=i+1

40、下面程序的功能是:

输出100以内能被3整除且个位数为6的

所有整数,请填空。

#include

main()

{inti,j;

for(i=0;______;i++)

{j=i*10+6;

if(_______)continue;

printf("%d",j);

}

}

A)i<=10B)i<10

j%3!

=0j/3

C)i<10D)i<=9

j%3!

=0i%3

41、要输出下面的图形,请完善程序。

1

22

333

4444

55555

666666

#include

main()

{inti,j,k;

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

{

for(j=1;j<=20-2*i;j++)

printf("");

for(k=1;________;k++)

printf("%2d",i);

________________

}

}

A)i<=kB)k

printf("");printf("\n");

C)k<=iD)k<=i

printf("\n");printf("");

42、要输出下面的图形,请完善程序。

1

121

12321

1234321

123454321

#include

main()

{inti,j,k;

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

{

for(j=1;j<=20-3*i;j++)

printf("");

for(k=1;_________;k++)

printf("%3d",k);

for(__________;k>0;k++)

printf("%3d",k);

printf("\n");

}

}

A)k<=iB)k

k=ik=i-1

C)k

k=ik=i-1

43、运行以下程序后,如果从键盘上输入46812-9582-1<回车>,

则输出结果为()。

main()

{intx,i,m;

do

scanf("%d",&x);

while(x<0&&x!

=-1);

m=x;

while(x!

=-1)

{scanf("%d",&x);

if(x>0&&x>m)m=x;}

if(m!

=-1)printf("m=%d\n",m);

}

A)m=-9B)m=2

C)m=58D)m=-1

44、运行以下程序后,如果从键盘上输入12,8<回车>,

则输出结果为()。

main()

{inta,b,n1,n2,t;

scanf("%d,%d",&n1,&n2);

if(n1>n2)

{t=n1;n1=n2;n2=t;}

a=n1;b=n2;

while(b!

=0)

{t=a%b;

a=b;

b=t;}

printf("%d,%d\n",a,n1*n2/a);

}

A)2,6B)4,24

C)4,12D)8,96

45、下列程序的输出结果是()。

main()

{inti,j,k;

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

{for(k=1;k<=i;k++)printf("");

for(j=0;j<=3;j++)printf("*");

printf("\n");

}

}

A)****B)****

********

********

C)****D)***

*******

*******

循环

一、选择题

1、设有程序段

intk=10;

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

则下面叙述中正确的是(C)

(A)while循环执行10次

(B)循环是无限循环

(C)循环体语句一次也不执行

(D)循环体语句执行一次

2、设有以下程序段

intx=0,s=0;

while(!

x!

=0)s+=++x;

printf("%d",s);

则(B)

(A)运行程序段后输出0

(B)运行程序段后输出1

(C)程序段中的控制表达式是非法的

(D)程序段执行无限次

3、语句while(!

E);中的表达式!

E等价于(A)

(A)E==0

(B)E!

=1

(C)E!

=0

(D)E==1

4、下面程序段的运行结果是(A)

a=1;b=2;c=2;

while(a

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

(A)1,2,0

(B)2,1,0

(C)1,2,1

(D)2,1,1

5、下面程序段的运行结果是(D)

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

6、下面程序段的运行结果是(C)

intn=0;

while(n++<=2);printf("%d",n);

(A)2

(B)3

(C)4

(D)有语法错

7、设有程序段

t=0;

while(printf("*"))//printf函数类型是int,返回值表示输出的字符数。

{

t++;

if(t<3)break;

}

下面描述正确的是(D)

(A)其中循环控制表达式与0等价

(B)其中循环控制表达式与'0'等价

(C)其中循环控制表达式是不合法的

(D)以上说法都不对

8、下面程序的功能是将从键盘输入的一对数,由小到大排序输出。

当输入一对相等数时结束循环,①处应选择(B)

#include

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1