循环结构练习题Word文件下载.docx

上传人:b****5 文档编号:19806094 上传时间:2023-01-10 格式:DOCX 页数:25 大小:21.24KB
下载 相关 举报
循环结构练习题Word文件下载.docx_第1页
第1页 / 共25页
循环结构练习题Word文件下载.docx_第2页
第2页 / 共25页
循环结构练习题Word文件下载.docx_第3页
第3页 / 共25页
循环结构练习题Word文件下载.docx_第4页
第4页 / 共25页
循环结构练习题Word文件下载.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

循环结构练习题Word文件下载.docx

《循环结构练习题Word文件下载.docx》由会员分享,可在线阅读,更多相关《循环结构练习题Word文件下载.docx(25页珍藏版)》请在冰豆网上搜索。

循环结构练习题Word文件下载.docx

(B)3

(C)4

(D)有语法错

7、设有程序段

t=0;

while

(1)

{

t++;

if(t<

3)break;

}

t;

程序运行结果是(B)

(A)0

(B)1

(C)2

(D)3

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

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

#include<

iostream.h>

voidmain()

inta,b,t;

cin>

>

a>

b;

while(①)

{

if(a>

b){t=a;

b=t}

cout<

cin>

}

(A)!

a=b(B)a!

=b

(C)a==b

(D)a=b

9、下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,①处应选择(C)②处应选择(A)

intm=0,n=0;

charc;

while((①)!

='

\n'

if(c>

A'

&

c<

Z'

)m++;

a'

z'

)n++;

Cout<

m<

n?

(②)

①(A)c==getchar()

(B)getchar()

(C)c=getchar()

(D)cin>

c

②(A)n:

m

(B)m:

n

(C)m:

(D)n:

10、下面程序的功能是将小写字母变成对应大写字母后的第二个字母。

其中y变成A,z变成B。

请选择①(D)②(C)

