C++ 语句是用于控制程序流程的基本单元。C++ 中的语句可以分为以下几类:
- 表达式语句
- 复合语句
- 选择语句
- 迭代语句
- 跳转语句
表达式语句
表达式语句是最简单的语句类型,它由一个表达式和一个分号组成。表达式语句的作用是计算表达式的值,并将其丢弃。以下是一个简单的表达式语句的示例:
int x = 1;
x + 2; // 这是一个表达式语句,它的值为 3,但是被丢弃了
复合语句
复合语句是由多个语句组成的语句块,它们被包含在一对花括号中。复合语句可以包含任意类型的语句,包括其他的复合语句。以下是一个简单的复合语句的示例:
{
int x = 1;
int y = 2;
int z = x + y;
}
选择语句
选择语句用于根据条件选择不同的执行路径。C++ 中有两种选择语句:if 语句和 switch 语句。
if 语句
if 语句用于根据条件选择不同的执行路径。它的基本语法如下:
if (condition) {
// 如果 condition 为真,执行这里的代码
} else {
// 如果 condition 为假,执行这里的代码
}
if 语句可以省略 else 部分,只保留 if 部分。以下是一个简单的 if语句的示例:
int x = 1;
if (x == 1) {
std::cout << "x is 1" << std::endl;
}
switch语句
switch 语句用于根据不同的条件选择不同的执行路径。它的基本语法如下:
switch (expression) {
case value1:
// 如果 expression 的值等于 value1,执行这里的代码
break;
case value2:
// 如果 expression 的值等于 value2,执行这里的代码
break;
default:
// 如果 expression 的值不等于任何一个 case,执行这里的代码
break;
}
switch 语句中的 expression 必须是一个整数类型或枚举类型的值。case 后面的 value 必须是一个常量表达式。default 部分是可选的,它会在 expression 的值不等于任何一个 case 的值时执行。以下是一个简单的 switch 语句的示例:
int x = 1;
switch (x) {
case 0:
std::cout << "x is 0" << std::endl;
break;
case 1:
std::cout << "x is 1" << std::endl;
break;
default:
std::cout << "x is neither 0 nor 1" << std::endl;
break;
}
迭代语句
迭代语句用于重复执行一段代码,直到满足某个条件为止。C++ 中有三种迭代语句:while 语句、do-while 语句和 for 语句。
while 语句
while 语句用于重复执行一段代码,直到满足某个条件为止。它的基本语法如下:
while (condition) {
// 只要 condition 为真,就重复执行这里的代码
}
condition 是一个表达式,它的值为真或假。只要 condition 的值为真,就会重复执行 while 语句中的代码。以下是一个简单的 while 语句的示例:
int x = 0;
while (x < 10) {
std::cout << x << std::endl;
x++;
}
这个示例会输出从 0 到 9 的所有整数。
do-while 语句
do-while 语句也用于重复执行一段代码,直到满足某个条件为止。它的基本语法如下:
do {
// 先执行一次这里的代码
} while (condition);
condition 是一个表达式,它的值为真或假。先执行一次 do 语句中的代码,然后判断 condition 的值。只要 condition 的值为真,就会重复执行 do 语句中的代码。以下是一个简单的 do-while 语句的示例:
int x = 0;
do {
std::cout << x << std::endl;
x++;
} while (x < 10);
for 语句也用于重复执行一段代码,它的语法比 while 和 do-while 更加复杂。它的基本语法如下:
for (init; condition; increment) {
// 只要 condition 为真,就重复执行这里的代码
}
init 是一个初始化语句,它在循环开始前执行一次。condition 是一个表达式,它的值为真或假。只要 condition 的值为真,就会重复执行 for 语句中的代码。increment 是一个递增或递减语句,它在每次循环结束后执行一次。以下是一个简单的 for 语句的示例:
for (int i = 0; i < 10; i++) {
std::cout << i << std::endl;
}
跳转语句
跳转语句用于在程序中跳转到指定的位置。C++ 中有三种跳转语句:goto 语句、break 语句和 continue 语句。
goto 语句
goto 语句可以将程序的执行跳转到指定的标签处。它的基本语法如下:
goto label;
...
label:
// 这里是标签处的代码
label 是一个标签,它可以是任意的标识符,后面跟着一个冒号。goto 语句会将程序的执行跳转到指定的标签处。以下是一个简单的 goto 语句的示例:
int x = 0;
loop:
std::cout << x << std::endl;
x++;
if (x < 10) {
goto loop;
}
这个示例会输出从 0 到 9 的所有整数。在这个示例中,我们使用了 goto 语句将程序的执行跳转到标签 loop 处。goto 语句可以使程序的控制流变得非常混乱,因此应该尽量避免使用它。
break 语句
break 语句用于跳出循环或 switch 语句。它的基本语法如下:
while (condition) {
// 只要 condition 为真,就重复执行这里的代码
if (some_condition) {
break; // 跳出循环
}
}
break 语句会立即终止当前的循环或 switch 语句,并将程序的执行跳转到循环或 switch 语句之后的第一条语句。以下是一个简单的 break 语句的示例:
#include <iostream>
int main() {
for (int i = 0; i < 10; i++) {
if (i == 5) {
break;
}
std::cout << i << std::endl;
}
return 0;
}
这个示例会输出从 0 到 4 的所有整数。在循环执行到 i 等于 5 的时候,break 语句会跳出循环,然后程序的执行会继续执行循环之后的第一条语句。
continue 语句
continue 语句用于跳过循环中的某次迭代。它的基本语法如下:
while (condition) {
// 只要 condition 为真,就重复执行这里的代码
if (some_condition) {
continue; // 跳过本次迭代
}
}
continue 语句会跳过当前的循环迭代,并将程序的执行跳转到循环体的开头。以下是一个简单的 continue 语句的示例:
#include <iostream>
int main() {
for (int i = 0; i < 10; i++) {
if (i == 5) {
continue;
}
std::cout << i << std::endl;
}
return 0;
}
这个示例会输出从 0 到 9 的所有整数,但是不会输出 5。在循环执行到 i 等于 5 的时候,continue 语句会跳过本次迭代,然后程序的执行会继续执行循环体的开头。