在我们学习C语言相关知识的时候,C语言的分支和循环语句在我们想要重复执行我们想要的一段代码时,缺少不了的就是分支和循环语句。接下来我将介绍分支语句(if-else和switch),循环语句(break,contiune,for,while和do-while)。
分支语句
if-else语句
if-else语句是分支语句里面基础的语句,可以根据不同的情况来执行不同的代码块,以下是其基本的语法
if (表达式1) {
// 如果表达式1为真,则执行该代码块
} else {
// 如果表达式1为假,则执行该代码块
}
如果表达式1成立的话,那么就执行if里面的代码块语句 否则执行else里面的语句 当然在表达式里面不为0的话也是会执行if语句,为0执行else里面的语句。
switch语句
switch语句可也是一个分支语句,能够根据不同的情况来执行不同的代码块,以下是switch的一些基本语法。
switch (expression) {
case constant1:
// 如果 expression 等于 constant1,则执行该代码块
break;
case constant2:
// 如果 expression 等于 constant2,则执行该代码块
break;
// 可以有更多的 case 语句
default:
// 如果 expression 不等于任何一个 constant,则执行该代码块
break;
}
switch就相当于键盘上的按键一样,你按哪就是指向哪里执行 expression就是一个表达式 ,他会与后面case 的常量进行比较匹配找到相应的ASCII码值来进行后面的语句,如果没有一个ASCII码值与之对应,那么就会进行default语句。
循环语句
break,countinue都是控制循环流程的关键语句。
break
break通常与用于循环语句(for,while,do-while)和switch语句,当循环语句或者switch语句遇到break时,那么他会结束当前循环或者case语句,进入下一个代码,以下是break语句的基本用法实例。
for (int i = 0; i < 10; i++) {
if (i == 5) {
break; // 当i等于5时,跳出循环
}
printf("%d\n", i);
}
当上面的i=5时,那么输出的结果就是这样的。
0
1
2
3
4
continue
continue通常是结束当次循环的剩余的代码,然后进行下一次循环,比如这是一个for循环中使用continue的代码。
for (int i = 0; i < 10; i++) {
if (i == 5) {
continue; // 当i等于5时,跳过当前迭代
}
printf("%d\n", i);
}
i=5时,它会跳过那一次的循环,那么上面输出的结果是:
0
1
2
3
4
6
7
8
9
他只会跳过达成条件的那一次代码。
for循环
for循环是一个可以将一段代码在满足条件的情况下重复执行,直到不满足条件为止,以下是for循环的基本用法:
for (表达式1; 判断语句; 表达式2)
{
// 当判断语句为真时,重复执行的代码块
}
表达式1一般是是循环变量(例如x,y,等)的初始化语句,通常用来设置的初始值,通常初始化一次就不用了。判断语句则是用来判断是否继续执行循环。表达式2是每次执行完代码块后对循环变量进行的操作。
其中表达式1,表达式2,都可以为空语句,执行时意味着直接判断判断语句的真假,若为真执行代码块,执行完后不进行任何操作,然后又判断判断语句的真假,若为真执行代码块,执行完后不进行任何操作,重复下去。知道判断语句为假,才跳出循环。
while循环
while循环是只要满足条件就可以一直执行里面的代码,以下是while的基本语法:
while (表达式) {
// 循环体,重复执行的代码块
}
do-while循环
do-while循环是先进行一边代码然后在判断是否满足条件,如果满足则继续执行这段代码,如果不满足,那么这段代码就不会再执行了,以下是do-while循环的基本语法:
do {
// 循环体,重复执行的代码块
} while (表达式);
do-while与while循环的区别就是do-while无论怎么样都会比while循环多执行一次,并且就算不满足条件那也会至少中执行一次。