while((c=getchar())!

{

①;

if(c>

'

+2)

②;

}

①(A)c+=2

(B)c-=32

(C)c=c+32+2

(D)c-=30

②(A)c='

B'

(B)c='

(C)c-=26

(D)c=c+26

11、下面程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,请选择①(B)

inta,max=0;

a;

if(max<

a)max=a;

cout<

max;

①(A)a==0

(B)a

(C)!

a==1

(D)!

a

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

intnum=0;

while(num<

=2)

{num++;

num;

(A)1

2

(C)1

3

(D)1

4

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

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

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

(C)do-while允许从外部转到循环体内(D)do-while的循环体不能是复合语句

15、以下能正确计算1×

...×

10的程序段是(C)

(A)do{i=1;

s=1;

s=s*i;

i++;

}while(i<

=10);

(B)do{i=1;

s=0;

(C)i=1;

do{s=s*i;

(D)i=1;

s=0;

16、以下程序段(C)

x=-1;

do{x=x*x;

}while(!

x);

(A)是死循环

(B)循环执行二次

(C)循环执行一次

(D)有语法错误

18、若有如下语句

intx=3;

do

{

cout<

(x-=2)<

endl;

(--x));

则上面程序段(B)

(A)输出的是1

(B)输出的是1和-2(C)输出的是3和0

(D)是死循环

19、下面程序的功能是计算正整数2345的各位数字平方和,请选择填空。

①(B)②(C)

#include<

intn,sum=0;

n=2345;

do{

sum=sum+①;

n=②;

}while(n);

sum;

①(A)n%10

(B)(n%10)*(n%10)

(C)n/10

(D)(n/10)*(n/10)

②(A)n/1000

(B)n/100

(D)n%10

24、若运行以下程序时,从键盘输入ADescriptor〈CR〉(〈CR〉表示回车),则下面程序的运行结果是(D)

intv0=0,v1=0,v2=0;

switch(c=getchar())

case'

:

case'

e'

E'

i'

I'

o'

O'

u'

U'

v1+=1;

default:

v0+=1;

v2+=1;

}while(c!

);

”v0=”<

v0<

”,v1=”<

v1<

”,v2=”<

v2<

(A)v0=7,v1=4,v2=7

(B)v0=8,v1=4,v2=8

(C)v0=11,v1=4,v2=11

(D)v0=12,v1=4,v2=12

25、下面程序的运行结果是(B)

#include<

inta=1,b=10;

do{b-=a;

a++;

}while(b--<

0);

”a=”<

”,b=”<

(A)a=3,b=11

(B)a=2,b=8

(C)a=1,b=-1

(D)a=4,b=9

26、下面有关for循环的正确描述是(D)

(A)for循环只能用于循环次数已经确定的情况

(B)for循环是先执行循环体语句,后判断表达式

(C)在for循环中,不能用break语句跳出循环体

(D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来

27、对for(表达式1;

;

表达式3)可理解为(B)

(A)for(表达式1;

0;

表达式3)

(B)for(表达式1;

1;

(C)for(表达式1;

表达式1;

(D)for(表达式1;

表达式3;

28、若i为整型变量,则以下循环执行次数是(B)

for(i=2;

i==0;

)cout<

i--;

(A)无限次

(B)0次

(C)1次

(D)2次

29、以下for循环的执行次数是(C)

for(x=0,y=0;

(y=123)&

(x<

4);

x++);

(A)是无限循环

(B)循环次数不定

(C)执行4次

(D)执行3次

30、以下不是无限循环的语句为(A)

(A)for(y=0,x=1;

x>

++y;

x=i++)i=x;

(B)for(;

x++=i);

(C)while

(1){x++;

}(D)for(i=10;

i--)sum+=i;

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

for(y=1;

10;

)y=((x=3*y,x+1),x-1);

"

x="

x<

y="

y);

(A)x=27,y=27

(B)x=12,y=13

(C)x=15,y=14

(D)x=y=27

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

for(x=3;

x<

6;

x++)cout<

((x%2)?

("

**%d"

):

##%d\n"

),x);

(A)**3

##4

**5

(B)##3

**4

##5

(C)##3

**4##5

(D)**3##4

33、下列程序段不是死循环的是(C)

(A)inti=100;

i=i%100+1;

if(i>

100)break;

);

(C)intk=0;

do{++k;

}while(k>

=0);

(D)ints=36;

while(s);

--s;

34、执行语句for(i=1;

i++<

4;

后变量i的值是(C)

(A)3

(B)4

(C)5

(D)不定

36、下面程序的功能是计算1至50中是7的倍数的数值之和,请选择填空。

①(D)

inti,sum=0;

for(i=1;

i<

=50;

i++)

if(①)sum+=i;

(A)(int)(i/7)==i/7

(B)(int)i/7==i/7

(C)i%7=0

(D)i%7==0

37、下面程序的功能是计算1至10之间的奇数之和及偶数之和。

请选择填空。

①(B)②(B)

inta,b,c,i;

a=c=0;

for(i=0;

=10;

i+=2)

{a+=i;

①;

c+=b;

偶数之和="

奇数之和="

②);

①(A)b=i--

(B)b=i+1

(C)b=i++

(D)b=i-1

②(A)c-10

(B)c

(C)c-11

(D)c-b

38、下面程序的运行结果是(B)

inti;

=5;

switch(i%5)

case0:

*"

;

break;

case1:

#"

\n"

case2:

(A)#&

*

(B)#&

&

(C)#

(D)#&

*

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

intx,i;

=100;

x=i;

if(++x%2==0)

if(++x%3==0)

if(++x%7==0)

cout<

(A)3981

(B)4284

(C)2668

(D)2870

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

inti,b,k=0;

b=i%2;

while(b-->

=0)k++;

printf("

%d,%d"

k,b);

(A)3,-1

(B)8,-1

(C)3,0

(D)8,-2

44、以下正确的描述是(B)

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

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

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

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

45、下面程序段(D)

for(t=1;

t<

t++)

scanf("

%d"

&

if(x<

0)continue;

%3d"

t);

(A)当x<

0时整个循环结束

(B)x>

=0时什么也不输出

(C)printf函数永远也不执行

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

46、下面程序段(C)

x=3;

do{

y=x--;

if(!

y){printf("

x"

continue;

}while(1<

=x<

(A)将输出##

(B)将输出##*

(C)是死循环

(D)含有不合法的控制表达式

47、以下是死循环的程序段是(C)

(A)for(i=1;

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

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

(B)i=32767;

do{if(i<

0)break;

}while(++i);

(C)for(i=1;

)if(++i<

10)continue;

while(i--);

48、以下描述正确的是(C)

(A)goto语句只能用于退出多层循环

(B)switch语句中不能出现continue语句

(C)只能用continue语句来终止本次循环

(D)在循环中break语句不能独立出现

53、下面程序的运行结果是(B)

inta,b;

for(a=1,b=1;

a++)

if(b>

=20)break;

if(b%3==1){b+=3;

b-=5;

%d\n"

a);

(A)7

(B)8

(C)9

(D)10

54、下面程序的运行结果是(B)

inti,j,x=0;

2;

x++;

for(j=0;

j<

=3;

j++)

if(j%2)continue;

x++;

x=%d\n"

x);

(A)x=4

(B)x=8

(C)x=6

(D)x=12

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

#include"

iostream.h"

if(i%2)printf("

elsecontinue;

printf("

$\n"

(A)*#*#*#$

(B)#*#*#*$

(C)*#*#$

(D)#*#*$

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

inti,j,a=0;

if(j%2)break;

a++;

a++;

(A)4

(B)5

(C)6

(D)7

二、填空题

57、下面程序段是从键盘输入的字符中统计数字字符的个数,用换行结束循环,请填空。

intn=0,c;

c=getchar();

while(________)//c!

/n'

if(________)n++;

//c>

0'

9'

c=getchar();

60、下面程序的功能是用“辗转相除法”求两个正整数的最大公约数。

请填空。

intr,m,n;

%d%d"

m,&

n);

if(m<

n)________;

//r=m,m=n,n=r

r=m%n;

while(r){m=n;

n=r;

r=________;

}//m%n

n);

62、下面程序的运行结果是________。

//254

inta,s,n,count;

a=2;

n=1;

count=1;

while(count<

=7){n=n*a;

s=s+n;

++count;

s=%d"

s);

63、当运行以下程序时,从键盘输入China#〈CR〉(〈CR〉表示回车),则下面程序的运行结果是________。

//5,5

intv1=0,v2=0;

charch;

while((ch=getchar())!

#'

switch(ch)

h'

v1++;

v2++;

%d,%d\n"

v1,v2);

64、执行下面程序段后,k值是________。

//36

intk=1,n=263;

do{k*=n%10;

n/=10;

}while(n);

65、下面程序段中循环体的执行次数是________。

//3

inta=10;

intb=0;

do{b+=2;

a-=2+b;

}while(a>

66、下面程序段的运行结果是________。

//**

x=2;

do{printf("

x--;

x==0);

67、下面程序段的运行结果是________。

//-5

i=1;

a=0;

s=1;

do{a=a+s*i;

s=-s;

i++;

}while(i<

printf("

a=%d"

69、下面程序的功能是统计正整数的各位数字中零的个数,并求各位数字中的最大者。

intn,count,max,t;

count=max=0;

t=________;

//n%10

if(t==0)++count;

elseif(max<

t)________;

//max=t

n/=10;

count=%d,max=%d"

count,max);

75、当运行以下程序时,从键盘输入-10〈CR〉(〈CR〉表示回车),则下面程序的运行结果是________。

//m=4n=2

inta,b,m,n;

m=n=1;

a,&

b);

0){m=2*n;

b++;

else{n=m+n;

a+=2;

}while(a==b);

m=%dn=%d"

m,n)

79、若for循环用以下形式表示:

for(表达式1;

表达式2;

表达式3)循环体语句

则执行语句for(i=0;

3;

i++)printf("

时,表达式1执行________次,表达式3执行________次。

//13

80、下面程序的功能是计算1-3+5-7+...-99+101的值,请填空。

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

当前位置:首页 > 工程科技 > 兵器核科学

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

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