C语言-多分支条件判断、循环结构的使用(switch、if、while、for、do while含for嵌套使用)

##switch使用:

在C语言中,switch语句是一种用于多分支条件判断的语句。它允许我们根据不同的条件执行不同的代码块。在switch语句中,我们使用关键字case来指定每个条件分支。

 

下面是一个简单的示例,演示如何使用switch语句来判断一个数字是星期几:

 

```c

#include <stdio.h>

 

int main() {

    int day;

 

    printf("Enter a day of the week (1-7): ");

    scanf("%d", &day);

 

    switch (day) {

        case 1:

            printf("Monday\n");

            break;

        case 2:

            printf("Tuesday\n");

            break;

        case 3:

            printf("Wednesday\n");

            break;

        case 4:

            printf("Thursday\n");

            break;

        case 5:

            printf("Friday\n");

            break;

        case 6:

            printf("Saturday\n");

            break;

        case 7:

            printf("Sunday\n");

            break;

        default:

            printf("Invalid input\n");

            break;

    }

 

    return 0;

}

```

上述代码解释:

在这个例子中,我们首先使用scanf函数从用户输入中读取一个整数。然后,我们使用switch语句来判断这个数字是星期几。如果day等于1,则输出“Monday”;如果day等于2,则输出“Tuesday”,以此类推。如果day不等于1到7中的任何一个数字,则输出“Invalid input”。

★★★需要注意的是:

在switch语句中,每个case分支都必须以break语句结束,否则程序会继续执行下一个case分支,直到遇到break语句或switch语句结束为止。如果没有匹配任何case分支,则执行default分支(如果有的话)。

switch语句只能用于整数类型的条件判断,不能用于浮点数或字符串等其他类型的条件判断。

##if的使用

在C语言中,if语句是一种用于根据条件执行不同代码块的语句。它允许我们在程序中做出决策,并根据不同的条件执行不同的操作。if语句通常与else语句一起使用,以便在条件不成立时执行另一个代码块。

 

下面是一个简单的示例,演示如何使用if语句来判断一个数字是正数还是负数:

 

```c

#include <stdio.h>

 

int main() {

    int num;

 

    printf("Enter a number: ");

    scanf("%d", &num);

 

    if (num > 0) {

        printf("The number is positive.\n");

    } else if (num < 0) {

        printf("The number is negative.\n");

    } else {

        printf("The number is zero.\n");

    }

 

    return 0;

}

```

 

在这个例子中,我们首先使用scanf函数从用户输入中读取一个整数。然后,我们使用if语句来判断这个数字是正数、负数还是零。如果num大于0,则输出“The number is positive.”;如果num小于0,则输出“The number is negative.”;否则,即num等于0,则输出“The number is zero.”。

★★★需要注意的是

if语句的条件表达式必须返回一个布尔值(即true或false)。如果条件表达式的值为true,则执行if语句后面的代码块;否则,执行else语句后面的代码块(如果有的话)。

除了if语句之外,C语言还提供了其他条件语句,如switch语句和条件运算符(?:)。

##while循环

while循环是最基本的循环结构之一。它的语法如下:

 

```c

while (condition) {

    // 循环体

}

```

 

当条件为真时,循环体会一直执行,直到条件为假为止。下面是一个简单的例子,演示如何使用while循环计算1到10的和:

 

```c

#include <stdio.h>

 

int main() {

    int i = 1;

    int sum = 0;

 

    while (i <= 10) {

        sum += i;

        i++;

    }

 

    printf("The sum is %d\n", sum);

 

    return 0;

}

```

##do-while循环

do-while循环与while循环类似,但是它会在循环体执行至少一次之后才检查条件是否为真。它的语法如下:

 

```c

do {

    // 循环体

} while (condition);

```

 

下面是一个使用do-while循环计算1到10的和的例子:

 

```c

#include <stdio.h>

 

int main() {

    int i = 1;

    int sum = 0;

 

    do {

        sum += i;

        i++;

    } while (i <= 10);

 

    printf("The sum is %d\n", sum);

 

    return 0;

}

```

 

##for循环

 

for循环是一种更通用的循环结构,它可以用于执行固定次数的循环。它的语法如下:

 

```c

for (initialization; condition; update) {

    // 循环体

}

```

 

在循环开始时,initialization语句会被执行,然后循环体会一直执行,直到condition为假为止。每次循环结束时,update语句会被执行。

下面是一个使用for循环计算1到10的和的例子:

 

```c

#include <stdio.h>

 

int main() {

    int i;

    int sum = 0;

 

    for (i = 1; i <= 10; i++) {

        sum += i;

    }

 

    printf("The sum is %d\n", sum);

 

    return 0;

}

```

##for的嵌套使用

C语言中,for循环是一种用于重复执行一组语句的语句。它可以让我们在程序中执行固定次数的循环,或者根据条件进行循环。有时候,我们需要在循环内部嵌套另一个循环,以便在循环内部执行更复杂的操作。

下面是一个简单的示例,演示如何使用for循环嵌套来计算1到100的所有偶数的和:

```c
#include <stdio.h>

int main() {
    int sum = 0;

    for (int i = 1; i <= 100; i++) {
        for (int j = 2; j <= i; j++) {
            if (i % j == 0) {
                sum += i;
                break;
            }
        }
    }

    printf("The sum of all even-numbered integers from 1 to 100 is %d\n", sum);

    return 0;
}
```

在这个例子中,我们使用两个for循环嵌套来计算1到100的所有偶数的和。外层循环从1到100遍历每个数字,内层循环从2到当前数字遍历每个数字的因子。如果当前数字能够被某个因子整除,则将其加入到sum中,并跳出内层循环。最终,sum将包含所有偶数的和。

★★★需要注意的是:

嵌套循环的层数不应该过多,否则代码可能会变得难以理解和维护。在编写嵌套循环时,应该尽可能地使代码简洁易懂,并避免过多的嵌套层数。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值