循环结构习题Word格式文档下载.docx

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

循环结构习题Word格式文档下载.docx

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

循环结构习题Word格式文档下载.docx

}while(c<

’G’);

printf(“k=%d”,k);

A)k=3B)k=4C)k=2D)k=0

5.下面程序的输出结果是。

{intx=9;

for(;

x>

0;

x--){

if(x%3==0){

printf(“%d”,--x);

continue;

A)741B)852C)963D)875421

6.以下不是死循环的程序段是。

A)inti=100;

B)for(;

;

);

while

(1){

i=i%100+1;

if(i>

100)break;

C)intk=0;

D)ints=36;

do{++k;

}while(k>

=0);

while(s);

--s;

7.下述程序段的运行结果是。

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

while(a<

b<

c){t=a;

a=b;

b=t;

c--;

printf(“%d,%d,%d”,a,b,c);

A)1,2,0B)2,1,0C)1,2,1D)2,1,1

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

填空。

{intm=0,n=0;

charc;

while((【】)!

’\n’)

{

if(c>

=’A’&

&

c<

=’Z’)m++;

=’a’&

=’z’)n++;

A)c=getchar()B)getchar()C)c==getchar()D)scanf(“%c”,&

c)

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

intk=1;

while(k++<

10);

A)10B)11C)9D)无限循环,值不定

10.下面程序的输出结果是。

{intk=0,m=0,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);

A)k=0,m=3B)k=0,m=5C)k=1,m=3D)k=1,m=5

11.下面for循环语句。

inti,k;

for(i=0,k=-1;

k=1;

i++,k++)

printf(“***”);

A)判断循环结束的条件非法B)是无限循环

C)只循环一次D)一次也不循环

12.语句while(!

E);

括号中的表达式!

E等价于。

A)E==0B)E!

=1C)E!

=0D)E==1

13.以下是死循环的程序段是。

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;

D)i=1;

while(i--);

14.执行语句for(i=1;

i++<

4;

);

后变量i的值是。

A)3B)4C)5D)不定

15.以下程序段。

x=-1;

do

{x=x*x;

}

while(!

x);

A)是死循环B)循环执行2次C)循环执行1次D)有语法错误

16.下面程序的功能是在输入的一批正数中求最大者,输入0结束循环,选择填空。

{inta,max=0;

scanf(“%d”,&

a);

while(【】){

if(max<

a)max=a;

scanf(“%d”,&

printf(“%d”,max);

A)a==0B)aC)!

a==1D)!

a

17.以下不是死循环的语句是。

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

x>

++y;

x=i++)i=x;

B)for(;

x++=i);

C)while

(1){x++;

D)for(i=10;

i--)sum+=i;

18.下面程序段的运行结果是。

x=y=0;

while(x<

15)y++,x+=++y;

printf(“%d,%d”,y,x);

A)20,7B)6,12C)20,8D)8,20

19.以下for循环的执行次数是。

for(x=0,y=0;

(y=123)&

(x<

4);

x++);

A)无限循环B)循环次数不定C)4次D)3次

20.若运行以下程序时,输入2473↙,则程序的运行结果是。

{intc;

while((c=getchar())!

=’\n’)

switch(c-‘2’){

case0:

case1:

putchar(c+4);

case2:

case3:

putchar(c+3);

putchar(c+2);

printf(“\n”);

A)668977B)668966C)66778777D)6688766

二.填空题

1.C语言三个循环语句分别是语句,语句和语句。

2.至少执行一次循环体的循环语句是。

3.循环功能最强的循环语句是。

5.程序段

for(a=1,i=-1;

-1<

i<

1;

i++)

{a++;

printf(“%2d”,a);

};

printf(“%2d”,i);

的运行结果是。

三.判断题

1.在while循环中允许使用嵌套循环,但只能是嵌套while循环。

【】

2.在实际编程中,do-while循环完全可以用for循环替换。

3.continue语句只能用于三个循环语句中。

4.在不得已的情况下(例如提高程序运行效率),才使用goto语句。

5.语句标号与C语言标识符的语法规定是完全一样的。

6.for循环的三个表达式可以任意省略,while,do-while也是如此。

7.do-while允许从外部转到循环体内。

