C语言-控制结构

person c猿人    watch_later 2024-07-29 18:08:43
visibility 168    class 控制结构    bookmark 专栏

在C语言中,控制结构用于控制程序的执行流程,包括条件语句和循环语句。通过控制结构,程序可以根据特定条件执行不同的代码块或重复执行某些代码。

控制结构概述

C语言的控制结构主要分为两类:

  1. 条件语句:用于根据条件的真假来决定执行哪一段代码。

    • if语句
    • switch语句
  2. 循环语句:用于重复执行一段代码。

    • for循环
    • while循环
    • do-while循环

1. 条件语句

if语句

if语句用于根据条件的真假来决定是否执行某段代码。

基本语法

if (condition) {
    // 当条件为真时执行的代码
}

示例

#include <stdio.h>

int main() {
    int num = 10;

    if (num > 5) {
        printf("数字大于5\n");
    }

    return 0;
}

if-else语句

if-else语句用于在条件为假时执行另一段代码。

if (condition) {
    // 当条件为真时执行的代码
} else {
    // 当条件为假时执行的代码
}

示例

#include <stdio.h>

int main() {
    int num = 3;

    if (num > 5) {
        printf("数字大于5\n");
    } else {
        printf("数字小于或等于5\n");
    }

    return 0;
}

if-else if-else语句

if-else if-else语句用于处理多个条件。

if (condition1) {
    // 当条件1为真时执行的代码
} else if (condition2) {
    // 当条件2为真时执行的代码
} else {
    // 当所有条件为假时执行的代码
}

示例

#include <stdio.h>

int main() {
    int num = 7;

    if (num > 10) {
        printf("数字大于10\n");
    } else if (num > 5) {
        printf("数字大于5且小于或等于10\n");
    } else {
        printf("数字小于或等于5\n");
    }

    return 0;
}

switch语句

switch语句用于根据变量的值执行不同的代码段。适用于处理多分支选择的场景。

基本语法

switch (expression) {
    case constant1:
        // 当expression等于constant1时执行的代码
        break;
    case constant2:
        // 当expression等于constant2时执行的代码
        break;
    ...
    default:
        // 当所有case都不匹配时执行的代码
}

示例

#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;
        case 4:
            printf("星期四\n");
            break;
        case 5:
            printf("星期五\n");
            break;
        case 6:
            printf("星期六\n");
            break;
        case 7:
            printf("星期日\n");
            break;
        default:
            printf("无效的日期\n");
    }

    return 0;
}
  • break语句用于跳出switch语句,防止执行后续的case
  • default语句是可选的,执行当所有case都不匹配时的代码。

2. 循环语句

for循环

for循环用于指定执行次数的循环,适合于需要进行计数的场景。

基本语法

for (initialization; condition; increment) {
    // 循环体
}
  • initialization:循环变量的初始化。
  • condition:循环继续执行的条件。
  • increment:循环变量的更新。

示例

#include <stdio.h>

int main() {
    for (int i = 0; i < 5; i++) {
        printf("for循环: %d\n", i);
    }

    return 0;
}
  • 输出:
    for循环: 0
    for循环: 1
    for循环: 2
    for循环: 3
    for循环: 4
    

while循环

while循环用于在条件为真时重复执行的代码块,适合于循环次数不确定的场景。

基本语法

while (condition) {
    // 循环体
}

示例

#include <stdio.h>

int main() {
    int i = 0;

    while (i < 5) {
        printf("while循环: %d\n", i);
        i++;
    }

    return 0;
}
  • 输出:
    while循环: 0
    while循环: 1
    while循环: 2
    while循环: 3
    while循环: 4
    

do-while循环

do-while循环类似于while循环,但至少执行一次循环体,因为条件判断在循环体之后。

基本语法

do {
    // 循环体
} while (condition);

示例

#include <stdio.h>

int main() {
    int i = 0;

    do {
        printf("do-while循环: %d\n", i);
        i++;
    } while (i < 5);

    return 0;
}
  • 输出:
    do-while循环: 0
    do-while循环: 1
    do-while循环: 2
    do-while循环: 3
    do-while循环: 4
    

break语句

break语句用于立即退出循环或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语句

continue语句用于跳过本次循环的剩余代码,直接进入下一次循环。

示例

#include <stdio.h>

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

    return 0;
}
  • 输出:
    奇数: 1
    奇数: 3
    奇数: 5
    奇数: 7
    奇数: 9
    

小结

C语言的控制结构使得程序可以根据条件执行不同的代码块或重复执行代码。通过条件语句和循环语句,程序的执行流程变得灵活多样。这些控制结构是C语言编程的基础,通过掌握它们,可以编写出更复杂和功能丰富的程序。

如果有任何问题或者需要更多详细解释,请随时告诉我!

评论区
评论列表
menu