一、循环控制结构与循环语句
1、循环结构分为计数控制的循环(处理次数已知)和条件控制的循环(处理次数未知),又分为当型循环结构和直到型循环结构。
for语句和while语句为当型循环结构,do-while语句为直到型循环结构。
✔如果循环次数已知,用for
✔如果循环次数未知,用while
✔如果循环体至少要执行一次,用do-while
ps:for语句中三个表达式之间有且仅有两个分号。若循环控制表达式省略,则表示循环条件永真。
2、循环变量可以充当一般变量使用。
合变量输出值作为循环上的一条语句。
逗号:连接多个表达式,形成一个表达式。
仅由一个分号构成的语句,称为空语句。
除非特殊需要,一般不在for语句后加分号。
二、计数控制的循环(循环次数事先已知)
1、累加、累减、累乘、累除等。
三、嵌套循环
1、将一个循环语句放入另一个循环语句的循环体中构成的循环,称为嵌套循环。
2、若两个循环嵌套,第一个循环控制横向数据,第二个循环控制纵向数据。
3、暴力法:列举所有方面进行计算,适用于情况有限的题目。
四、条件控制的循环
1、循环次数事先未知的循环通常由一个条件控制,称为条件控制的循环。
2、floor取下限(下取整数),ceil取上限(上取整数)。
3、rand()取随机数--伪随机数
rand()%100+1将随机数的取值范围平移到[a,a+b-1]之间。
4、int counter=0 计数器,记录用户使用的次数,初始化为0。
5、srand(1) 设置随机数种子为1。
随机种子数--一种以随机数作为对象的以真随机数(种子)为初始条件的随机数。
6、time()的头文件为time.h 。
五、流程的转移控制
1、goto语句:为无条件语句,它既可以向下跳转,也可以向下跳转。它的作用是在不需要任何条件的情况下直接使程序跳转到该语句标号所标识的语句去执行。
2、break语句:只限定流程跳转到循环语句之后的第一条语句去执行。
3、continue语句:当遇到continue语句时,程序将跳过continue语句后面尚未执行的语句,开始下一次循环,即只结束,本次循环的执行,并不终止整个循环的执行。
ps:在嵌套循环的情况下,break语句和continue语句只对包含它们的最内层的循环语句起作用,不能用break语句跳出多重循环。
4、exit(0)退出系统--强行退出--不会运行出结果