首先,if-else 和 switch-case 都是用来控制程序流程的结构,也就是说,它们可以根据条件的不同,执行不同的代码块。
假设你是一位想要去看电影的小朋友。想象一下,现在你站在电影院门口,手里有一张电影票,你需要根据电影票上的信息,来确定自己要去看哪个电影。
我们可以用 if-else 来实现这个场景,代码如下:
#include <stdio.h>
int main() {
int ticket = 3; // 假设电影票号码为 3
if (ticket == 1) {
printf("你抢到了电影票1!去看《少年的你》吧!\n");
} else if (ticket == 2) {
printf("你抢到了电影票2!去看《叶问4》吧!\n");
} else if (ticket == 3) {
printf("你抢到了电影票3!去看《唐人街探案3》吧!\n");
} else {
printf("你的票号不在范围内,无法看电影。\n");
}
return 0;
}
上面的代码中,首先定义了一个变量 ticket,用来存储电影票的号码。接下来,使用 if-else 来判断电影票号码的不同情况,然后执行相应的代码块。最后,如果票号不在 1-3 之间,就输出一个警告信息。
再来看看 switch-case,同样是用来控制程序流程的结构,只不过语法稍微有些不同。我们可以用 switch-case 来实现上述情景,代码如下:
#include <stdio.h>
int main() {
int ticket = 3; // 假设电影票号码为 3
switch (ticket) {
case 1:
printf("你抢到了电影票1!去看《少年的你》吧!\n");
break;
case 2:
printf("你抢到了电影票2!去看《叶问4》吧!\n");
break;
case 3:
printf("你抢到了电影票3!去看《唐人街探案3》吧!\n");
break;
default:
printf("你的票号不在范围内,无法看电影。\n");
break;
}
return 0;
}
上面的代码中,使用 switch-case 来判断电影票号码的不同情况,然后执行相应的代码块。同样的,最后如果票号不在 1-3 之间,就输出一个警告信息。
if-else 中的嵌套
if-else 中可以嵌套另外一个 if-else,多个条件依次判断。
#include <stdio.h>
int main() {
int score = 75;
if (score >= 90) {
printf("优秀\n");
} else if (score >= 80) {
printf("良好\n");
} else if (score >= 70) {
printf("中等\n");
} else if (score >= 60) {
printf("及格\n");
} else {
printf("不及格\n");
}
return 0;
}
上面的例子中,首先定义了一个变量 score,用来存储学生的成绩。接下来,使用 if-else 嵌套来判断分数的不同情况,然后输出相应的评价。
switch-case 中的 break
在 switch-case 中,每个 case 后面都需要加上一个 break,否则会出现错误的结果。
#include <stdio.h>
int main() {
int month = 10;
switch (month) {
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;
case 8:
printf("八月\n");
break;
case 9:
printf("九月\n");
break;
case 10:
printf("十月\n");
break;
case 11:
printf("十一月\n");
break;
case 12:
printf("十二月\n");
break;
default:
printf("错误的月份\n");
break;
}
return 0;
}
上面的例子中,首先定义了一个变量 month,用来存储月份。接下来,使用 switch-case 来判断月份的不同情况,然后输出相应的月份。每个 case 后面都需要加上一个 break,否则程序会继续执行下一个 case,导致错误的结果。
if-else 和 switch-case 的比较
if-else 和 switch-case 并不是完全等同的,它们有各自的优缺点,需要根据具体的情况来选择使用。
if-else 可以判断任意的条件,灵活性强,也比较直观易懂,但是当条件较多时,代码可能会显得不太清晰。
switch-case 只能判断整型或者字符型的条件,但是代码比较简洁明了,适合用于分支比较少的情况。
综上所述,if-else 和 switch-case 都是程序开发中比较常用的控制结构,适用于不同的场景。当我们需要根据多个条件来执行不同的代码块时,就可以使用 if-else 和 switch-case 来完成。