国际访客建议访问 Primers 编程伙伴 国际版站点 > C 教程 > if 条件语句 以获得更好的体验。

# C 语言的 if 条件语句

条件语句(Conditional Statement) 根据条件的真(true)假(false)来控制程序的执行流程。

例如:

  • 如果 出太阳, 戴太阳镜

  • 如果 下雨, 带伞

C 语言使用 ifelse ifelse 来创建条件语句。其基本语法如下:

if (条件1)        // 如果 条件1 为 true,则执行 代码块1
{
    代码块1
}
else if (条件2)   // 否则(即 条件1 为 false),如果 条件2 为 ,则执行 代码块2
{
    代码块2
}

...

else if (条件n)   // 否则(即之前的条件均为 false),如果 条件n 为 ,则执行 代码块n
{
    代码块n
}
else              // 否则(即之前的条件均为 false),执行 代码块n+1 
{
    代码块n+1
}

说明:

  • 如果“条件1”为 true 则执行“代码块1”

  • 否则,如果“条件2”为 true 则执行“代码块2”

  • ...

  • 如果“条件n”为 true 则执行“代码块n”

  • 否则,执行“代码块n+1”

true 为 1, false 为 0,并且所有非零的值均视为 true;参考 布尔类型

graph TD
    START([开始]) --> COND1{条件1?} -- 是 --> 代码块1 --> END([结束])
    COND1 -- 否 --> COND2{条件2?} -- 是 --> 代码块2 --> END([结束])
    COND2 -- 否 --> CONDn{条件n?} -- 是 --> BLOCKn["代码块 n"] --> END([结束])
    CONDn -- 否 --> ELSE_BLOCK["代码块 n+1"] --> END([结束])

示例:

#include <stdio.h>

int main(void)
{
    int x = 10;

    if (x > 0) 
    {
        printf("%d 是正数\n", x);
    }
    else if (x < 0)
    {
        printf("%d 是负数\n", x);
    }
    else
    {
        printf("%d 是零\n", x);
    }

    return 0;
}

说明:

  • x 大于零时,打印 x 是正数

  • 否则,当 x 小于零时,打印 x 是负数

  • 否则,打印 x 是零

运行结果:

10 是正数

# 三目运算符

C 语言支持三目运算符 ? :,其格式为 条件 ? 结果1 : 结果2。如果“条件”为 true 则返回“结果1”,否则返回“结果2”。

示例:

#include <stdio.h>

int main(void)
{
    int x = 10;

    x % 2 == 0 ? printf("%d 是偶数\n", x) : printf("%d 是奇数\n", x);

    return 0;
}

说明:

  • 如果 x 除以 2 的余数为 0,则打印 x 是偶数

  • 否则打印 x 是奇数

运行结果:

10 是偶数
本文 更新于: 2025-11-27 09:38:05 创建于: 2025-11-27 09:38:05