一.流程控制语句之分支
1.if
if(表达式)
{
表达式为真时执行处代码
}
if(表达式)
{
表达式为真时执行处代码
}
else
{
表达式为假时执行处代码
}
if(表达式1)
{
表达式1为真时执行处代码
}
else if(表达式2)
{
表达式2为真时执行处代码
}
else
{
表达式1和表达式2都为假时执行此处代码。
}
2.switch 开关语句
switch(n) // 小括号中的数据必须是整数
{
case val: // val必须是整型常量
小括号中的数据会与case后的数据进行比较,如果匹配成功则打开执行开关。
break的可以关闭执行开关。
default: 当所有的case都没有匹配成功则打开执行开关。
无论写在什么位置,都最后匹配。
}
注意:如果每个case后都跟一个break,就形成了多分支结构。
二、流程控制语句之循环
当需要反复执行一些代码来解决问题时,这种结构就中叫循环结构。
for([1]; [2]; [3])
{
[4];
}
1、循环初始化,只执行一次。
2、判断条件,为真时执行4,为假则结束循环。
4、负责解决问题的代码,也叫循环体
3、改变循环条件,防止变量成死循环。
for循环的执行过程:1 2 4 3 2 4 3 2 4 3 … 2
各种格式的for循环:
for(;😉
{
// 死循环
}
int i=0;
for(; i<10; i++)
{
}
int i=0;
for(; i<10;)
{
i++;
}
注意:for循环是一种非常灵活功能强大的循环,因此相比其它循环容易出错。
所以使用一个循环变量来引导它的运行,index->i,j,k,l
1、定义并初始化循环变量,c99标准支持,-std=gnu99
2、检查循环变量是否达到边界
3、循环变量自增或自减
4、解决问题
三、流程控制语句之跳转
goto 可以跳转到函数内的任意位置,非常灵活,但可能会打破已经设计好的分支或循环语句。
因此非常危险,很多公司都禁止使用。
但在驱动编程时,goto语句用的非常多,经常用来处理异常
这也是C语言为什么适合针对硬件的编程。
break
1、在switch语句中用于关闭执行开关。
2、在循环语句中用于跳出循环,也可以用于解决死循环。
3、只能跳出一层循环
continue
1、只能用在循环语句中。
2、结束本次循环,进入下次循环。
return