分支语句又被称为选择结构,选择结构就是根据一个boolean表达式,来决定执行哪一些代码(代码块)。比较常见的分支语句有if语句和switch语句,下面将以代码的形式说明if和switch语句的基本构成以及其作用。
1、if语句:if语句作为选择语句,他通常结构为:
if(表达式)
语句;
if(表达式)
语句1;
else
语句2;
亦或者像这种多分支结构:
if(表达式)
语句1;
else if(表达式2)
语句2;
else
语句3;
如果表达式的结果为真,则执行if下方代码块{}中的语句(如果没有{}则执行距离最近的一条语句),其中0表示假,非0表示真。
#include<stdio.h>
//输出多条选择语句
int main()
{int day = 0;scanf("%d", &day);if (1 == day)//当输入为1时,输出星期一printf("星期一");else if (2 == day)//当输入为2时,输出星期二printf("星期二");else if(3==day)//当输入为3时,输出星期三printf("星期三");return 0;
}
还有一个需要注意的点是:else是和离他最近的if匹配的,范例如下:
#include <stdio.h>
int main()
{int a = 0;int b = 2;if(a == 1)if(b == 2)printf("hehe\n");else//这里的else是和if(b==2)相匹配,而并非是与之对其的if(a==1)匹配printf("haha\n");return 0; }
2.switch语句:上面我们已经讲述了if语句的用法,switch语句作为分支结构的另一种,在使用时也有他的独到之处。
#include<stdio.h>
int main()
{int day = 0;scanf("%d", &day);switch (day)//()中必须为整型表达式{case 1://入口printf("星期一\n");break;//跳出分支case 2://整型常量表达式printf("星期二\n");break;case 3:printf("星期三\n");break;case 4:printf("星期四\n");break;case 5:printf("星期五\n");break;case 6:printf("星期六\n");break;case 7:printf("星期日\n");break;default:printf("输入错误\n");break;}return 0;
}
在需要输出多条选择语句时,使用if else语句会显得比较繁琐,相比之下switch语句显得更加简洁清楚一些。switch在使用过程中需要注意一些小细节:1、switch后面的()中必须是整型表达式;2、在case语句后面,假如需要跳出循环,需要加上break,否则会从进入的case语句开始执行一直到循环结束;3、为了谨慎起见,可以在switch语句中加上default,以此来处理未列出的情况。