分支结构可用if语句与switch语句实现
if语句
if (表达式)
语句
表达式为真,则语句执行。
if语句默认控制一条语句,如果if需要控制多条语句:
if(表达式)
{
程序块
}
else
考试以60分为及格分,大于等于60为及格,小于60为不及格,那么就只有两种情况用 if...else 可以表达
if (score >= 60) {
printf("及格");
}
else {
printf("不及格");
}
}
嵌套if
在if....else语句中,else可以连接if使用成为多重判断
if (score >= 60&&score<90) {
printf("及格");
}
else if (score >= 90) {
printf("优秀");
}
else {
printf("不及格");
}
}
if语句中也可以嵌套if语句,进行第二次判断
if (score >= 60&&score<90) {
printf("及格");
if (score >= 90) {
printf("优秀");
}
}
else {
printf("不及格");
}
}
悬空else问题
多个if和else使用,else匹配最近的if
int main() {
int score=50;
if (score >= 60 && score < 90)
if (score >= 90)
printf("优秀");
else
printf("不及格");
}
此时输出为空,else语句匹配的if语句是if(score>=90),因为表达式不成立,else语句不执行。
switch语句
switch语句是特殊的if.....else结构,通过不同的判断来获得不同的判断结果,拥有更好的可读性。
int main() {
int score = 0;
scanf_s("%d", &score);
switch (score/10)
{
case 10:printf("满分"); break;
case 9:printf("优秀"); break;
case 8:printf("良好"); break;
case 7:printf("一般"); break;
case 6:printf("及格"); break;
default:printf("不及格"); break;
}