while循环
基本语法:
while(循环条件){
循环操作语句
}
循环三要素:
循环变量的初值
循环变量的判断
循环变量的更新
int i= 1; //循环变量的初值
while(i <= 10) //判断
i++; //更新
请问j=1+(int)(10.0*rand()/(RAND_MAX+1.0));是什么意思?怎么看?
首先 RAND_MAX 表示 rand( )函数所能产生的最大随机数,在 stdlib.h 中定义如下:
然后可以这样理解
rand( )/ (RAND_MAX + 1.0)他把产生的随机数变成了 0 到 1 之间的随机数,包含 0 ,不包含 1 。然后乘上 10 变成了 0 到 10 之间的随机数,包含 0 ,不包含 10 。然后取 int ,把随机数强制转化为整数,包含 0 ,不包含 10 ,也就是 0 到 9 的随机整数。最后加上 1 ,变成 1 到 11 的随机数,包含 1 ,不包含 11 ,也就是 1 到 10 的随机整数。
扩展:
这样就变成 MIN 到 MAX 之间到随机整数。
do while循环
基本语法:
do{
循环操作
}while(循环条件);
特点:先执行,后判断。
先执行一遍循环操作
符合条件,循环继续执行
否则循环退出
while循环和do while 循环的区别
1, 执行顺序不同
2, 初始情况不满足循环条件时
while先判断后循环(可能一次都不循环)
do-while先循环后判断(不管任何情况都至少执行一次)
for循环
语法:
for(表达式1;表达式2;表达式3)
{
语句;
}
表达式1,通常是为循环变量赋初值,可省略
例如:i=0或cnt=20或count=i
表达式2,循环条件,是否继续执行循环,可省略
例如:i<10或cnt *=2或count–
表达式3,更新循环变量的值,可省略
例如:i++或cnt *=2或count–
分号,用来分隔三个表达式
不可省略!!!! for(;;)是死循环