8.while的循环控制条件比do-while的循环控制条件严格。

9.do-while循环中,根据情况可以省略while。

10.do-while循环的while后的分号可以省略。

四.程序阅读题

1.写出下面程序运行的结果。

{intx,i;

for(i=1;

=100;

x=i;

if(++x%2==0)

if(++x%3==0)

if(++x%7==0)

printf(“%d”,x);

2.写出下面程序运行的结果。

{inti,b,k=0;

for(i=1;

=5;

b=i%2;

while(b--=0)k++;

printf(“%d,%d”,k,b);

3.写出下面程序运行的结果。

{inta,b;

for(a=1,b=1;

a<

a++){

if(b>

=20)break;

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

b-=5;

printf(“%d\n”,a);

4.写出下面程序运行的结果。

{intk=1,n=263;

do{k*=n%10;

n/=10;

}while(n);

printf(“%d\n”,k);

5.写出下面程序运行的结果。

{inti=5;

switch(i%2){

case4:

i--;

case6:

i--;

printf(“%d”,i);

}while(i>

0);

6.写出下面程序运行的结果。

{inti,j;

i++,i++){

for(j=4;

j>

=0;

j--){

if((j+i)%2){

j--;

printf(“%d,”,j);

--i;

printf(“%d,”,j);

7.写出下面程序运行的结果。

main()

{inta=10,y=0;

a+=2;

y+=a;

if(y>

50)break;

}while(a=14);

printf(“a=%dy=%d\n”,a,y);

8.写出下面程序运行的结果。

{inti,j,k=19;

while(i=k-1){

k-=3;

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

elseif(k<

5)break;

i++;

printf(“i=%d,k=%d\n”,i,k);

9.写出下面程序运行的结果。

{inty=2,a=1;

while(y--!

=-1)

a*=y;

a++;

}while(y--);

printf(“%d,%d\n”,a,y);

10.写出下面程序运行的结果。

{inti,k=0;

while(k<

i*i){

if(k%3==0)gotoloop;

loop:

printf(“%d,%d\n”,i,k);

六.程序填空题

1.下述程序用“碾转相除法”计算两个整数m和n的最大公约数。

该方法的基本思想是计算m和n相除的余数,如果余数为0则结束,此时的被除数就是最大公约数。

否则,将除数作为新的被除数,余数作为新的除数,继续计算m和n相除的余数,判断是否为0,等等,请填(3)空使程序完整。

{intm,n,w;

scanf(“%d,%d”,&

m,&

n);

while(n){

w=【1】;

m=【2】;

n=【3】;

printf(“%d”,m);

2.下面程序的功能是输出1至100之间每位数的乘积大于每位数的和的数,请填(3)空使程序完整。

{intn,k=1,s=0,m;

for(n=1;

n<

n++){

k=1;

s=0;

【1】;

while(【2】){

k*=m%10;

s+=m%10;

【3】;

if(k>

s)printf(“%dd”,n);

3.下面程序段的功能是计算1000!

的末尾有多少个零,请填

(1)空使程序完整。

for(k=0,i=5;

=1000;

i+=5)

{m=i;

while(【1】){k++;

m=m/5;

4.下面程序接受键盘上的输入,直到按↙键为止,这些字符被原样输出,但若有连续的一个以上的空格时只输出一个空格,请填(3)空使程序完整。

{

charcx,front=’\0’;

while(【1】!

=’\n’){

if(cx!

=’’)putchar(cx);

if(cx==’’)

if(【2】)

putchar(【3】)

front=cx;

5.下面程序按公式求和并输出结果,请填(3)空使程序完整。

【1】;

intk;

for(k=1;

k<

k++)

s+=k;

=50;

s+=k*k;

=10;

s+=【2】;

printf(“sum=【3】”,s);

七.编程题

1.输入两个正整数m和n,求其最大公约数和最小公倍数。

2.输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数。

3.求(即求1!

+2!

+3!

+…+19!

+20!

)。

4.有一个分数数列:

求出这个数列前20项之和。

5.提高题:

打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方之和等于该数本身。

感谢下载!

欢迎您的下载,资料仅供参考

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

当前位置:首页 > 人文社科 > 文学研究

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

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