控制结构

244 阅读5分钟

控制结构

控制结构方面,C 语言拥有顺序结构、选择结构(如 if-else 和 switch 语句)和循环结构(如 for、while 和 do-while 语句),这使得程序的逻辑流程可以清晰地表达和控制。

为什么会有控制结构?

有需求就有供给

在编程中,我们经常需要根据不同的条件来决定程序的执行流程。如果没有控制结构,程序将只能按照代码编写的顺序从上到下依次执行,这将极大地限制程序的灵活性和功能性。例如,我们可能需要根据用户的输入、计算的结果或者外部环境的变化来决定执行不同的代码块。控制结构的出现就是为了满足这种需求,使程序能够根据特定的条件做出决策,从而实现更加智能和动态的行为。

屏幕截图 2024-10-18 234210.png

有什么控制结构?**

C 语言中的控制结构是通过特定的语法和关键字来实现的。这些关键字和语法规则是在 C 语言的设计和发展过程中逐渐形成和完善的。

选择结构(分支)

1.

if...else语句

if (condition) {

// 当条件为真时执行的代码

} else {

// 当条件为假时执行的代码

}

2.

swich语句

switch (expression) {

case 1:

​ // 当表达式的值等于 constant1 时执行的代码

​ break;

case 2:

​ // 当表达式的值等于 constant2 时执行的代码

​ break;

// 可以有更多的 case 分支

default:

​ // 当表达式的值与所有 case 常量都不匹配时执行的代码

}

循环结构

1.

while语句

while (condition) {

// 循环体中的代码

}

2.

do while语句

do {

// 循环体中的代码

} while (condition);

3.

for循环

for (循环变量赋初值;循环条件; 循环变量增值) {

// 循环体中的代码

}

两个特殊操作符

1.break
break 在循环中的使用

在 C 语言中,break 语句用于提前终止循环如 forwhiledo-while的执行。它通常用于在满足某个条件时立即退出当前的循环或 switch 语句,从而避免不必要的代码执行。

示例 1:在 for 循环中使用 break
#include <stdio.h>

int main() {
    int numbers[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    int target = 5;

    for (int i = 0; i < 10; i++) {
        if (numbers[i] == target) {
            printf("Found the target number %d at index %d.\n", target, i);
            break;  // 找到目标值后跳出循环
        }
    }

    return 0;
}

在这个例子中,当 numbers[i] 等于 target 时,break 语句会立即终止 for 循环的执行。

示例 2:在 while 循环中使用 break
#include <stdio.h>

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

    return 0;
}

在这个例子中,当 i 等于 5 时,break 语句会立即终止 while 循环的执行。

breakswitch 语句中的使用

switch 语句中,break 用于终止当前的 case 分支,防止代码继续执行到下一个 case 分支。

#include <stdio.h>

int main() {
    int day = 3;

    switch (day) {
        case 1:
            printf("Monday\n");
            break;
        case 2:
            printf("Tuesday\n");
            break;
        case 3:
            printf("Wednesday\n");
            break;  // 终止当前 case 分支
        case 4:
            printf("Thursday\n");
            break;
        case 5:
            printf("Friday\n");
            break;
        default:
            printf("Weekend\n");
            break;
    }

    return 0;
}

在这个例子中,当 day 等于 3 时,break 语句会终止 case 3 的执行,防止代码继续执行到 case 4 或之后的分支。

break 语句在 C 语言中是一个非常有用的控制流工具,它可以帮助我们在满足特定条件时提前终止循环或 switch 语句的执行,从而提高代码的效率和可读性。

2.continue

在 C 语言中,continue 语句用于跳过当前循环的剩余部分,直接进入下一次循环的迭代。它通常用于在满足某个条件时,跳过当前循环中的某些代码,继续执行下一次循环。

continue 在循环中的使用

在循环中使用 continue 可以跳过当前迭代的剩余代码,直接进入下一次迭代。例如,当某个条件满足时,可以使用 continue 跳过当前迭代的剩余部分。 #include <stdio.h>

int main() {
for (int i = 0; i < 10; i++) {
    if (i % 2 == 0) {
        continue;  // 如果 i 是偶数,跳过当前迭代
    }
    printf("%d ", i);  // 只打印奇数
}



return 0;

}`

有了控制结构带来了什么?

控制结构为 C 语言编程带来了极大的便利和灵活性。

首先,它们使得程序能够处理复杂的逻辑。例如,在一个计算学生平均成绩的程序中,可以使用 if-else 语句来判断学生是否及格,然后根据结果输出不同的信息。

其次,控制结构提高了代码的可读性和可维护性。通过清晰地表达程序的逻辑流程,其他开发者能够更容易理解代码的意图和功能。

再者,它们有助于优化程序的性能。例如,在某些情况下,可以使用合适的循环结构来避免不必要的重复计算,提高程序的运行效率。

此外,控制结构还使得程序能够更好地应对各种异常情况和错误。通过在特定条件下执行相应的错误处理代码,可以增强程序的健壮性。

定义

C 语言中的控制结构是实现复杂程序逻辑的关键工具,它们使得程序能够更加智能、灵活、高效和可靠地运行。