分支
if else
if else switch case defualt
if(表达式)//单分支
{
表达式为真,则执行此处代码 //注释
}
if(表达式)//双分支
{
表达式为真,则执行此处代码
}
else
{
表达式为假,则执行此处代码
}
if(表达式1)//双分支
{
表达式1为真,则执行此处代码
}
else if(表达式2)
{
表达式2为真,则执行此处代码
}
else
{
所有表达式都为假,则执行此处代码
}
开关语句
开关语句:
switch(n) //n可以是整数数值、表达式,但是运算结果必须是整数
{
case val: // val必须是整常量,如果val等于n,则打开执行开关
…
break; // 关闭执行开关
default: // 如果所有的case都没有匹配成功,则最后打
开此执行开关,default放在switch放在任何位置都可以最后打开
}
注意:如果每个case后面都有break,就形成了分支结构
循环
for循环
for循环语句:
循环就是让一段代码反复执行,达到你想要的效果
for是一种比较灵活且危险(与其他循环语句相比)的一种循环
一般使用一个变量来引导它的运行。这个变量叫做循环变量i,index
for([1];[2];[3])
{
[4]
}
1、给循环变量赋初值,C99标准可以定义循环变量-std=gnu99
在此处定义的循环变量,只能在for循环内使用
2、判断循环变量的值是否到达边界
4、被反复执行的代码,也叫做循环体
3、改变循环变量,防止死循环,一般对循环变量进行自加或自减
大括号问题:
1、建议上下对齐
2、循环体如果只有一行代码,大括号可以省略
但是不利于代码的扩展,一般的商业代码要求大括号不能省略
for循环的多种写法:
for(;;)
{
//死循环
}
int i=0;
for(;i < 10;i++)
{
}
for(int i=0;i<10;)
{
//
i++;
}
for(int i=0,j=0;i<10;i++)
{
}
while语句
while(条件) // 条件为真时执行循环体,为假时结束循环
{
//循环体
}
while循环相当于for循环的精简版本
for循环负责解决明确知道循环次数的问题
while循环负责只知道循环条件而不确定循环次数的问题
do while
do{
//循环体
}while(条件);
先执行循环体,再判断循环条件,该循环至少执行一次
适合先干活、后检查的特殊条件,例如:输入密码
嵌套语句
循环语句中包含循环语句
外层循环执行一次,内层循环执行n次
跳转语句
goto 可以在函数内任意跳转
它可能会破坏已经设计好的分支或循环语句,因此绝大多数的公司都禁止使用goto
但是它在驱动编程中非常适合处理异常。
标签名:
//代码
goto 标签名;