for( 表达式1;表达式2;表达式3)
{
循环体
}
循环从表达式1开始 - 表达式2(判别表达式)- 真 - 执行循环体 - 表达式3 - 判断表达式2
真 : 继续 — 循环体—表达式3 — 表达式2
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#include <Windows.h>
int main(void)
{
int i = 0; //定义i,给初始值
//定义变量记录累加值
int sum = 0; // 初值为0
for ( i = 1; i <= 100; i++)
{
sum = sum + i;
}
//循环累加结果
printf("sum =%d\n", sum);
return EXIT_SUCCESS;
}
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\n", 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++;
}int i= 1; // 定义循环因子
int sum =0;
for ( ; ; ) //不写表达式2,相当于for(;1 ;)表达式2为真(1),这出现一个死循环
{
printf("i =%d\n", i);
i++;
} // 死循环
| 解决死循环的方法是: 方法1:for( ; ;) 方法2:while |
练习:猜数字游戏,产生一个随机数,用户键盘输入一个数据,程序提示用户输入的数据><=随机数,用户根据提提示不断变换输入,最终猜中产生的随机数?
1、添加一个随机数,作用,保证随机数真正的随机
srand ( time (NULL)); //固定写法
//time(NULL):获取系统当前时间,unsigned long long 类型
//srand() : 函数来生成随机数,使用系统时间为算法的系统
2、添加头文件
//srand()—(stdlib.h)
//time() —(time.h)
3、生成随机数
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#include <Windows.h>
int main(void)
{
/*练习:猜数字游戏,产生一个随机数,用户键盘输入一个数据,程序提示用户输入的数据 > <= 随机数,用户根据提提示不断变换输入,最终猜中产生的随机数?
1、添加一个随机数,作用,保证随机数真正的随机
srand(time(NULL)); //固定写法
//time(NULL):获取系统当前时间,unsigned long long 类型
//srand() : 函数来生成随机数,使用系统时间为算法的系统
2、添加头文件
//srand()—(stdlib.h)
//time() —(time.h)
3、生成随机数
int n = rand() % 100; //随机数范围:0-99;
*/
//生成随机数
srand(time(NULL));
//生成随机数 n
int n = rand() % 100; //范围0-99
int num; //定义num 变量,给用户输入数据
//创建一个死循环,给用户猜数字
for(;;)
{
//获取用户输入数据
scanf("%d", &num);
//提示用户
if (num > n)
{
printf("猜大了!\n");
}
else if (num < n)
{
printf("猜小了!\n");
}
else
{
printf("猜中了!\n");
break;
}
}
printf("中将数:%d\n", n);
return EXIT_SUCCESS;
}
嵌套for循环
int i =0; //外层循环的循环因子
int j = 0; //内层循环的循环因子
for( i =0; i <10; i++)
{
for( j =2; j <10; j++)
{
//循环体
}
}
//外层循环执行一次,内层循环执行一周嵌套for循环
int i =0; //外层循环的循环因子
int j = 0; //内层循环的循环因子
for( i =0; i <10; i++)
{
for( j =2; j <10; j++)
{
//循环体
}
}
//外层循环执行一次,内层循环执行一周#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#include <Windows.h>
int main02(void)
{
//打印电子表
int i, j, k;
for (i = 0; i < 24; i++)
{
for (j = 0; j < 60; j++)
{
for (k = 0; k < 60; k++)
{
printf("%02d:%02d:%02d\n", i, j, k);
Sleep(1000);
system("cls"); //清屏
}
}
}
return EXIT_SUCCESS;
} 练习: //打印九九乘法表 #define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#include <Windows.h>
int main03(void)
{
//打印九九乘法表
int i, j;
for (i = 1; i <= 9; i++)
{
for (j = 1; j <= i; j++)
{
printf("%d*%d=%d\t", j, i, j * i);
}
putchar('\n');
}
return EXIT_SUCCESS;
}


京公网安备 11010502036488号