一、简单语句
简单语句是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++编程中构建逻辑和控制程序流程的基础,熟练掌握它们对于编写各种功能的程序非常重要。