I.for循环
格式:
for ((循环变量的初始值表达式);(条件表达式);(步进表达式))
{
(循环内容)
}
学到for循环时
你对循环的概念理解就会更深一步了
一般的循环都会有三个东西:
循环变量,条件,步进
循环变量是参与循化的一个变量
它的值一般会随着循环的进行而发生改变
由于它是个变量
所以我们通常要把它初始化
而初始化的过程建议放在该次for循环的上方
//[打印9次a]
#include <stdio.h>
int main()
{
int i = 0;
int j = 0;
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)//这层嵌套使得每次都i循环都会有3次j循环,但如果把i=0和j=0省略了,那就只能打印出3个a
{
printf("a");
}
}
return 0;
}
就如这图中的i和j一样
我们都把初始化的过程放在了它们对应for循环之前
除了这种初始化方式
还有一种是直接在for循环的小括号内进行初始化
如下面这段代码
//[打印1到10]
#include <stdio.h>
int main()
{
for (int i = 1; i <= 10; i++)//三个表达式分别是初始化、条件、步进,注意用分号隔开,而不是常见的逗号隔开
//最好把i的初始化放到前面去,否则不支持C99语法和C++语法的编译器会编译不好
{
printf("%d\n", i);
}
return 0;
}
这种方式少了段代码
但是这种方式只有在C99标准和C++里可以使用
如果我们采用了这种方式
那一但编译器不支持C99和C++
我们的这段代码代码就会报错
而少这一段代码
实质上节省不出多少内存
因此我推荐在for循环之前进行初始化操作
条件表达式存在的意义自然不用多说
用来驱动循环的进行和停止
而步进
一般是防止函数死循环的
比方说i++;
一般就是让循环变量i的值每次循环都+1
使其最后不符合条件
从而跳出循环
除此之外
for循环需要注意的就是for循环里三大表达式的隔开符号是分号而不是逗号
如果是逗号
那就还属于一类表达式
当然表达式也可以省略
它会自动填充
但一般会有代价
为了代码的健壮性
还是建议不要随便省略表达式
小括号里的表达式能写全就尽量写全
这里需要注意一点
for循环先执行初始化,再执行条件,再执行内容,最后才执行步进。
II.do while
格式:
do
{
(循环内容)
} while ((条件表达式));
我们注意while就是在}这行
并非我忘记换行了
do while语法是比较简单的
do while至少会执行一次循环内容
之后是否会继续执行循环内容
就取决于是否满足while里面的条件
满足则会继续循环
不满足则停止
#include <stdio.h>
int main()
{
int i = 1;
do
{
printf("%d ", i);
i++;//起码执行1次,具体后续循环与否,看while的小括号
} while (i <= 10);
return 0;
}
像是这一段代码
就最起码会输出一个1
至于后面是否会继续输入i的值
就看while里的条件了
我们可以发现
这段代码就是在输出1到10十位数字
do while循环
本质也就如其名一样
先干再说循环的事