条件语句(Conditional Statement) 根据条件的真(true)假(false)来控制程序的执行流程。
例如:
如果 出太阳,就 戴太阳镜
如果 下雨,就 带伞
C 语言使用 if、else if 和 else 来创建条件语句。其基本语法如下:
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 是偶数