当前位置:文档之家› C语言循环结构练习题带标准答案

C语言循环结构练习题带标准答案

C语言循环结构练习题带标准答案
C语言循环结构练习题带标准答案

第5章循环结构程序设计

5.1基本知识点

while语句的使用格式和注意事项

do-while语句的使用格式和注意事项

for语句的使用格式和注意事项

break和continue语句在循环语句中的应用

循环结构的嵌套

使用goto语句实现循环结构

穷举法程序设计方法

迭代程序设计方法

5.2练习题5

1.单项选择题

(1)语句while (!e)。中的条件!e等价于A。

A. e==0

B. e!=1

C. e!=0

D. ~e

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

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

B. for循环是先执行循环体语句,后判定表达式

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

D. for循环体语句中,可以包含多条语句,但要用花括号括起来

(3)C语言中D。

A. 不能使用do-while语句构成的循环

B. do-while语句构成的循环必须用break语句才能退出

C. do-while语句构成的循环,当while语句中的表达式值为非零时结束循环

D. do-while语句构成的循环,当while语句中的表达式值为零时结束循环

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

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

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

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

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

(5)以下程序段C。

int x=-1。

do

{

x=x*x。

}

while (!x)。

A. 是死循环

B. 循环执行二次

C. 循环执行一次

D. 有语法错误

(6)下列语句段中不是死循环的是__C__。

A. i=100。

while (1)

{

i=i%100+1。

if (i==20) break。

}

B.for (i=1。。i++)

sum=sum+1。

C.k=0。

do

{

++k。

} while (k<=0)。

D.s=3379。

while (s++%2+3%2)

s++。

(7)与以下程序段等价的是__A__。

while (a)

{

if (b) continue。

c。

}

A. while (a)

B. while (c)

{ if (!b) c。 } { if (!b) break。 c。 } C. while (c)D. while (a)

{ if (b) c。 }{ if (b) break。 c。 } (8)以下程序的输出结果是_B___。

35 / 8

#include

main()

{

int i。

for (i=4。i<=10。i++)

{

if (i%3==0) continue。

COUT<

}

}

A. 45

B. 457810

C. 69

D. 678910

(9)以下程序的输出结果是__C__。

#include

main()

{

int num=0。

while (num<=2)

{

num++。

cout<

}

}

A. 1

B. 1

C. 1

D. 1

222

33

4

2.填空题

(1)以下程序的运行结果是__S=7__。

#include

main()

{

int s=0,k。

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

{

switch(k)

{

case 1:

case 4:

case 7: s++。 break。

case 2:

case 3:

case 6: break。

case 0:

case 5: s+=2。 break。

}

}

cout<

}

(2)以下程序的运行结果是i=8。

#include

main()

{

int i=1,s=3。

do

{

s+=i++。

if (s%7==0)

continue。

else

++i。

} while (s<15)。

Cout<

}

(3)以下程序的运行结果是____。

#include

main()

{

int i,j。

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

{

cout<<"*"。

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

cout<<"*"。

cout<<"\n"。

}

}

输出结果:

*

**

***

****

(4)以下程序的运行结果是____。

#include

main()

{

37 / 8

int i,j,k。

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

{

for (j=1。j<=20-2*i。j++) cout<<" "。

for (k=1。k<=i。k++)

cout<

cout<

}

}

输出结果:

1

22

333

4444

55555

666666

(5)以下程序的运行结果是____。

#include

main()

{

int i,j,k。

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

{

for (j=1。j<=20-3*i。j++) cout<<" "。

for (k=1。k<=i。k++)

cout<

for (k=i-1。k>0。k--)

cout<

cout<

}

}

输出结果:

1

121

12321

1234321

123454321

12345654321

(6)以下程序的运行结果是____。#include

39 / 8

main()

{

int i,j,k 。

for (i=1。i<=4。i++)

{

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

cout<<" "。

for (k=1。k<=2*i-1。k++)

cout<<"*"。

cout<

}

for (i=3。i>0。i--)

{

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

cout<<" "。

for (k=1。k<=2*i-1。k++)

cout<<"*"。

cout<

}

}

输出结果:

*

***

*****

*******

*****

***

*

3.编程题

(1)编写一个程序,求100

199********-++-+- 之值。 (2)编写一个程序,求s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值。

(3)编写一个程序,用户输入一个正整数,把它的各位数字前后颠倒一下,并输出颠倒后的结果。

(4)编写一个程序,求出200到300之间的数,且满足条件:它们三个数字之积为42,三个数字之和为12。

(5)编写一个程序,求出满足下列条件的四位数:该数是个完全平方数,且第一、三位数字之和为10,第二、四位数字之积为12。

(6)编写一个程序,求e 的值。

!

1!21!111n e ++++≈ (7)编写一个程序,求满足如下条件的最大的n :

10003212222≤++++n

(8)某人摘下一些桃子,卖掉一半,又吃了一只;第二天卖掉剩下的一半,又吃了一只;第三天、第四天、第五天都如此办理,第六天一看,发现就剩下一只桃子了。编写一个程序,采用迭代法问某人共摘了多少只桃子。

(9) 输入一批非0数,直到输入0时为止,计算其中奇数的平均值和偶数的乘积。(东

师大,01年)

(10)求一组整数中的正数之积与负数之和,直到遇到0时结束。(东师大,03年)

(11)输入一组实数,求前10个正数的平均值。(东师大,02年)

(12)编程求1~200中能被2,3,5除余1的前10个整数。(东师大,02年)

(13)输入100个整数,统计这些数中能被3或5整除数所占的百分比。(东师大,02年)

(14)计算并输出200—600中能被7整除,且至少有一位数字是3的所有数的和。(东师大,01年)

(15)输出1~999中能被5整除,且百位数字是5的所有整数。(东师大,04年)

(16)设N 是一个四位数,它的9倍恰好是其反序数(例如:1234的反序数是4321),求N 值。(东师大,03年)\

(17)有这样一个三位数,该三位数等于其每位数字的阶乘之和,即abc=a !+b !+c !。(如:145=1!+4!+5!)(东师大,04年)

(18)编写程序求出满足下列条件的四位数:该数是个完全平方数;千位、十位数字之和为10,百位、个位数字之积为12。(东师大,05年)

(19)已知abc+cba=1333,其中a,b,c 均为一位数,编写一个程序求出abc 分别代表什么数字。(东师大,05年)

(20)100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马两匹驮1担。试编写程序计算大、中、小马的数目。(东师大,06年)

(21)求1~100之间数的每位数的乘积大于每位数的和的数。(东师大,07年)

(22)一个正整数与3的和是5的倍数,与3的差是6的倍数,编写一个程序求符合条件的最小数。(东师大,08年)

(23)为了求正整数n 的平方根,可以使用如下迭代法求解:(南师大04)

使用C 语言编)(211i

i i x n x x +=+写一个完整的程序,

以求出用户从键盘上输入的任何正整数的平方根。

24.有一口深度为hM的水井,井底有一只青蛙,它每天白天能够沿井壁向上爬mM,夜里则顺井壁向下滑nM,若青蛙从某个早晨开始向外爬,试编写一个函数:对于任意指定的h,m,n值(均为自然数),计算青蛙多少天能够爬出井口?并简要说明程序实现的基本思想。(南师大09)

求平方根,乒乓球比赛题目

41 / 8

相关主题
文本预览
相关文档 最新文档