前言
这篇简单介绍一下c++语句,主要有简单语句、语句作用域、条件语句、迭代语句以及异常处理机制
简单语句
在C++中,简单语句是构成程序的基础单元。它们通常执行单一的操作,并以分号(;)结束。以下是C++中常见的几种简单语句类型:
表达式语句:这是最常见的简单语句类型,它包括表达式后跟一个分号。例如,赋值操作、函数调用、算术运算等。
a = 5; // 赋值语句 a++; // 后缀递增 func(); // 函数调用
#include <iostream> int main() { int a = 5; // 赋值语句 a++; // 后缀递增表达式 std::cout << a << std::endl; // 输出表达式 return 0; }
声明语句:用于声明变量。在C++中,变量在使用前必须声明。声明语句也是简单语句的一种。
int a; // 声明一个整型变量a double b; // 声明一个双精度浮点变量b
#include <iostream> int main() { int a; // 声明一个整型变量a a = 10; // 赋值 std::cout << a << std::endl; return 0; }
返回语句(return):在函数中使用,用于返回函数的结果并退出函数。
return; // 无返回值的函数中使用 return x + y; // 返回表达式的结果
空语句:只包含一个分号,不执行任何操作。在某些情况下,空语句可以用于占位或表示循环体或条件体为空。
; // 一个空语句
复合语句(或块):虽然不是简单语句,但它由花括号({})包围的一系列语句构成,通常用于定义变量的作用域。
{ int a = 5; // a的作用域限于这个复合语句 a++; }
语句作用域
在C++中,语句作用域指的是程序中变量和函数的可见性与有效性的范围。以下是C++中作用域的几种主要类型:
1. 局部作用域
- 局部作用域通常指在函数或代码块(如if、for语句块)内声明的变量。
- 这些变量只在声明它们的块或函数内部可见和有效。
- 示例代码:
#include <iostream> void myFunction() { int a = 5; // a的作用域限于myFunction std::cout << "Inside myFunction, a = " << a << std::endl; } int main() { myFunction(); // std::cout << a; // 这里访问a将引发编译错误,因为a的作用域只在myFunction内 return 0; }
2. 全局作用域
- 全局变量在所有函数外部定义,它们在整个程序中都是可见和有效的。
- 示例代码:
#include <iostream> int x = 20; // 全局变量x void myFunction() { std::cout << "Inside myFunction, x = " << x << std::endl; // 可以访问全局变量x } int main() { myFunction(); std::cout << "In main, x = " << x << std::endl; return 0; }
3. 命名空间作用域
- 命名空间提供了一种将全局变量和函数组织在一起的方式,避免名称冲突。
- 示例代码:
#include <iostream> namespace MyNamespace { int value = 5; // MyNamespace作用域内的变量 } int main() { std::cout << "Value in MyNamespace: " << MyNamespace::value << std::endl; // 访问命名空间内的变量需要使用命名空间名称 return 0; }
4. 块作用域
- 块作用域是指由花括号{}定义的代码块内声明的变量,它们的作用域限制在这个块内。
- 示例代码:
#include <iostream> int main() { { int a = 10; // a的作用域限于这个块 std::cout << "Inside block, a = " << a << std::endl; } // std::cout << a; // 这里访问a将引发编译错误,因为a的作用域已结束 return 0; }
条件语句
在C++中,条件语句用于基于特定条件执行不同的代码路径。C++提供了几种条件语句,包括if、else if、else和switch。下面是对这些条件语句的详细介绍:
1. If语句
- 基本形式:if语句用于在满足特定条件时执行一段代码。
if (condition) { // 执行代码 }
示例:
int a = 10; if (a > 5) { std::cout << "a大于5" << std::endl; }
2. Else语句
- 与If结合:else语句用于在if条件不满足时执行另一段代码。
if (condition) { // 条件满足时执行 } else { // 条件不满足时执行 }
示例:
int a = 3; if (a > 5) { std::cout << "a大于5" << std::endl; } else { std::cout << "a小于或等于5" << std::endl; }
3. Else If语句
- 多重条件:else if用于在多个条件之间做出选择。
if (condition1) { // 条件1满足时执行 } else if (condition2) { // 条件2满足时执行 } else { // 以上条件都不满足时执行 }
示例:
int score = 85; if (score >= 90) { std::cout << "优秀" << std::endl; } else if (score >= 60) { std::cout << "及格" << std::endl; } else { std::cout << "不及格" << std::endl; }
4. Switch语句
- 选择控制:switch语句根据变量的值选择执行不同的代码分支。
switch (expression) { case value1: // value1时执行 break; case value2: // value2时执行 break; // 更多cases default: // 没有匹配时执行 }
示例:
char grade = 'B'; switch (grade) { case 'A': std::cout << "优秀" << std::endl; break; case 'B': case 'C': std::cout << "良好" << std::endl; break; case 'D': std::cout << "及格" << std::endl; break; default: std::cout << "不及格" << std::endl; }
5. 嵌套条件语句
- 条件语句可以嵌套使用,以构建复杂的逻辑。
if (condition1) { // ... if (condition2) { // ... } }
6. 条件运算符
- C++还提供了三元条件运算符?:,用于简洁的条件表达。
int a = 10, b = 5; int max = (a > b) ? a : b; // 如果a > b,max = a,否则max = b
循环语句
在C++中,循环语句用于重复执行一段代码多次,直到满足某个特定的条件。C++提供了几种循环语句,包括while循环、do-while循环和for循环。以下是这些循环语句的详细介绍:
1. While循环
- 用途:当给定的条件为真时,重复执行代码块。
- 格式:
while (condition) { // 循环体 }
特点:循环开始前会检查条件。如果初始条件为假,则循环体一次也不执行。
#include <iostream> int main() { int i = 0; while (i < 5) { std::cout << i << std::endl; i++; } return 0; }
2. Do-While循环
- 用途:至少执行一次代码块,然后在条件为真时重复执行。
- 格式:
do { // 循环体 } while (condition);
特点:循环体至少执行一次,因为条件检查发生在循环体之后。
#include <iostream> int main() { int i = 0; do { std::cout << i << std::endl; i++; } while (i < 5); return 0; }
3. For循环
- 用途:重复执行代码块,通常用于执行已知次数的循环。
- 格式:
for (initialization; condition; increment) { // 循环体 }
特点:包括初始化表达式、循环条件和迭代表达式。
#include <iostream> int main() { for (int i = 0; i < 5; i++) { std::cout << i << std::endl; } return 0; }
4. 范围Based For循环(C++11及以上版本)
- 用途:遍历容器(如数组或向量)中的每个元素。
- 格式:
#include <iostream> #include <vector> int main() { std::vector<int> vec = {1, 2, 3, 4, 5}; for (int v : vec) { std::cout << v << std::endl; } return 0; }
c++语句详细介绍(二)https://developer.aliyun.com/article/1437104?spm=a2c6h.13262185.profile.43.5bba685cuSQkDD