在 if 或 if-else 语句中,可以用一对花括号 {} 包裹多条语句,形成一个语句块(代码块)。当条件成立时,整个块内的语句会按顺序全部执行。
1. 为什么需要代码块
生活逻辑示例:
- 如果天气晴朗 → 去公园、吃野餐、然后回家(三个动作)
- 否则 → 留在家中、看足球赛、喝啤酒(三个动作)
如果不用代码块,每个 if/else 只能控制紧随其后的一条语句,无法完成上述多步操作。
2. 语法格式
if(表达式)
{
语句A1;
语句A2;
...
}
else
{
语句B1;
语句B2;
...
}
其它语句;Code language: JavaScript (javascript)
执行规则:
- 表达式为真 → 执行
if后面{}中的全部语句 - 表达式为假 → 执行
else后面{}中的全部语句 - 执行完毕后,继续向下执行”其它语句”
格式规范:
- 花括号
{}本身不缩进,但括号内的语句必须缩进,以清晰表示归属关系 if(表达式)和else后面不加引号
3. 单语句也建议用大括号
即使代码块中只有一条语句,也建议保留 {}。好处是:
- 提高可读性,一眼看出条件控制的范围
- 后续添加语句时不会遗漏大括号,避免逻辑错误
// 可以工作,但不推荐
if(quantity > 10)
printf("打折\n");
// 推荐写法
if(quantity > 10)
{
printf("打折\n");
}Code language: JavaScript (javascript)
4. 代码示例
#include <stdio.h>
int main(void)
{
const double unit_price = 3.50;
int quantity = 0;
printf("请输入您要购买的数量:");
scanf("%d", &quantity);
if(quantity > 10)
{
printf("购买 %d 个的总价格是 %.2f\n", quantity, quantity * unit_price * 0.95);
printf("foxdevelop.com");
}
else
{
printf("购买 %d 个的总价格是 %.2f\n", quantity, quantity * unit_price);
printf("Foxdevelop");
}
return 0;
}Code language: PHP (php)
运行逻辑:
输入 quantity | 条件 quantity > 10 | 执行分支 | 输出内容 |
|---|---|---|---|
| 12 | 真 | if 代码块 | 打折价格 + foxdevelop.com |
| 5 | 假 | else 代码块 | 原价 + Foxdevelop |
Previous: if-else 双分支结构
Next: 嵌套的 if 语句