搜索
您的当前位置:首页循环程序设计习题及答案

循环程序设计习题及答案

来源:乌哈旅游
可编辑

模块三 循环程序设计习题及答案

一、填空题

1、当在数据处理中要重复执行相同的操作时,宜采用 程序结构来实现。

2、循环的3要素是 、 、 。

3、在循环语句体中包含另一个循环语句的用法称为 。

4、执行循环语句体中的break语句后将使用包含它的循环语句 。

5、要结束当前正在执行循环体语句而直接进入下一循环周期,需要执行 语句。

6、在for语句中表达式允许省略,但 不能少,语句for( ; ;) ;构成的是 循环。

7、在for语句中,省略表达式2时,则循环为 循环。

8、执行语句for(i=1;i++<4; );后变量i的值是 。

9、要使用循环程序提前结束本次循环周期并开始下一个循环周期,应在循环体内有条件使用 语句。

欢迎下载,精选文档

可编辑

10、在每次循环周期均要执行一次的语句,称为 。

11、for语句括号内的3个表达式的作用分别是 、 和循环控制变量的更新。

二、选择题

1、若k为整形变量,则while循环共循环( k=5;

while(k>=0) k-1;

A、无限循环 B、6次 C、5次 D、4次

2、与while( ! n) ; 中表达式!dn等价的是( A、dn>=0 B 、dn!=0

C、dn == 0 D、dn != 1

3、以下程序段,while循环执行的次数是( 欢迎下载,精选文档

)。

可编辑

int k=0;

while( k == 1) k++;

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

C、一次也不执行 D、执行1次

4、在C语言中,当do while语句中的条件为( A、0 B、1

C、TRUE D、非0

5、下面程序段的输出结果是( ) do

{ b-=a;

a++;

}while(b--<0);

A、10,-1 B、2,8

欢迎下载,精选文档

)时,结束该循环。

可编辑

C、9,0 D、4,-3

6、以下描述正确的是( )

A、由于do while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。

B、do while循环由do开始,用while结束,在while(表达式)后面不能写分号

C、在do while循环体中,一定要有能使while后面匠值变为零的操作

D、do while循环中,根据情况可以省略while

7、若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)。

s=c;

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

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

A、s=a+b; B、s=a+c; C、s=s+c; D、s=b+c;

8、假定a,b,c,d均已定义为整型变量,且a、c均已赋值,a大于0,c大于0,则与程序段for(d=a,b=1;b<=c;b++) d--;功能等价的语句是( )

欢迎下载,精选文档

可编辑

A、d=a+b; B、d=a+c; C、d=a-b; D、

欢迎下载,精选文档

可编辑

d=a-c

9、下列关于for循环的说法正确的是( )

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

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

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

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

10、下列语句中能跳出循环的是( )

A、for(y=0,x=1;x>++y;x=i++) i=x;

B、for( ; ;x++)

C、while(1) {x++; }

D、for(i=10; ;i--) sum+=i;

三、程序填空题

1、等比数列的第一项a=1,公比q=2,下列程序是求满足前n项和小于100的最大n。

欢迎下载,精选文档

可编辑

main()

{ int a,q,n,sum=0;

a=1;q=2;n=0;

do

{ ;

n++;

a*=q;

}while( );

;

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

}

2、计算1-3+5-7+…-99+101的值。

#include\"stdio.h\"

欢迎下载,精选文档

可编辑

main()

{

欢迎下载,精选文档

可编辑

int i;t=1,s=0;

for(i=1;i<=101;i+=2)

{ ;

;

}

printf(\"1-3+5+...-99+101=%d\

}

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

#include\"stdio.h\"

main()

{

int i,j;

for(i=0; ;i++)

欢迎下载,精选文档

可编辑

{ j=i*10+6;

if( )

printf(\"%d \ );

}

}

四、程序运行结果

1、#include\"stdio.h\"

main()

{

int a,b;

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

{

if(b>=20) break;

欢迎下载,精选文档

可编辑

if(b%3==1)

{

b+=3;

欢迎下载,精选文档

可编辑

continue;

}

b-=5;

}

printf(\"%d\\n\

}

程序运行结果:

2、#include\"stdio.h\"

main()

{

int i;

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

switch(i%5)

欢迎下载,精选文档

可编辑

{

case 0:printf(\"*\");break;

case 1:printf(\"#\");break;

case 2:printf(\"&\");break;

default:printf(\"\\n\");

}

}

程序运行结果:

3、#include\"stdio.h\"

main()

{

int i,x;

for(i=1,x=1;i<=50;i++)

欢迎下载,精选文档

可编辑

{

if(x>=10) break;

if(x%2==1)

欢迎下载,精选文档

可编辑

{

x+=5;

continue;

}

x=3;

}

printf(\"x=%d,i=%d\

}

程序运行结果:

4、#include\"stdio.h\"

main()

{

int i , j ;

欢迎下载,精选文档

可编辑

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

{

printf(\"*\");

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

printf(\"*\");

printf(\"\\n\");

}

}

程序运行结果:

五、编程题

1、 用C语言编程实现任意输入一个十进制数,将其转换为二进制数并输出。

欢迎下载,精选文档

可编辑

2、输入n的值,编程计算并输出 s(n)=1*1+2*2+3*3+……+n*n

模块三 循环程序设计答案

一、填空题

1. 循环

2. 循环条件 循环体 循环控制变量

3. 循环嵌套(嵌套循环)

4. 提前结束包含它的循环语句的执行

5. continue

6. 分号 无限

7. 无限

8. 5

9. continue

10. 循环体

欢迎下载,精选文档

可编辑

11. 循环变量赋初值 循环测试条件

二、填空题

1. A

2. C

3. C

4. A

5. B

6. C

7. C

8. D

9. D

10. A

三、程序填空题

欢迎下载,精选文档

可编辑

1. sum+=a sum<100 n- -

欢迎下载,精选文档

可编辑

2. s+i*t t=-t

3. i<10 j%3==0 j

四、程序阅读

1. 8

2. $&

*

3. x=3,i=51

4. *

**

***

****

五、编写程序

1.

欢迎下载,精选文档

可编辑

#include\"stdio.h\"

main()

{

int s,t=1;

long e=0;

printf(\"请输入一个十进制数:\\n\");

scanf(\"%d\

while(s!=0)

{

e=e+(s%2)*t;

s=s/2;

t=t*10;

}

欢迎下载,精选文档

可编辑

printf(\"该数的二进制数为%d\\n\

}

2.

欢迎下载,精选文档

可编辑

#include\"stdio.h\"

main()

{

int i,n,s=0;

printf(\"请输入n的值:\\n\");

scanf(\"%d\

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

s+=i*i;

printf(\"%d\

}

.

欢迎下载,精选文档

因篇幅问题不能全部显示,请点此查看更多更全内容

Top