如何使用if-else和switch-case结构来控制程序流程?

首先,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 来完成。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值