一、简单语句
简单语句是C++中最基本的语句单元,通常以分号(;)结尾,用于执行一个单一的操作。常见的简单语句类型有:
- 表达式语句:由一个表达式后面加上分号构成,用于计算表达式的值或者执行具有副作用(如改变变量的值)的操作。例如:
int num = 10;  // 定义变量语句,也是一种简单语句
num++;        // 表达式语句,对变量num进行自增操作,自增后num的值变为11
std::cout << "The value of num is: " << num << std::endl;  // 表达式语句,执行输出操作
- 空语句:仅包含一个分号,不执行任何实际操作,但在某些语法结构中可能会用到,比如在循环体或if语句的分支中占位(不过通常不建议随意使用空语句,以免造成逻辑混淆)。例如:
for (int i = 0; i < 5; i++) {;  // 这里的空语句只是为了举例,实际中这样写没太大意义,可用于暂时占位等情况
}
二、块(复合语句)
块(也称为复合语句)是用花括号({})括起来的一组语句,它在语法上被视为一个单一的语句,可以出现在任何单个语句可以出现的地方。块常用于:
- 函数体定义:函数的具体实现代码通常放在一个块中。例如:
int add(int a, int b) {int sum = a + b;  // 这是块内的一条语句return sum;       // 这是块内的另一条语句
}
- 控制结构中包含多条语句的情况:比如在if语句、while语句、for语句等后面,如果需要执行多条语句来实现某个逻辑,就需要使用块。例如:
if (num > 5) {std::cout << "The number is greater than 5" << std::endl;num--;  // 如果num大于5,就执行这两条语句
}
三、if语句
if语句用于根据条件来决定是否执行特定的代码块,它有以下几种常见形式:
- 单分支if语句:- 语法格式:if (condition) statement;或者if (condition) { block },其中condition是一个条件表达式(结果为true或false),statement是单个语句,block是复合语句(块)。
- 示例代码:
 
- 语法格式:
int num = 10;
if (num > 5) {std::cout << "The number is greater than 5" << std::endl;
}
这段代码判断num是否大于5,如果是,则输出相应的提示信息。
- 双分支if-else语句:- 语法格式:if (condition) statement1; else statement2;或者if (condition) { block1 } else { block2 },如果condition为true,执行statement1或block1;如果condition为false,执行statement2或block2。
- 示例代码:
 
- 语法格式:
int num = 3;
if (num % 2 == 0) {std::cout << "The number is even" << std::endl;
}
else {std::cout << "The number is odd" << std::endl;
}
此示例判断num是否为偶数,根据判断结果输出不同的提示信息。
- 多分支if-else if-else语句:- 语法格式:
 
if (condition1) {block1
}
else if (condition2) {block2
}
...
else {blockn
}
用于处理多个不同条件的情况,依次判断各个条件,当某个条件满足时执行对应的代码块,若所有条件都不满足,则执行else后的最后一个代码块(else部分可省略,如果确实不存在所有条件都不满足的情况)。
 - 示例代码:
int score = 85;
if (score >= 90) {std::cout << "Grade: A" << std::endl;
}
else if (score >= 80) {std::cout << "Grade: B" << std::endl;
}
else if (score >= 70) {std::cout << "Grade: C" << std::endl;
}
else if (score >= 60) {std::cout << "Grade: D" << std::endl;
}
else {std::cout << "Grade: F" << std::endl;
}
该代码根据不同的分数范围给出对应的等级评定。
 
四、switch语句
switch语句用于多分支选择的情况,它根据一个表达式的值来选择执行多个代码块中的一个。
- 语法格式:
switch (expression) {case constant_expression1:statement_list1;break;case constant_expression2:statement_list2;break;...default:statement_listn;
}
其中expression是一个整型、枚举类型或类类型(需有合适的重载)等能进行比较的值,constant_expression是常量表达式(通常是整型常量、枚举常量等),每个case分支对应不同的值,当expression的值与某个case后的常量表达式相等时,就执行该case下的语句列表,直到遇到break语句跳出switch结构,若所有case都不匹配,则执行default分支下的语句(default部分可省略)。
- 示例代码:
int day = 3;
switch (day) {case 1:std::cout << "Monday" << std::endl;break;case 2:std::cout << "Tuesday" << std::endl;break;case 3:std::cout << "Wednesday" << std::endl;break;case 4:std::cout << "Thursday" << std::endl;break;case 5:std::cout << "Friday" << std::endl;break;case 6:std::cout << "Saturday" << std::endl;break;case 7:std::cout << "Sunday" << std::endl;break;default:std::cout << "Invalid day" << std::endl;
}
此代码根据变量day的值输出对应的星期几的信息,注意每个case分支最后通常要加上break,否则会出现“穿透”现象,继续执行下一个case分支的语句。
五、while语句
while语句用于实现循环结构,只要条件为真,就会重复执行循环体中的语句。
-  语法格式: while (condition) statement;或者while (condition) { block },其中condition是循环条件表达式,每次进入循环体之前都会先判断该条件是否为true,statement是单个语句或block是复合语句(循环体)。
-  示例代码: 
int i = 0;
while (i < 5) {std::cout << "The value of i is: " << i << std::endl;i++;
}
这段代码会循环输出i的值,从0开始,每次循环i自增1,直到i不小于5时停止循环。
六、for语句
for语句也是一种常用的循环结构,它通常用于已知循环次数的情况,语法更加紧凑,能方便地初始化循环变量、判断循环条件以及更新循环变量。
-  语法格式: for (initialization; condition; expression) statement;或者for (initialization; condition; expression) { block },其中:- initialization:用于初始化循环变量,一般是声明并初始化一个变量,只执行一次,在循环开始前执行。
- condition:循环条件表达式,每次进入循环体之前判断,若为- true则进入循环体,若为- false则结束循环。
- expression:用于更新循环变量的值,在每次循环体执行完后执行。
 
-  示例代码: 
for (int j = 0; j < 10; j++) {std::cout << "The value of j is: " << j << std::endl;
}
此代码会循环输出j的值,从0开始,每次循环j自增1,直到j达到10时停止循环。
这些语句是C++编程中构建逻辑和控制程序流程的基础,熟练掌握它们对于编写各种功能的程序非常重要。
 