在编写程序时,我们经常需要根据不同的条件执行不同的代码,这种“做选择”的逻辑,在C语言中由分支语句实现。分支语句分为两种 if 语句和 switch 语句,它们是程序判断逻辑。
一、什么是分支语句
分支语句也叫选择结构,作用是让程序判断条件的真假,选择执行代码。
0 表示条件判断为假不执行程序,非 0 表示条件判断为真执行程序。
二、if 语句
if 是最常用、而且灵活的分支语句,适用于各种条件判断。
1.单分支 if
语法:
if(条件)
{
语句//条件为真时执行,若判断为假则不执行
}
示例:
#include <stdio.h>
int main()
{
int a = 10;
if(a > 0)
{
printf("%d",a);
}
return 0;
}
2.双分支 if else
语法:
if(条件)
{
语句1//判断为真时执行
}
else
{
语句2//判断为假时执行
}
示例:
#include <stdio.h>
int mian()
{
int a = -7
if(a>0)
{
printf("正数");
}
else
{
printf("非正数");
}
return 0;
}
3.多分支 if...else if...else
语法:
if(条件1)
{
语句1;
}
else if(条件2)
{
语句2;
}
else if(条件3)
{
语句3;
}
else
{
语句4;
}
示例:
#include <stdio.h>
int mian()
{
int a = 91;
if(a>=90)
{
printf("优秀");
}
else if(a>=70)
{
printf("良好");
}
else if(a>=60)
{
printf("及格");
}
else
{
printf("不及格");
}
return 0;
}
三、switch语句
switch适合固定值匹配,结构更清晰。
语法:
switch (表达式) {
case 常量1:
语句;
break;
case 常量2:
语句;
break;
default:
语句;
break;
}
示例:
#include <stdio.h>
int main() {
int day = 3;
switch (day) {
case 1: printf("周一"); break;
case 2: printf("周二"); break;
case 3: printf("周三"); break;
default: printf("无效"); break;
}
return 0;
}
switch 表达式只能是整型或字符型
- case 后必须是常量
- 不加 break 会发生case 穿透
四、分支语句总结
- if 适合范围判断、复杂条件
- switch 适合固定值匹配
- 分支语句让程序拥有“判断能力”,是程序逻辑的基础