C语言的流程控制语句

2024-03-01 13:14:23 浏览数 (2)

        控制语句用于控制程序的执行流程,以实现程序的各种结构方式(C语言支持三种结构:顺序结构、选择结构、循环结构),它们由特定的语句定义符组成,C语言有九种控制语句。

        九种控制语句统称为流程控制语句。它们用于控制程序的执行流程,包括条件判断、循环、跳转等操作。常见的流程控制语句有if语句、switch语句、for循环、while循环、do-while循环、break语句、continue语句和return语句。这些语句可以相互嵌套使用,以实现复杂的程序逻辑。

可分成以下三类语句: 1.条件判断语句也叫分支语句: if语句、switch语句; 2.循环执行语句: do while语句、while语句、for语句; 3.转向语句: break语句、goto语句、continue语句、return语句。

do-while语句、while语句和for语句在C语言中的用法如下:

代码语言:javascript复制
//do-while语句、while语句和for语句在C语言中的用法如下:

//1. do-while语句:


#include <stdio.h>

int main() {
    int i = 0;
    do {
        printf("%d ", i);
        i  ;
    } while (i < 5);
    return 0;
}


//2. while语句:


#include <stdio.h>

int main() {
    int i = 0;
    while (i < 5) {
        printf("%d ", i);
        i  ;
    }
    return 0;
}


//3. for语句:


#include <stdio.h>

int main() {
    for (int i = 0; i < 5; i  ) {
        printf("%d ", i);
    }
    return 0;
}

continue:是用于跳过本次循环的continue后边的代码,直接去判断部分,看是否进行下一次判断在C语言中,continue语句通常与for循环一起使用。当程序执行到continue语句时,它会跳过当前循环体中的余下部分,并立即开始下一次循环。

下面是一个使用continue语句的例子:

代码语言:javascript复制
#include <stdio.h>

int main() {
    int i;
    for (i = 0; i < 10; i  ) {
        if (i == 5) {
            continue; // 当i等于5时,跳过本次循环的余下部分,直接进行下一次循环
        }
        printf("%dn", i); // 打印出0到9的数字,但不包括5
    }
    return 0;
}

在这个例子中,当i等于5时,程序会执行continue语句,跳过当前循环体的余下部分(即printf语句),然后立即开始下一次循环。因此,输出结果为0到4的数字,不包括5。

break:在C语言中,break语句通常用于跳出当前循环结构。当程序执行到break语句时,它会立即结束当前循环,不再执行循环体中的余下部分。

下面是一个使用break语句的例子

代码语言:javascript复制
#include <stdio.h>

int main() {
    int i;
    for (i = 0; i < 10; i  ) {
        if (i == 5) {
            break; // 当i等于5时,跳出当前循环,不再执行循环体中的余下部分
        }
        printf("%dn", i); // 打印出0到4的数字,但不包括5
    }
    return 0;
}

在这个例子中,当i等于5时,程序会执行break语句,跳出当前for循环,不再执行循环体中的余下部分(即printf语句)。因此,输出结果为0到4的数字,不包括5。

goto:goto语句只能在本函数内跳转,在C语言中,goto语句用于无条件跳转到程序中的某个标签处。它通常与if语句一起使用,以便在满足某个条件时跳过一段代码。下面是一个使用goto语句的例子:

代码语言:javascript复制
#include <stdio.h>

int main() {
    int num = 5;

    if (num > 10) {
        goto end; // 如果num大于10,跳转到end标签处
    }

    printf("num小于等于10n");

    end:
        printf("这是end标签处n");

    return 0;
}

在这个例子中,当num大于10时,程序会执行goto语句,跳转到end标签处,然后继续执行后面的代码。如果num小于等于10,程序将正常执行并输出"num小于等于10"。

switch语句在C语言中的用法如下:

switch语句是一种多分支选择结构,它根据一个表达式的值来选择执行不同的代码块。switch语句的语法如下:

代码语言:javascript复制
switch (expression) {
    case constant-expression:
        // 语句块1
        break;
    case constant-expression:
        // 语句块2
        break;
    ...
    default:
        // 默认语句块
}

        其中,expression是一个整数或字符型变量,用于与case后面的常量表达式进行比较;case后面的常量表达式必须是整型或字符型常量,不能是变量或表达式;每个case后面的语句块可以包含多个语句,但必须以break语句结束;default语句块是可选的,用于处理没有匹配到任何case的情况。

 switch语句的执行过程如下:首先计算expression的值,然后依次与case后面的常量表达式进行比较,如果匹配成功,则执行对应的语句块,直到遇到break语句或switch语句结束;如果没有匹配到任何case,则执行default语句块(如果有的话)。

代码语言:javascript复制
#include <stdio.h>

int main() {
    int num;

    printf("请输入一个整数(1-3):");
    scanf("%d", &num);

    switch (num) {
        case 1:
            printf("你输入的是1
");
            break;
        case 2:
            printf("你输入的是2
");
            break;
        case 3:
            printf("你输入的是3
");
            break;
        default:
            printf("你输入的不在1-3之间
");
    }

    return 0;
}

好好学习,多坚持一天,结果会不同,加油各位!!

0 人点赞