C语言的控制语句(三)

switch


在C语言中,`switch`是一种用于多分支条件选择的控制语句。它允许根据表达式的值选择执行不同的代码块。`switch`语句的一般语法如下:

switch (expression) {

    case value1:

        // 当表达式的值等于 value1 时执行这里的代码

        break;

    case value2:

        // 当表达式的值等于 value2 时执行这里的代码

        break;

    // 更多 case 语句

    default:

        // 如果没有任何 case 匹配时执行这里的代码

}

- `expression`是一个表达式,其值会被用来与各个`case`标签中的值进行比较。

- `case`标签定义了各个可能的表达式值,当`expression`的值等于某个`case`标签中的值时,与该`case`标签关联的代码块将被执行。

- `break`语句用于跳出`switch`块,结束`switch`语句的执行。如果没有`break`语句,程序会继续执行后续的`case`标签中的代码,直到遇到`break`或`switch`语句结束。

- `default`标签是可选的,用于处理当`expression`的值不匹配任何`case`标签时的情况。如果没有匹配的`case`标签,将执行与`default`标签关联的代码块。

以下是一个示例,演示了`switch`语句的使用:

#include <stdio.h>

int main() {

    int choice;

    printf("请选择一个数字(1-3):");

    scanf("%d", &choice);

    switch (choice) {

        case 1:

            printf("您选择了数字 1。\n");

            break;

        case 2:

            printf("您选择了数字 2。\n");

            break;

        case 3:

            printf("您选择了数字 3。\n");

            break;

        default:

            printf("无效的选择。\n");

    }

    return 0;

}


 

在这个示例中,根据用户输入的值,`switch`语句选择执行不同的代码块。如果用户输入了1、2或3,将会分别执行相应的代码块。如果输入了其他值,将执行`default`标签中的代码块。

需要注意的是,`switch`语句只能用于对整数和字符类型的值进行比较。在某些编译器中,也可以使用枚举类型。如果需要比较其他数据类型的值,通常需要使用一系列`if...else if...else`语句。

return


在C语言中,`return`是一个关键字,用于从函数中返回值。它允许函数在执行完毕后返回一个特定的值给调用者,或者在没有返回值的情况下,提前结束函数的执行。`return`语句的用法如下:


return expression;
 

- `expression`是一个表达式,它表示要返回给调用者的值。`expression`的数据类型必须与函数的返回类型兼容。如果函数没有返回值(返回类型为`void`),则可以省略`expression`。

以下是一些示例,演示了`return`的用法:

1. 返回一个整数值:


int add(int a, int b) {
    int result = a + b;
    return result; // 返回结果给调用者
}
 

2. 返回一个浮点数值:


float divide(float x, float y) {
    if (y == 0.0) {
        printf("除数不能为零。\n");
        return 0.0; // 返回0.0作为特殊情况的结果
    }
    return x / y; // 返回除法结果给调用者
}
 

3. 返回无值(`void`函数):


void greet() {
    printf("Hello, world!\n");
    return; // 可以省略,因为void函数不返回值
}
 

在函数中,`return`不仅用于返回值,还可以提前结束函数的执行。例如:


int findFirstPositive(int array[], int length) {
    for (int i = 0; i < length; i++) {
        if (array[i] > 0) {
            return i; // 提前结束函数并返回索引位置
        }
    }
    return -1; // 如果没有找到正数,返回-1
}
 

在上面的示例中,如果找到数组中的第一个正数,函数会立即返回该正数的索引位置。如果没有找到正数,函数会在循环结束后返回-1。

`return`语句是控制流的一部分,它决定了函数的执行流程和返回值。函数中的任何地方都可以使用`return`语句,但一旦执行到`return`,函数将立即结束,不会再继续执行后续代码。因此,要注意在适当的时候使用`return`来返回正确的值或提前结束函数的执行。

猜你喜欢

转载自blog.csdn.net/qq_50942093/article/details/132913444