循环结构程序设计练习题内含答案文档格式.docx

上传人:b****6 文档编号:21401824 上传时间:2023-01-30 格式:DOCX 页数:14 大小:82.32KB
下载 相关 举报
循环结构程序设计练习题内含答案文档格式.docx_第1页
第1页 / 共14页
循环结构程序设计练习题内含答案文档格式.docx_第2页
第2页 / 共14页
循环结构程序设计练习题内含答案文档格式.docx_第3页
第3页 / 共14页
循环结构程序设计练习题内含答案文档格式.docx_第4页
第4页 / 共14页
循环结构程序设计练习题内含答案文档格式.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

循环结构程序设计练习题内含答案文档格式.docx

《循环结构程序设计练习题内含答案文档格式.docx》由会员分享,可在线阅读,更多相关《循环结构程序设计练习题内含答案文档格式.docx(14页珍藏版)》请在冰豆网上搜索。

循环结构程序设计练习题内含答案文档格式.docx

while(!

x!

=0)s+=++x;

printf("

%d"

s);

A)运行程序段后输出0

B)运行程序段后输出1

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

D)程序段执行无限次

8、设i,j,k均为int型变量,则执行完下面的for语句后,k的值为(C)。

for(i=0,j=10;

i<

=j;

i++,j--)k=i+j;

A.6B.9C.10D.11

9、C语言中,break;

语句可以用于循环语句和(B)语句中。

A.ifB.switchC.forD.while

10、for(i=0;

=15;

i++)printf("

i);

循环结束后,i的值为(C)。

A.14B.15C.16D.17

11、有以下程序(B)

{charb,c;

inti;

b='

a'

;

c='

A'

for(i=0;

6;

i++)

{if(i%2)putchar(i+b);

elseputchar(i+c);

}printf("

\n"

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

A.ABCDEFB.AbCdEfC.aBcDeFD.abcdef

12、与语句“while(!

x)”等价的语句是(A)。

A.while(x==0)B.while(x!

=0)C.while(x==1)D.while(x!

=1)

13、下述程序段中,while循环执行次数是(A)。

(分情况这题有问题);

intk=0;

while(k=1)k++

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

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

14、以下程序中,while循环的次数是(b)。

#include<

stdio.h>

voidmain()

{inti=0;

while(i<

10){if(i<

1)continue;

if(i==5)break;

i++;

}}

A.1B.死循环,不能确定次数C.6D.10

15、下面程序段

intk=2;

while(k=0){printf(“%d”,k);

k--;

则下面描述中正确的是。

A)while循环执行10次B)循环是无限循环

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

16、以下程序段的循环次数是B。

for(i=2;

i==0;

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

A)无限次B)0次C)1次D)2次

17、下面程序的输出结果是B。

main()

{charc='

A'

intk=0;

do{

switch(c++){

case‘

k++;

break;

B'

k--;

C'

k+=2;

D'

k%=2;

continue;

E'

k*=10;

default

:

k/=3;

k++;

}while(c<

'

G'

);

printf(“k=%d”

k)

J

A)k=3

B

k=4C

k=2D)k=0

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

B

{intx=9;

for(;

x>

0;

x--){

if(x%3==0){

 

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

while(k++<

10)intk=1;

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

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

B(太麻烦不做了哎,还是

作罢!

)main()

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

for(i=0;

2;

i++){

for(j=0;

j<

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

25.下面for循环语句。

Binti,k;

for(i=0,k=-1;

k=1;

i++,k++)printf(“***”);

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

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

26.语句while(!

E);

括号中的表达式!

E等价于A。

A)E==0B)E!

=1C)E!

=0D)E==1

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

A

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

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

i++<

4;

后变量i的值是B。

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

29.以下程序段。

Ax=-1;

do

{x=x*x;

}while(!

x);

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

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

空。

C

main(){inta,max=0;

seanf(“%d,&

a);

,&

}

while(【】){if(max<

a)max=a;

seanf(“%d

printf(“%d,max);

A)a==0B)aC)!

a==1D)!

a

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

A

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;

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

(自己算算吧不难!

)x=y=0;

while(x<

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

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

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

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

for(x=0,y=0;

(y=123)&

&

(x<

4);

x++);

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

34.若运行以下程序时,输入2473/,则程序的运行结果是main()

{intc;

while((c=getchar())!

='

n'

switch(c-‘2'

case0:

case1:

putchar(c+4);

case2:

putchar(c+4);

case3:

putchar(c+3);

default:

putchar(c+2);

printf(“n”);

A)668977B)668966C)66778777D)6688766读程题:

1.以下程序的输出结果是357。

main()

{inti,x[3][3]={1,2,3,4,5,6,7,8,9};

i++)printf("

%d"

x[i][2-i]);

