C语言的分支语句主要包括if else语句和switch语句,同时在switch语句中还有一个重要的关键字:break,下面一一介绍。
一、if else语句
1.结构
if ( 判断条件1 )
{
语句1;
}
else if (判断条件2)
{
语句2;
}
else
{
语句3;
}
if else语句最多有三个部分,为 if、else if、else,其中if语句必不可少,且 else if 与 else 均不能单独出现,if 后面可以只含有 else if 或 else ,若三者同时出现,则一定要按照 if、else if、else 的顺序摆放;
判断条件1与判断条件2可以视为一个全集中的两个子集且这两个子集无交集,则else的判断条件为该全集除去两个子集所剩下的部分,通常省略不写;
语句1、语句2和语句3可以是多条语句的集合,一定要用{ }将其括起来。
2.执行过程
当 if 后的判断条件1为真时,进入 if 中执行语句1,且语句2与语句3均不执行,语句1执行完后直接跳出 if else 结构;
当判断条件1为假时,程序自动跳转至判断语句2,若判断语句2为真时,进入 else if 执行语句2,且语句2执行完后直接跳出 if else 结构,不执行语句3;
当判断条件1与判断条件2均为假时,直接进入 else 执行语句3;语句3执行完后跳出 if else 结构,继续下面程序的运行。
3.嵌套
对于 if else 语句,可以在 if 或 else if 或 else 中嵌套一个或多个 if else 语句,其运行方式与上文所述相同。
二、switch语句
1.结构
switch ( 表达式 )
{
case x1:
语句1;
break;
case x2:
语句2;
break;
.
.
.
default :
语句3;
}
表达式必须为整形表达式,若结果为字符型,则会转化为对应的ASCII码,相同的,case后的值也必须整型常量表达式,若为字符则用 ' ' 括起来,case与其后的值之间必须要有一个空格,default可有可无,它的存在可以使语句更为完整与严谨,default可以在switch语句的各个地方,不影响程序的运行。
2.执行过程
当表达式产生一个之后,会与case后的值进行比较,当二者相等时,就会执行该case后的语句,若所有的case后的值均无法与之匹配,则会执行default后的语句(前提是有default),再跳出整个switch结构;
对于case后语句的执行,按照顺序执行,当结尾有break语句时,运行至break就会跳出整个switch结构,继续之后程序的运行,若结尾无break语句且该case不是最后一个时,就会继续执行之后case后的语句,直到遇到break语句或default为止,再跳出整个switch结构;
在case后的语句和default后的语句中也可以使用 if else 语句或进行 if else 语句的嵌套使用,使switch结构更为完整。