C语言中的分支结构

1.前言

在C语言编程中,分支结构是一种给场重要的控制结构,它允许根据条件的不同执行不同的代码块(code block),本文将深入探讨C语言中的分支结构,包括if语句、switch语句以及相关的用法和最佳实践。

2.if语句

if语句是最基本的条件语句,用于根据条件的真假执行不同的代码块。

其基本结构如下

若表达式条件成立,则执行语句2.如:

#include <stdio.h>

int main() {
    int num = 10;

    if (num > 0) {
        printf("Number is positive.\n");
    }

    return 0;
}

在这个例子中,如果num的值大于0,将会输出"Number is positive."若num的值小于0,则什么也不输出。

3. if-else语句

if-else语句允许根据条件的真假执行两种不同的代码块。比如,当我们需要根据天气决定穿什么衣服时,就可以使用if语句:

//定义一个字符数组表示天气
char weather[10] = {0};

scanf("%s",weather);//数组的名称就是地址,所以不需要取地址符号&

if(weather == "sunny"){
printf("You can wear sunglasses.\n);
}
else if(weather == "rainy"){
printf("You should bring an umbrella.\n);
}

 通过这个简单的例子,您可以轻松理解if语句的逻辑,就像在做出日常生活中的选择一样。

4. 嵌套if语句

if语句可以嵌套,形成多层条件判断。

#include <stdio.h>

int main() {
    int num = 10;

    if (num > 0) {
        //判断num是否是偶数
        if (num % 2 == 0) {
            printf("Number is positive and even.\n");//语句1
        } else {
            printf("Number is positive and odd.\n");//语句2
        }
    } else {
        printf("Number is non-positive.\n");//语句3
    }

    return 0;
}

当num>0且是偶数,输出语句1,当num>0且是奇数时输出语句2,当num<0输出语句3.

5. switch语句

switch语句也可以用于多条件判断。switch 语句是⼀种特殊形式的 if...else 结构,⽤于判断条件有多个结果的情况。但是switch语句更易⽤、可读性更好的形式。其结构如下:

switch(表达式){
    case value1  :
       语句1;
       break; /* 可选的 */
    case valude2  :
       语句2;
       break; /* 可选的 */
  
    /* 您可以有任意数量的 case 语句 */
    default : /* 可选的 */
       语句n;
}

其关键字包含: switch(开关) break(中断) case(列子) default(默认)

我们可以根据swtich做出一个简单的计算器

#include <stdio.h>

int main() {
    int choice;
    double num1, num2;

    printf("选择操作:\n");
    printf("1. 加法\n2. 减法\n3. 乘法\n4. 除法\n");
    scanf("%d", &choice);

    printf("输入两个操作数:");
    scanf("%lf %lf", &num1, &num2);

    switch (choice) {
        case 1:
            printf("%.2lf + %.2lf = %.2lf\n", num1, num2, num1 + num2);
            break;
        case 2:
            printf("%.2lf - %.2lf = %.2lf\n", num1, num2, num1 - num2);
            break;
        case 3:
            printf("%.2lf * %.2lf = %.2lf\n", num1, num2, num1 * num2);
            break;
        case 4:
            if (num2 != 0) {
                printf("%.2lf / %.2lf = %.2lf\n", num1, num2, num1 / num2);
            } else {
                printf("除数不能为零。\n");
            }
            break;
        default:
            printf("无效的选择。\n");
    }

    return 0;
}

在这个例子中,用户可以选择不同的操作,程序会执行相应的计算。

使用switch时要主要以下几点:

1.switch()中的表达式必须是整型、字符型、枚举类型。

2.case 的 value必须与 switch 中的变量具有相同的数据类型,且必须是一个常量或字符

6.总结

谢谢观看。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值