1.10、C语言循环语句

循环语句:允许我们多次执行一个语句或语句块 — for循环、while循环、do…while循环

for循环

for(初始表达式1;判断表达式2; 控制表达式3){        
		//条件成立执行的内容;    
}
	初始表达式1:循环控制变量;    首先被执行,且只执行一次
	判断表达式2:循环的条件,如果判断表达式为真,则执行循环体的内容
	控制表达式3:控制循环条件,指向循环的结束

允许在初始表达式定义控制变量
表达式2允许进行复杂的表达式判断
允许表达式1,表达式3缺少,在表达式3缺少的情况下需要在与具体内做表达式3的改变,指向循环的结束,否则进入死循环
死循环:

 for( ; ; ) {           
  //执行的语句块;       
 }

辅助控制语句
break 终止循环或switch语句,程序流将继续执行循环或switch的下一条语句。
continue 停止一次循环,重新开始下一次循环

while循环

while(条件表达式){            
	//循环体,要不断重复执行的内容         
}    

只要条件表达式为真值(1)就会被执行,任意非0值都是ture。 在使用while循环要注意运算符优先级 构建死循环的条件,表达式一直为真

do…while语句

do{                    
	//循环体,要不断重复执行的内容                    
}while(条件表达式);

先执行一次在判断条件
whlie最少运行0次do…while最少运行1次

练习
for-- while–
1、输出一下图像在这里插入图片描述

2、求1+2+3+…+100的和并输出

3、输出如下图形,10行
在这里插入图片描述
4、输出0-100所有的偶数

5、一张纸的厚度是0.08mm,对折多少次能够达到珠穆朗玛峰的高度(8848.13m)?对折次数+米数

6、打印i * j 的 * 边框(i j 键盘接收)
例: i = 4, j = 5 在这里插入图片描述
7、 打印这个图形
*   ***  *********************
8、打印99乘法表4.计算1+2+3+4+5+…+n, n是从键盘输入的自然数的和

9、// 穷举
要将5张100元的大钞票,换成等值的50 20 10 5小钞票,每种面值至少一张,要多少张,有多少种换法把所有的可能性的东西,全部列举 a b c d 50a+20b+10c+5d==500

10、有这样的一个等式,xyz+yzz=532,编程求x y z的值

11、计算1^2 + 2^2 + 3^2 + … +10^2的结果
(1的平方 + 2的平方) i = 1 i <= 10 i*i

12、输入20个人的0-100的成绩,输出不及格的总人数(0<=score<60 为不及格)

13、随机产生100个三位随机数,找出其中能被 3 5 7整除的数

14、打印2-100以内所有的质数(只能被1 和 本身整除的数)

15、猜数游戏(随机产生一个1000以内的数,去猜, 如果大了打印猜的大了, 如果小了打印猜的小了, 如果正确打印对的 每次打印必须打印出猜的次数)

16、把11修改成,程序开始时,先输入需要猜的数的范围n例:(想要猜数的范围是(0-10000) 那么变量n接收键盘上10000 范围都是从0开始)

17、编写一个程序,用while,该程序读取整数,直到输入0,输入终止后,程序应该报告输入的偶数(不包括0)总个数,偶数的平均值,输入的奇数总个数以及奇数的平均值。

18、编写一个程序,将用分钟表示的时间转化成以小时和分钟表示的时间。使用#define或者const来创建一个代表60的字符常量。使用while循环来允许用户重复键入值,并且当键入一个小于等于0的时间时终止循环。要求用while语句

19、编写一个程序打印一个表,表的每一行都给出一个整数,它的平方以及它的立方,要求用户输入表的上限和下限,打印上限下限之间的数据。使用一个for循环。

20、编写一个程序,输出100-199的全部素数。

21、编写一个程序,输出100~1000之间的所有各位数之和为10的数。

22、编写一个程序,输出如下图案: *   ***  ************  *****   ***    *

23、编写一个程序,找出1000以内所有的完数,所谓完数就是一个数恰好等于它的因子之和,例如6=1+2+3,6就是一个完数。

24、打印斐波那契数列

25、打印杨辉三角

26、计算n的阶乘 n!

27、打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。 例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。

28、我国古代数学家张邱建在《算经》中出了一道“百钱买百鸡”的问题,题意是这样的: 5文钱可以买一只公鸡,3文钱可以买一只母鸡,1文钱可以买3只雏鸡。现在用100文钱买100只鸡,那么各有公鸡、母鸡、雏鸡多少只?请编写程序实现。

29、这是经典的"百马百担"问题,有一百匹马,驮一百担货,大马驮3担,中马驮2担,两只小马驮1担,问有大,中,小马各几匹?

30、使用嵌套循环产生下列图案,要求用for嵌套循环
F
_FE
__FED
___FEDC
____FEDCB
_____FEDCBA

31、编写一个程序打印一个表,表的每一行都给出一个整数,它的平方以及它的立方,要求用户输入表的上限和下限。使用一个for循环。

32、编写一个程序,要求输入两个浮点数,然后打印出用二者的差值除以二者的乘积所得到的结果,在用户键入非数字的输入之前程序循环处理每次输入值。要求用while语句

33、编写一个程序把8个整数读入一个数组中。然后以相反的顺序打印他们。

34、编写一个程序,创建一个8个元素的int数组,并且把元素分别设置为2的前8次幂,然后打印出他们的值。使用for循环来设置值;为了变化,使用do while循环来显示这些值。

35、编写一个程序,创建两个8元素的double数组,使用一个循环来让用户键入第一个数组的8个元素的值,程序把第二个数组的元素设置为第一个数组元素的累积和,例如,第二个数组的第4个元素应该等于第1个数组的前4个元素的和,第二个数组的第5个元素应该等于第一个数组的前5个元素的和,最后,使用一个循环来显示两个数组中的内容,第一个数组在一行中显示,而第二个数组中的每个元素在第一个数组的对应元素之下进行显示。

36、Daphne以10%的单利息投资了100美元(也就是说,每年投资赢的利息等于原始投资的10%)。Deirdre则以每年5%的复合利息投资了100美元(也就是说,利息是当前结余的5%,其中包括以前的利息)。编写一个程序,计算需要多少年Deirdre的投资额才会超过Daphne,并且显示出到那时两个人的投资额。

37、编写一个程序,用while,该程序读取整数,直到输入0,输入终止后,程序应该报告输入的偶数(不包括0)总个数,偶数的平均值,输入的奇数总个数以及奇数的平均值。

猜你喜欢

转载自blog.csdn.net/qq_41110647/article/details/106314821