在 if 语句中使用代码块

在 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

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注