1、循环的实现方式
●什么是循环
○重复执行代码块
●为什么需要循环
● 循环的实现方式
○ while
○ do...while
○ for
2、while循环
语法格式:
while(条件){
循环体
}
执行思路:
当条件为假时,不执行循环体,否则会一直执行循环体
注意:循环体里一定要有退出条件,否则会陷入死循环
死循环:条件永远为真的循环,叫死循环
3、do...while循环
do{
循环体;
}while(条件)
执行思路:do...while循环是在执行循环体之后才检查条件,条件为真在执行一次,否则跳出循环
所以do...while循环,至少执行一次
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
//1. 输出 5个hello world~~
//int i = 0;// 计数器
//while (i < 5) {
// printf("%d 个hello world\n", i);
// i++;
// }
//printf("end");
/*int i = 0;*/// 计数器
//1 真
//while (1) {
// printf("%d 个hello world\n",i);
// i++;
// //退出条件 出口
// if (i==5) {
// break;//结束循环 循环体里 break后面的代码不执行
// printf("nice~~~~ 永远执行不到");
// }
//案例 :猜谜底 如果是 50 ,猜 的数大于 50 大了,小于50 小了 ,等于50 中了
/*int midi = 50;
int num;
while (1) {
printf("请输入您要猜的数字:");
scanf("%d", &num);
if (num > 50) {
printf("大了~~\n");
}
else if (num<50) {
printf("小了~~\n");
}
else {
printf("中了~~\n");
break;
}
}*/
//1. 输出 5个hello world~~
int i = 0;
//do {
// i++;
// printf("%d 个hello world\n", i);
//
//} while (i < 5);
//do {
// i++;
// printf("%d 个hello world\n", i);
//} while (i >1);
//while (i > 1) {
// i++;
// printf("%d 个hello world\n", i);
//} ;
return 0;
}
/*
循环
1.while(循环的判断条件){
条件成立,执行 循环体;
条件不成立,跳出循环
}
// 循环次数不明确 建议用while
2. do{
循环体;
}while(循环的判断条件)
问题: do...while 比 while 循环多一次 ? 不一定 如果只有一轮循环多一次,否则一样的
*/
4、for循环
c语言中for循环的格式如下:
for(表达式1;表达式2;表达式3){
循环体代码块
}
执行思路:
1、执行表达式1,一般对循环变量做初始化
2、判断表达式2结果,为真,执行循环体,然后向下执行,为假,循环结束;
3、执行表达式3,一般是对循环变量进行操作
4、再次判断表达式的结果,一次循环往复,直至判断结果为假,跳出循环
注意:for循环表达式之间的分号,一定要写!
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
//输出5个hello world
//for (int i = 0; i < 5; i++) {
// printf("%d 个helloworld~~\n", i);
//}
//int i;
//for (i = 0; i < 5; i++) {
// printf("%d 个helloworld~~\n", i);
//}
// 三个语句 都可以省略
//int i = 0;
//for (; i < 5; i++) {
// printf("%d 个helloworld~~\n", i);
//}
/*int i = 0;
for (; ; i++) {
if (i == 5) {
break;
}
printf("%d 个helloworld~~\n", i);
}*/
int i = 0;
for (; ;) {
i++;
if (i == 5) {
break;
}
printf("%d 个helloworld~~\n", i);
}
return 0;
}
/*
for(条件初始化;循环判断条件;循环迭代){
循环体;
}
(1)条件初始化 int i=0;// 只执行一次
(2)循环判断条件 i<5
条件成立,执行 代码块 ---执行(3)步
条件不成立,结束循环
(3)循环迭代 i++ (重复第 (2))
*/
4、对比三种循环语句
三种循环在具体的使用场景上是有区别的:
1、在知道循环次的情况下,更适合使用for循环
2、不知道循环次数的情况下,适合使用while和do while循环
3、如果可能一次都不循环,考虑使用while循环
4、如果至少循环一次,考虑使用do while循环
5、本质上来讲 while 和 do while循环是可以相互转换的