控制语句关键字

下面是关于循环语句和条件语句的详细解释,包括特性、用法以及示例代码。我将注释来解释每个示例的执行流程,以及这些语句通常在哪些方面使用。

循环语句:

for

  • 特性:for 循环用于重复执行一段代码,通常在已知循环次数的情况下使用。

  • 用法示例:

    1
    2
    3
    4
    for (int i = 0; i < 5; i++) { // 初始化;条件;迭代
    // 循环体代码
    printf("%d\n", i); // 打印当前循环次数
    }

    示例中的for循环会执行5次。

    最终打印出0到4这五个数字:

    0

    1

    2

    3

    4

    for常用于在一个范围内进行循环。

while

  • 特性:while 循环用于根据条件重复执行一段代码,通常在循环次数不确定的情况下使用。

  • 用法示例:

    1
    2
    3
    4
    5
    6
    int i = 0;
    while (i < 5) { // 条件
    // 循环体代码
    printf("%d\n", i); // 打印当前循环次数
    i++; // 迭代
    }

    示例中的while循环会执行直到i不再小于5为止。

    这个示例也会打印出0到4这五个数字。

    while常用于需要不确定次数的循环。

do…while

  • 特性:do...while 循环与while循环类似,不同之处在于它先执行一次循环体,然后再检查条件。

  • 用法示例:

    1
    2
    3
    4
    5
    6
    int i = 0;
    do {
    // 循环体代码
    printf("%d\n", i); // 打印当前循环次数
    i++; // 迭代
    } while (i < 5); // 条件

    示例中的do...while循环至少会执行一次循环体,然后重复执行,直到条件不再满足。

    这个示例也会打印出0到4这五个数字,但至少会执行一次循环体。

break

  • 特性:break 语句用于在循环内部提前退出循环,无论循环条件是否满足。

  • 用法示例:

    1
    2
    3
    4
    5
    6
    for (int i = 0; i < 10; i++) {
    if (i == 5) {
    break; // 提前退出循环
    }
    printf("%d\n", i);
    }

    示例中,当i等于5时,break会终止整个for循环的执行。

    break 通常用于退出循环,但也可以在switch语句中用于终止case分支的执行。

continue

  • 特性:continue 语句用于跳过当前循环的剩余代码,继续下一次循环。

  • 用法示例:

    1
    2
    3
    4
    5
    6
    for (int i = 0; i < 5; i++) {
    if (i == 2) {
    continue; // 跳过i等于2的情况
    }
    printf("%d\n", i);
    }

    示例中,当i等于2时,continue会跳过当前循环,继续下一次。

    最终打印出:

    0

    1

    3

    4

条件语句:

if 和 else

  • 特性:if 用于执行条件为真时的代码块,else 用于执行条件为假时的代码块。

  • 用法示例:

    1
    2
    3
    4
    5
    6
    int x = 10;
    if (x > 5) { // 如果条件为真
    printf("x大于5\n");
    } else { // 如果上方if的条件为假
    printf("x不大于5\n");
    }

    ifelse 语句用于根据条件执行不同的代码块。

    这个示例中,由于x大于5,所以将执行if块内的代码。

    可能你对if后大括号的添加与否有疑问,请查看C/C++的大括号是必须的部分吗?

else if

  • 特性:else if 用于在多个条件之间进行选择,如果前面的条件不满足,则继续检查下一个条件。

  • 用法示例:

    1
    2
    3
    4
    5
    6
    7
    8
    int x = 10;
    if (x > 15) {
    printf("x大于15\n");
    } else if (x > 10) {
    printf("x大于10但不大于15\n");
    } else {
    printf("x不大于10\n");
    }

    else if 允许你在多个条件之间选择执行,而不仅仅是真或假。

    这个示例中,由于x不大于15,所以将执行else if的判断(x > 10),发现其判断依旧为false,将继续往后判断,发现最后为else语句,没有另外的判断条件,则最终会输出else部分的代码。

switch

  • 特性:switch 语句用于基于表达式的值选择执行不同的代码块。

  • 用法示例:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    int day = 3;
    switch (day) {
    case 1:
    printf("星期一\n");
    break;
    case 2:
    printf("星期二\n");
    break;
    case 3:
    printf("星期三\n");
    break;
    default:
    printf("其他\n");
    }

    switch 语句基于day的值选择执行不同的case块。

    这个示例根据day的值执行不同的代码块。由于day等于3,因此执行case 3:

    必须使用break来防止执行其他case块。

    你可以去掉break,然后运行以上部分代码,查看breakswitch中的效果。

return

  • 特性:return 语句用于从函数中返回一个值,或提前退出函数。

  • 用法示例:

    1
    2
    3
    int add(int a, int b) {
    return a + b; // 返回a和b的和
    }

    return 用于将计算结果返回给调用函数,也可用于提前退出函数。

总结:

  • forwhiledo...while 用于控制循环。
  • break 用于退出循环。
  • continue 用于跳过当前循环。
  • ifelse 主要用于条件判断,switch 用于多条件选择。