第十章、其它语句

1. 复合语句

复合语句(Compound statements) 也常被称为代码块,是用一对大括号 {}零条多条语句 括起来所形成的一个整体。

复合语句的语法:

{
    语句块列表
}

语句块的语法

声明
语句

语法说明:

示例

输入语文成绩和数学成绩,计算并打印两科成绩的和。

#include <stdio.h>

int main(int argc, char *argv[]) {
    int total_score = 0;
    {  // 这对大括号是复合语句
        int score;
        printf("请输入语文成绩(0~100):");
        scanf("%d", &score);
        if (score < 0 || score > 100) {  // 这对大括号是复合语句
            printf("语文成绩有错\n");
            return 1;
        }
        total_score += score;
    }
    {  // 这对大括号是复合语句
        printf("请输入数学成绩(0~100):");
        int score;  // C99 及之后版本的编译器才可以在语句后声明变量。
        scanf("%d", &score);
        if (score < 0 || score > 100) {  // 这对大括号是复合语句
            printf("数学成绩有错\n");
            return 2;
        }
        total_score += score;
    }
    printf("您的总成绩是:%d\n", total_score);
    return 0;
}

注意:

一个空的复合语句 {} 等同于一条由单个的分号(;)组成的空语句。如下面的示例中。两种写法效果相同。

int x;
for (x = 0; x < 100; x++) {}  // {} 是空复合语句

也可以写成

int x;
for (x = 0; x < 100; x++) ;  // ; 是空语句

实验