1、第 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 循环是先执行循环体语句,后判
2、定表达式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 的循环控
3、制条件比 do-while 的循环控制条件严格第 5 章 循环结构程序设计 35C. do-while 允许从外部转到循环体内D. do-while 的循环体不能是复合语句(5)以下程序段 C 。int x=-1;dox=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 (kmain()int i;for (i=4;imain(
4、)int num=0;while (nummain()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;第 5 章 循环结构程序设计 37case 0:case 5: s+=2; break;coutmain()int i=1,s=3;dos+=i+;if (s%7=0)continue;else+i; while (smain()int i,j;for (i=4;i=1;i-)coutmain()38 第部分 C 程序设计教程学习指导int i,j,k;
5、for (i=1;imain()int i,j,k;for (i=1;i0;k-)cout第 5 章 循环结构程序设计 39main()int i,j,k;for (i=1;i0;i-)for (j=1;j=20-3*i;j+)cout“ “;for (k=1;k=2*i-1;k+)cout“*“;coutendl;输出结果:*3. 编程题(1)编写一个程序,求 之值。1094132(2)编写一个程序,求 s=1+(1+2)+(1+2+3)+(1+2+3+n)的值。(3)编写一个程序,用户输入一个正整数,把它的各位数字前后颠倒一下,并输出颠倒后的结果。(4)编写一个程序,求出 200 到 30
6、0 之间的数,且满足条件:它们三个数字之积为42,三个数字之和为 12。(5)编写一个程序,求出满足下列条件的四位数:该数是个完全平方数,且第一、三位数字之和为 10,第二、四位数字之积为 12。(6)编写一个程序,求 e 的值。40 第部分 C 程序设计教程学习指导!1!21ne(7)编写一个程序,求满足如下条件的最大的 n:103222(8)某人摘下一些桃子,卖掉一半,又吃了一只;第二天卖掉剩下的一半,又吃了一只;第三天、第四天、第五天都如此办理,第六天一看,发现就剩下一只桃子了。编写一个程序,采用迭代法问某人共摘了多少只桃子。(9) 输入一批非 0 数,直到输入 0 时为止,计算其中奇数
7、的平均值和偶数的乘积。(东师大,01 年)(10)求一组整数中的正数之积与负数之和,直到遇到 0 时结束。 (东师大,03 年)(11)输入一组实数,求前 10 个正数的平均值。 (东师大, 02 年)(12)编程求 1200 中能被 2,3,5 除余 1 的前 10 个整数。 (东师大,02 年)(13)输入 100 个整数,统计这些数中能被 3 或 5 整除数所占的百分比。 (东师大,02年)(14)计算并输出 200600 中能被 7 整除,且至少有一位数字是 3 的所有数的和。(东师大,01 年)(15)输出 1999 中能被 5 整除,且百位数字是 5 的所有整数。 (东师大,04
8、年)(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 担货,大
9、马一匹驮 3 担,中马一匹驮 2 担,小马两匹驮 1 担。试编写程序计算大、中、小马的数目。 (东师大,06 年)(21)求 1100 之间数的每位数的乘积大于每位数的和的数。 (东师大,07 年)(22)一个正整数与 3 的和是 5 的倍数,与 3 的差是 6 的倍数,编写一个程序求符合条件的最小数。 (东师大,08 年)(23)为了求正整数 n 的平方根,可以使用如下迭代法求解:(南师大 04)使用 C 语言编 写一个完整的程序,)(211 iii xnxx第 5 章 循环结构程序设计 41以求出用户从键盘上输入的任何正整数的平方根。24.有一口深度为 h 米的水井,井底有一只青蛙,它每天白天能够沿井壁向上爬 m 米,夜里则顺井壁向下滑 n 米,若青蛙从某个早晨开始向外爬,试编写一个函数:对于任意指定的 h,m,n 值(均为自然数) ,计算青蛙多少天能够爬出井口?并简要说明程序实现的基本思想。 (南师大 09)求平方根,乒乓球比赛题目