分支语句(选择结构)
一、什么是分支语句?
分支语句用于根据条件执行不同的代码路径,是 C 语言中实现条件判断和流程控制的基本结构。它使程序具备“选择性”,能根据不同情况做出不同的处理。
二、if
语句
基本语法:
if (条件表达式) {// 条件为真时执行的语句
}
示例:
int score = 85;
if (score >= 60) {printf("及格\n");
}
三、if-else
语句
语法格式:
if (条件) {// 条件为真
} else {// 条件为假
}
示例:
if (score >= 60) {printf("及格\n");
} else {printf("不及格\n");
}
四、if-else if-else
多分支结构
语法格式:
if (条件1) {// 条件1成立
} else if (条件2) {// 条件2成立
} else {// 都不成立
}
示例:
if (score >= 90) {printf("优秀\n");
} else if (score >= 75) {printf("良好\n");
} else if (score >= 60) {printf("及格\n");
} else {printf("不及格\n");
}
五、嵌套 if
语句
if
语句可以嵌套使用,用于处理更复杂的条件判断。
示例:
if (score >= 60) {if (score >= 90) {printf("优秀\n");} else {printf("及格但不优秀\n");}
} else {printf("不及格\n");
}
六、switch
多分支语句
语法格式:
switch (表达式) {case 常量1:// 执行语句break;case 常量2:// 执行语句break;...default:// 所有 case 都不匹配时执行
}
示例:
int day = 3;switch (day) {case 1:printf("星期一\n");break;case 2:printf("星期二\n");break;case 3:printf("星期三\n");break;default:printf("未知日期\n");
}
特点说明:
switch
表达式只能是整型或字符型;case
后面只能是常量(不能是变量或表达式);break
用于跳出switch
结构;default
是可选的,但建议添加。
八、练习示例
判断一个整数是正数、负数还是零
#include <stdio.h>int main(void) {int num;printf("请输入一个整数:");scanf("%d", &num);if (num > 0) {printf("正数\n");} else if (num < 0) {printf("负数\n");} else {printf("零\n");}return 0;
}