一、分支语句(选择结构)的作用
可能很多刚开始接触分支语句的小伙伴会有这么一个疑惑——分支语句是用来做什么的?其实通俗易懂的来讲,分支语句就是用来进行选择的。就比如:我们面前有很多瓶魔法药水,每一瓶魔法药水的功效都各不相同,当我们选择使用这些药水的时候就要根据我们自身的需求来选择,比如今天我的需求是要变白,那么我们就需要选择一瓶具有美白功效的药水,如果我们选择了其他的药水就会得不到我们想要的结果。分支语句起的就是这个选择的作用,它会根据我们的需求来选择能达到相应功能的“药水”。
二、分支语句的分类
分支语句包括if语句和switch语句。
三、if语句
1、if语句的语法结构:
(1)
if(表达式)
语句;
语法解析:当if语句括号里面的表达式为真时,程序就会执行语句;
(2)
if(表达式)
语句1;
else
语句2;
语法解析:程序执行到此处时会先去判断if语句括号里面的表达式是否为真,如果表达式为真,则该程序就会执行语句1,如果不为真,就会执行语句2;
(3)
if(表达式1)
语句1;
else if(表达式2)
语句2;
else
语句3;
语法解析:程序执行到此处时,首先会先去判断if语句括号里面的表达式1是否为真,如果表达式1为真,程序就会执行语句1;如果表达式1不为真,程序才会去判断表达式2为不为真,如果为真,程序就会执行语句2;如果不为真,程序最后就会执行语句3。
2、注意事项
当if语句的语句没有在大括号“{}”里面写的话,此时的if只能控制后面的一条语句;例如:
int a=1;
if(a==1)
printf("你好呀!\n");
printf(“很高兴认识你!\n”);
此时程序只会输出——你好呀!
所以建议在使用if语句时,无论if语句后面有多少条代码都要将语句写在”{}“里面
if(表达式)
{
语句;
}
if(表达式)
{
语句1;
}
else
{
语句2;
}
if(表达式1)
{
语句1;
}
else if(表达式2)
{
语句2;
}
else
{
语句3;
}
if语句后面可以有多个else if(表达式)
四、switch语句
1、switch语句的语法结构
switch(整形表达式){
case 整形常量表达式:
语句;
}
语法解析:程序会根据整形表达式的结果来对应case分支的整形常量表达式,执行相应的case分支,其中case分支的个数根据具体需求来设置。
2、switch语句中的break
在switch语句中,我们是没有办法直接实现分支的,需要搭配break使用才能实现真正的分支:
switch(整形表达式){
case 整型常量表达式:
语句;
break;
}
break语句的实际效果就是将语句列表划分为不同的分支部分;
如果说case是switch语句程序的入口,那么break就是switch语句程序的出口;
小伙伴们要记得在最后一个case语句加上break哦!!!不然程序就有可能出不去了!
3、switch语句中的default
如果整形表达的值与所有的case标签的值都不匹配怎么办?
其实也没什么,只不过就是所有的语句都被跳过而已。程序并不会终止,也不会报错,因为这种情况在C中并不认为是个错误。但是,如果你并不想忽略不匹配所有标签的表达式的值时该怎么办呢?
你可以在语句列表中增加一条default子句:
switch(整形表达式){
case 整型常量表达式:
语句;
break;
default:
语句1;
}
当switch 表达式的值并不匹配所有case标签的值时,这个default子句后面的语句就会执行。
所以,每个switch语句中只能出现一条default子句。
在switch语句中case语句和default语句是没有顺序要求的,不过通常将default语句放在最后。
可以在switch语句中都放一条default语句,甚至可以在其后面再加加一个break
switch(整形表达式){
case 整型常量表达式:
语句;
break;
default:
语句1;
break;
}
希望我的这篇博客可以帮助到正在学习c语言的小伙伴!下期我将会推出c语言循环的部分,感兴趣的小伙伴可以给我点个关注哦,咱们下期见!!!