萌新的学习笔记,写错了恳请斧正。
目录
while
C语言中有3种循环语句,while便是其中一种:
while (表达式)
语句;
//如果循环体想包含更多的语句,可以加上⼤括号
当表达式为真(非零时)重复执行语句直到表达式为假(0)
具体执行方式:
例子:
#include <stdio.h>
int main()
{
int i = 1; //初始化变量
while(i <= 114514) //判断循环变量
{
printf("%d ", i); //循环体
i++; //调整循环变量
}
return 0;
}
这就能打印1~114514的所有数字了
但是,当我们写的代码比较长时
用while就会导致循环变量的初始化-判断-调整相隔过长
这就不方便代码的书写、查看与维护
所以引入了for循环
for
for循环是三种循环中最常用的,结构如下:
for(表达式1; 表达式2; 表达式3)
语句;
//如果循环体想包含更多的语句,可以加上⼤括号
for循环的三个表达式是有讲究的
- 表达式1用于循环变量的初始化
- 表达式2用于循环结束条件的判断
- 表达式3用于循环变量的调整
整个循环过程中表达式1初始化部分只执行了一次
剩下来便是表达式2、循环体、表达式3在不停循环
举个例子:
#include <stdio.h>
int main()
{
int i = 0;
for(i=1; i<=114514; i++)
{
printf("%d ", i);
}
return 0;
}
这同样也是打印1~114514的所有数字
do while
do while是最少见的一种循环形式,用法如下:
do
语句;
while (表达式);
它和上面两种循环有显著区别:
while和for都是先判断,条件满足就进入循环
而do while是先循环,一轮结束后判断,不满足则退出循环
举例:
统计非负整数位数
#include <stdio.h>
int main()
{
int n = 0;
scanf("%d", &n);
int cnt = 0;
do
{
cnt++;
n = n / 10;
}
while (n);
printf("%d\n", cnt);
return 0;
}
这里用do while比用另外俩好一点
因为n即使是0,也应该统计一位