for循环语法:
for( 表达式1;表达式2;表达式3)
{
循环体
}
循环从表达式1开始 - 表达式2(判别表达式)- 真 - 执行循环体 - 表达式3 - 判断表达式2
真 : 继续 — 循环体—表达式3 — 表达式2
假 :跳出循环(正常情况下,for循环的出口是表达式2)
练习:使用for循环,求1-100的和?
for循环的变换形式
循环因子:a、在for循环之前定义,在for循环,结束后依然能使用。
b、定义for循环之内,for循环结束后,不能使用
for(int i =1; i <= 100; i++)//将定义i 放在for循环内表达式1
{
sum = sum +i;
}
//循环结束,打印出累加结果
printf("sum = %d, i= %d", sum, i);
int i= 1; // 定义循环因子
int sum =0;
for ( ; i<=100; i++) //不写表达式1
{
sum = sum +1;
}
省略表达式2
int i= 1; // 定义循环因子
int sum =0;
for ( ; i<=100; ) //不写表达式1,不写表达式3
{
sum = sum +1;
i++;
}
省略表达式3
int i= 1; // 定义循环因子
int sum =0;
for ( ; ; ) //不写表达式2,相当于for(;1 ;)表达式2为真(1),这出现一个死循环
{
printf("i =%d", i);
i++;
} // 死循环
解决死循环的方法是:
方法1:for( ; ;)
方法2:while
练习:猜数字游戏,产生一个随机数,用户键盘输入一个数据,程序提示用户输入的数据><=随机数,用户根据提提示不断变换输入,最终猜中产生的随机数?
1、添加一个随机数,作用,保证随机数真正的随机
srand ( time (NULL)); //固定写法
//time(NULL):获取系统当前时间,unsigned long long 类型
//srand() :函数来生成随机数,使用系统时间为算法的系统
2、添加头文件
//srand()—(stdlib.h)
//time() —(time.h)
3、生成随机数
int n = rand() %100; //随机数范围:0-99;
嵌套for循环
int i =0; //外层循环的循环因子
int j = 0; //内层循环的循环因子
for( i =0; i <10; i++)
{
for( j =2; j <10; j++)
{
//循环体
}
}
//外层循环执行一次,内层循环执行一周
练习:打印电子表
练习:打印输出9 * 9乘法表