【快速上手C语言】第四章:控制结构——掌控程序的执行流程

        在编写C语言程序时,控制结构用于管理程序的执行流程。通过条件判断、循环和跳转语句,程序可以根据不同的条件执行不同的代码块,从而实现复杂的逻辑。

条件语句(if、else、switch)

        条件语句用于根据表达式的真假来决定是否执行某一代码块。C语言中主要的条件语句包括if-elseswitch语句。

        if-else 语句:根据条件表达式的真假来选择执行哪个代码块。

#include <stdio.h>

int main() {
    int num = 10;

    if (num > 0) {
        printf("num 是正数\n");
    } else if (num < 0) {
        printf("num 是负数\n");
    } else {
        printf("num 是零\n");
    }

    return 0;
}
// 运行结果:
// num 是正数

switch 语句:用于多分支选择,通常用于替代复杂的if-else链。

#include <stdio.h>

int main() {
    int day = 3;

    switch (day) {
        case 1:
            printf("今天是星期一\n");
            break;
        case 2:
            printf("今天是星期二\n");
            break;
        case 3:
            printf("今天是星期三\n");
            break;
        default:
            printf("不是有效的星期数\n");
    }

    return 0;
}
// 运行结果:
// 今天是星期三

        在switch语句中,每个case表示一种可能的情况,break用于跳出switch语句,default表示所有case都不匹配时执行的代码。

循环语句(for、while、do-while)

        循环语句允许重复执行某段代码,直到满足指定条件。C语言中有三种主要的循环结构:forwhiledo-while

        for 循环:适用于已知循环次数的情况。

#include <stdio.h>

int main() {
    for (int i = 0; i < 5; i++) {
        printf("这是第 %d 次循环\n", i+1);
    }

    return 0;
}
// 运行结果:
// 这是第 1 次循环
// 这是第 2 次循环
// 这是第 3 次循环
// 这是第 4 次循环
// 这是第 5 次循环

while 循环:适用于条件控制的循环,条件为真时执行循环体。

#include <stdio.h>

int main() {
    int count = 0;

    while (count < 5) {
        printf("count 现在是 %d\n", count);
        count++;
    }

    return 0;
}
// 运行结果:
// count 现在是 0
// count 现在是 1
// count 现在是 2
// count 现在是 3
// count 现在是 4

do-while 循环:至少执行一次循环体,之后在条件为真时继续执行。

#include <stdio.h>

int main() {
    int count = 0;

    do {
        printf("count 现在是 %d\n", count);
        count++;
    } while (count < 5);

    return 0;
}
// 运行结果:
// count 现在是 0
// count 现在是 1
// count 现在是 2
// count 现在是 3
// count 现在是 4

do-while循环与while循环的区别在于,无论条件是否为真,do-while循环都会执行一次循环体。

跳转语句(break、continue、return)

        跳转语句用于改变循环的正常执行流程。C语言中常见的跳转语句包括breakcontinuereturn

        break:立即终止循环或switch语句,跳转到循环或switch后的下一条语句。

#include <stdio.h>

int main() {
    for (int i = 0; i < 10; i++) {
        if (i == 5) {
            break;  // 当i等于5时,跳出循环
        }
        printf("i: %d\n", i);
    }

    return 0;
}
// 运行结果:
// i: 0
// i: 1
// i: 2
// i: 3
// i: 4

continue:跳过本次循环的剩余部分,立即进入下一次循环迭代。

#include <stdio.h>

int main() {
    for (int i = 0; i < 10; i++) {
        if (i % 2 == 0) {
            continue;  // 跳过偶数的打印
        }
        printf("i: %d\n", i);
    }

    return 0;
}
// 运行结果:
// i: 1
// i: 3
// i: 5
// i: 7
// i: 9

return:用于结束函数的执行,并可选地返回一个值。

#include <stdio.h>

int checkEven(int num) {
    if (num % 2 == 0) {
        return 1;  // 返回1表示偶数
    }
    return 0;  // 返回0表示奇数
}

int main() {
    int result = checkEven(4);

    if (result) {
        printf("4 是偶数\n");
    } else {
        printf("4 是奇数\n");
    }

    return 0;
}
// 运行结果:
// 4 是偶数

return语句不仅结束函数的执行,还可以将一个值返回给调用该函数的地方。

总结:

        本章介绍了C语言中控制程序执行流程的几种重要结构:条件语句、循环语句以及跳转语句。掌握这些控制结构能够帮助你编写具有灵活逻辑和高效执行的程序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值