2.以下程序的输出结果是0。

main()

{intn[2],i,j;

for(i=0;

2;

i++)n[i]=0;

iv2;

i++)for(j=0;

j++)n[j]=n「i」+1;

printf(”%n”,n[1]);

3.以下程序的输出结果是357。

{inti,a[6]={2,3,4,5,6,7};

i+=2)

printf("

a[i]);

4.以下程序的输出结果是7800

456

20。

{inti,j,a[3][4]={{0,1,2},{3,4,5,6},{7,8}};

{for(j=i;

j<

j++)

%5d"

a[2-i][j]);

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

{chars[]="

012xy\08s34f4w2"

inti,n=0;

s[i]!

=0;

if(s[i]>

='

0'

s[i]<

=9)n++;

n);

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

2070

main()

{intx,i;

for(i=1;

=100;

x=i;

if(++x%2==0)

if(++x%3==0)

if(++x%7==0)printf(“%d”,x);

}}

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

3-1——

{inti,b,k=0;

for(i=1;

=5;

i++){b=i%2;

while(b--)k++;

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

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

----1——

{inta,b;

for(a=1,b=1;

a<

a++){

if(b>

=20)break;

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

b-=5;

printf(“%dn”,a);

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

36

{intk=1,n=263;

do{k*=n%10;

n/=10;

}while(n);

printf(“%dn”,k);

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

31-1

{inti=5;

do{

switch(i%2){case4:

i--;

case6:

i--;

printf(“%d”,i);

}while(i>

0);

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

3,1,-1,3,1,-1,main()

{inti,j;

i++,i++){

for(j=4;

j>

j--){

if((j+i)%2){j--;

printf(“%d,”,j);

--i;

j--;

printf(“%d,”,j);

}}}

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

a=16y=60

{inta=10,y=0;

a+=2;

y+=a;

if(y>

50)break;

}while(a=14);

printf(“a=%dy=%dn”,a,y);

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

i=6,k=4

{inti,j,k=19;

while(i=k-1){

k-=3;

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

elseif(k<

5)break;

i++;

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

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

1,-2

{inty=2,a=1;

while(y--!

=-1)

do{a*=y;

a++;

}while(y--);

printf(“%d,%dn”,a,y);

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

2,3

{inti,k=0;

while(k<

i*i){

if(k%3==0)gotoloop;

loop:

printf(“%d,%dn”,i,k);

编程题:

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

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

3.求(即求1!

+2!

+3!

+…+19!

+20!

)。

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

5.编写程序,求s=1+2+3+……+n,直到累加和大于或等于5000为止,输出s及

n的值。

6.编写程序输出如下图形。

*****

(1)#include"

stdio.h"

{inta,b,num1,num2,temp;

printf("

pleaseinputtwonumbers:

scanf("

%d,%d"

&

num1,&

num2);

if(num1<

num2)/*交换两个数,使大数放在numl上*/

{temp=num1;

num1=num2;

num2=temp;

a=num1;

b=num2;

while(b!

=0)/*利用辗除法,直到b为0为止*/{

temp=a%b;

a=b;

b=temp;

}printf("

gongyueshu:

a);

gongbeishu:

num1*num2/a);

(2)

#include<

iostream>

#include<

string>

usingnamespacestd;

voidmain()

{

charc;

intletters=0,space=0,digit=0,others=0;

cout<

<

"

pleaseinputsomecharacters"

endl;

while((c=getchar())!

\n'

{if(c>

c<

z'

||c>

Z'

)letters++;

elseif(c=='

)space++;

elseif(c>

9'

)digit++;

elseothers++;

其他"

others<

coutvv"

字母"

vvlettersvv"

空格"

space<

数字"

digit<

(2)#include"

{charc;

pleaseinputsomecharacters\n"

while((c=getchar())!

if(c>

letters++;

space++;

digit++;

else

others++;

allinall:

char=%dspace=%ddigit=%dothers=%d\n"

letters,space,digit,others);

(3)#include"

main()

inti,j;

longa,total=0;

for(i=1;

21;

a=1;

for(j=1;

i+1;

a*=j;

total+=a;

total);

(4)#include<

intmain()

intn=0,i=0,j=0,k=0;

//n表示这个三位数,i,j,k分别代表百位,十位,个位.for(n=100;

n<

=999;

n++)

i=n/100;

//i表示百位数

j=(n/10)%10;

//j表示十位数

k=n%10;

//k表示个位数

if(n==(i*i*i+j*j*j+k*k*k))

n);

include<

inti,j,k;

for(j=0;

for(k=0;

k<

k++)

if((i*100+j*10+k)==((i*i*i)+(j*j*j)+(k*k*k)))printf("

%d%d%d"

i,j,k);

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

当前位置:首页 > 高中教育 > 高考

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

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