

C++ 由 Bjarne Stroustrup 于 1983 年在贝尔实验室开发,最初名为 "C with Classes",旨在为 C 语言增加面向对象编程能力。1989 年正式更名为 C++,"++" 象征着在 C 语言基础上的增强。C++ 保持了 C 语言的高效性,同时引入了类、继承、多态等面向对象特性,成为系统开发、游戏引擎、高性能应用的主流语言。
下面是一个简单的 C++ 程序,实现两数相加并输出结果:
// 包含输入输出流库,用于cout和cin
#include <iostream>
// 使用标准命名空间,避免每次都写std::
using namespace std;
// 程序入口函数,每个C++程序必须有且仅有一个main函数
int main() {
// 定义两个整型变量a和b
int a = 10;
int b = 20;
// 计算两数之和
int sum = a + b;
// 输出结果,endl表示换行并刷新缓冲区
cout << "两数之和为:" << sum << endl;
// main函数返回0表示程序正常结束
return 0;
}运行结果:

程序结构说明:
#include <iostream>:预处理指令,引入标准输入输出库using namespace std:简化代码,可直接使用cout而非std::coutmain():程序入口,操作系统从这里开始执行cout:标准输出流对象,用于输出信息return 0:表示程序成功执行完毕C++ 的基本字符集包括:
+ - * / = , ; . : ! ? ( ) [ ] { } < > & | ^ ~ % # _\t)、换行符 (\n) 等(用于分隔词法记号,不影响逻辑)词法记号是 C++ 程序的基本语法单位,包括:
int、if、for等(不能作为标识符)123、3.14、"hello"+、-、*、/、=等;(语句结束)、,(元素分隔)、()(函数参数)等C++ 的基本数据类型分为三大类:整数类型、浮点类型和字符类型。
类型 | 说明 | 典型大小 (32 位 / 64 位) | 取值范围示例 |
|---|---|---|---|
bool | 布尔类型 | 1 字节 | true(1) 或 false(0) |
char | 字符类型 | 1 字节 | -128~127 或 0~255 |
short | 短整数 | 2 字节 | -32768~32767 |
int | 整数 | 4 字节 | -2147483648~2147483647 |
long | 长整数 | 4 字节 / 8 字节 | 同 int 或更大范围 |
long long | 超长整数 | 8 字节 | -9223372036854775808~9223372036854775807 |
float | 单精度浮点数 | 4 字节 | 约 ±3.4e38,精度 6-7 位 |
double | 双精度浮点数 | 8 字节 | 约 ±1.7e308,精度 15-17 位 |
long double | 扩展精度浮点数 | 8/16 字节 | 精度更高 |
代码示例:
#include <iostream>
using namespace std;
int main() {
// 布尔类型
bool isTrue = true;
// 字符类型(存储ASCII码)
char ch = 'A'; // 等价于 char ch = 65;
// 整数类型
int age = 25;
// 使用long long代替long存储大整数
long long population = 7800000000LL; // LL表示long long类型常量
// 浮点类型
float pi1 = 3.14f; // f表示单精度
double pi2 = 3.1415926535;
// 输出各类型值
cout << "布尔值:" << isTrue << endl; // 输出1(true)
cout << "字符:" << ch << ",对应的ASCII码:" << (int)ch << endl; // 输出A和65
cout << "年龄:" << age << endl;
cout << "世界人口:" << population << endl;
cout << "单精度π:" << pi1 << endl;
cout << "双精度π:" << pi2 << endl;
// 输出各整数类型的大小和范围(帮助理解)
cout << "\n类型大小信息:" << endl;
cout << "long类型大小:" << sizeof(long) << "字节" << endl;
cout << "long long类型大小:" << sizeof(long long) << "字节" << endl;
return 0;
}
常量是程序运行中不可修改的值,分为:
123(十进制)、014(八进制,前缀 0)、0x0A(十六进制,前缀 0x)3.14、2.5e3(科学计数法,2.5×10³)'a'、'\n'(转义字符,换行)"Hello"(本质是字符数组)转义字符 | 含义 | 转义字符 | 含义 |
|---|---|---|---|
\n | 换行 | \t | 水平制表符 |
\r | 回车 | \b | 退格 |
\' | 单引号 | \" | 双引号 |
\\ | 反斜杠 | \0 | 空字符 |
变量是内存中的一块存储空间,用于存储可变化的数据,定义格式:数据类型 变量名 = 初始值;
变量定义与使用示例:
#include <iostream>
using namespace std;
int main() {
// 定义变量并初始化
int a = 10; // 直接初始化
int b(20); // 括号初始化(C++风格)
int c = 30; // 传统赋值初始化(C++98兼容)
// 先定义后赋值
int d;
d = 40; // 赋值操作
// 变量参与运算
int sum = a + b + c + d;
cout << "a=" << a << ", b=" << b << ", c=" << c << ", d=" << d << endl;
cout << "总和:" << sum << endl;
// 修改变量值
a = 100;
cout << "修改后a的值:" << a << endl;
return 0;
}运行结果:

符号常量是用标识符表示的常量,提高代码可读性和可维护性,有两种定义方式:
#define 常量名 常量值(预处理指令,无类型检查)const 数据类型 常量名 = 常量值;(有类型检查,更安全)代码示例:
#include <iostream>
using namespace std;
// 1. 使用#define定义符号常量(预处理阶段替换)
#define PI 3.14159
#define MAX_AGE 120
int main() {
// 2. 使用const定义符号常量(编译阶段检查)
const int MIN_AGE = 0;
const double GRAVITY = 9.8;
// 使用符号常量计算圆的面积
double radius = 5.0;
double area = PI * radius * radius; // 等价于3.14159 * 5.0 * 5.0
cout << "半径为" << radius << "的圆面积:" << area << endl;
cout << "年龄范围:" << MIN_AGE << "~" << MAX_AGE << endl;
cout << "重力加速度:" << GRAVITY << "m/s²" << endl;
// 错误:符号常量不能被修改
// PI = 3.14; // 编译报错
// MIN_AGE = 1; // 编译报错
return 0;
}运行结果:

建议:优先使用const定义符号常量,因为它有类型检查,更安全。
constexpr是 C++11 引入的关键字,用于定义编译期常量,即可以在编译阶段计算出结果的表达式。
const 与 constexpr 的区别:
const:运行时常量,初始化后不可修改,但初始化值可能在运行时确定constexpr:编译期常量,初始化值必须在编译期确定,可用于需要编译期常量的场景(如数组大小)代码示例:
#include <iostream>
using namespace std;
// constexpr函数:编译期可计算的函数
constexpr int square(int x) {
return x * x;
}
int main() {
// constexpr变量:编译期确定值
constexpr int a = 10;
constexpr int b = square(5); // 编译期计算5²=25
// 正确:constexpr可用于数组大小(需要编译期常量)
int arr[b] = {1, 2, 3, 4, 5}; // b=25,数组大小25
// const变量:运行时常量(此处初始化值是编译期确定的,等价于constexpr)
const int c = 20;
// 错误:如果const变量初始化值是运行时确定的,则不能用于数组大小
// int num;
// cin >> num;
// const int d = num; // d是运行时常量
// int arr2[d]; // 编译报错(C++不支持变长数组)
cout << "a = " << a << endl;
cout << "5的平方 = " << b << endl;
cout << "数组第一个元素:" << arr[0] << endl;
cout << "c = " << c << endl;
return 0;
}
运算符是用于执行运算的符号,表达式是运算符和操作数的组合。
类别 | 运算符示例 | ||
|---|---|---|---|
算术运算符 | + - * / % ++ -- | ||
赋值运算符 | = += -= *= /= %= | ||
比较运算符 | == != > < >= <= | ||
逻辑运算符 | `! && | ` | |
位运算符 | `& | ^ ~ << >>` | |
条件运算符 | ?:(三目运算符) | ||
逗号运算符 | , | ||
sizeof 运算符 | sizeof(计算类型 / 变量大小) |
#include <iostream>
using namespace std;
int main() {
// 算术运算符
int x = 10, y = 3;
cout << "x + y = " << x + y << endl; // 13
cout << "x - y = " << x - y << endl; // 7
cout << "x * y = " << x * y << endl; // 30
cout << "x / y = " << x / y << endl; // 3(整数除法取整)
cout << "x % y = " << x % y << endl; // 1(取余)
// 自增自减运算符
int a = 5;
cout << "a++ = " << a++ << endl; // 先输出5,再a=6
cout << "++a = " << ++a << endl; // 先a=7,再输出7
int b = 5;
cout << "b-- = " << b-- << endl; // 先输出5,再b=4
cout << "--b = " << --b << endl; // 先b=3,再输出3
// 赋值运算符
int c = 10;
c += 5; // 等价于c = c + 5 → c=15
cout << "c += 5 → c = " << c << endl;
// 比较运算符
cout << "x > y ? " << (x > y) << endl; // 1(true)
cout << "x == y ? " << (x == y) << endl; // 0(false)
// 逻辑运算符
bool isAdult = true;
bool hasID = false;
cout << "是否成年且有身份证?" << (isAdult && hasID) << endl; // 0(false)
cout << "是否成年或有身份证?" << (isAdult || hasID) << endl; // 1(true)
cout << "是否未成年?" << !isAdult << endl; // 0(false)
// 三目运算符:条件 ? 表达式1 : 表达式2
int score = 85;
string result = (score >= 60) ? "及格" : "不及格";
cout << "成绩结果:" << result << endl; // 及格
// sizeof运算符:计算类型或变量大小(单位:字节)
cout << "int类型大小:" << sizeof(int) << "字节" << endl; // 4字节
cout << "x变量大小:" << sizeof(x) << "字节" << endl; // 4字节
return 0;
}注意:运算符有优先级和结合性,不确定时建议使用括号明确优先级,例如(a + b) * c。

语句是程序的基本执行单位,C++ 中常用语句包括:
;,如a = 10;、cout << "hello";;,表示什么也不做{}包围的一组语句,如{ int a=1; int b=2; }if、for、while等(后续章节详细讲解)C++ 的输入输出通过流(Stream) 实现,流是数据的流动序列:
标准 I/O 流对象:
cin:标准输入流(对应键盘)cout:标准输出流(对应屏幕)cerr:标准错误流(对应屏幕,无缓冲,立即输出错误信息)clog:标准日志流(对应屏幕,有缓冲)<<:插入符,用于输出数据到流(如cout << x;)>>:提取符,用于从流读取数据(如cin >> x;)代码示例:
#include <iostream>
using namespace std;
int main() {
// 定义变量存储输入数据
int age;
string name;
double height;
// 输出提示信息
cout << "请输入你的姓名:";
// 读取字符串(遇到空格或换行停止)
cin >> name;
cout << "请输入你的年龄:";
// 读取整数
cin >> age;
cout << "请输入你的身高(米):";
// 读取浮点数
cin >> height;
// 输出用户信息
cout << endl << "===== 个人信息 =====" << endl;
cout << "姓名:" << name << endl;
cout << "年龄:" << age << "岁" << endl;
cout << "身高:" << height << "米" << endl;
return 0;
}运行示例:

通过<iomanip>头文件中的函数可以控制 I/O 格式,常用格式控制符:
控制符 | 功能 |
|---|---|
setw(n) | 设置输出宽度为 n 个字符 |
setprecision(n) | 设置浮点数精度(n 为有效数字) |
fixed | 固定小数位数模式 |
left/right | 左对齐 / 右对齐 |
setfill(c) | 设置填充字符为 c |
hex/oct/dec | 以十六进制 / 八进制 / 十进制输出整数 |
代码示例:
#include <iostream>
#include <iomanip> // 包含格式控制函数
#include <string>
using namespace std;
int main() {
// 输出宽度和对齐
cout << "===== 宽度和对齐示例 =====" << endl;
cout << left << setw(10) << "姓名" << setw(5) << "年龄" << setw(8) << "身高" << endl;
cout << left << setw(10) << "张三" << setw(5) << 20 << setw(8) << 1.75 << endl;
cout << left << setw(10) << "李四" << setw(5) << 22 << setw(8) << 1.82 << endl;
// 浮点数精度控制
cout << endl << "===== 浮点数精度示例 =====" << endl;
double pi = 3.141592653589793;
cout << "默认精度:" << pi << endl; // 默认6位有效数字
cout << "8位有效数字:" << setprecision(8) << pi << endl;
cout << "2位小数:" << fixed << setprecision(2) << pi << endl; // fixed固定小数位数
// 整数进制输出
cout << endl << "===== 整数进制示例 =====" << endl;
int num = 255;
cout << "十进制:" << dec << num << endl; // 255
cout << "八进制:" << oct << num << endl; // 377(前缀0可手动添加)
cout << "十六进制(小写):" << hex << num << endl; // ff
cout << "十六进制(大写):" << uppercase << num << endl; // FF
// 填充字符
cout << endl << "===== 填充字符示例 =====" << endl;
cout << right << setw(10) << setfill('*') << 123 << endl; // *******123(宽度10,右对齐,*填充)
return 0;
}
算法的三大基本控制结构:顺序结构(默认)、选择结构(分支)、循环结构(重复)。


if语句用于根据条件执行不同的代码块,基本格式:
// 单分支
if (条件表达式) {
// 条件为true时执行
}
// 双分支
if (条件表达式) {
// 条件为true时执行
} else {
// 条件为false时执行
}
// 多分支
if (条件1) {
// 条件1为true时执行
} else if (条件2) {
// 条件2为true时执行
} else {
// 所有条件都为false时执行
}综合案例:成绩等级判断
#include <iostream>
using namespace std;
int main() {
// 输入成绩
int score;
cout << "请输入你的成绩(0-100):";
cin >> score;
// 验证成绩合法性
if (score < 0 || score > 100) {
cout << "成绩输入错误!请输入0-100之间的数。" << endl;
return 1; // 非0表示程序异常结束
}
// 判断成绩等级
char level;
if (score >= 90) {
level = 'A';
} else if (score >= 80) { // 隐含条件:score < 90
level = 'B';
} else if (score >= 60) { // 隐含条件:score < 80
level = 'C';
} else { // 隐含条件:score < 60
level = 'D';
}
// 输出结果
cout << "你的成绩等级是:" << level << endl;
return 0;
}运行示例:

当需要从多个选项中选择时,可使用switch语句,格式:
switch (表达式) {
case 常量1:
// 语句1
break; // 跳出switch
case 常量2:
// 语句2
break;
...
default:
// 所有case都不匹配时执行
break;
}注意:
case后必须是常量表达式break用于跳出switch,否则会继续执行下一个case(穿透现象)综合案例:简易计算器
#include <iostream>
using namespace std;
int main() {
double num1, num2;
char op;
// 输入运算数和运算符
cout << "请输入表达式(格式:数字 运算符 数字):";
cin >> num1 >> op >> num2;
// 根据运算符选择运算
switch (op) {
case '+':
cout << num1 << " + " << num2 << " = " << num1 + num2 << endl;
break;
case '-':
cout << num1 << " - " << num2 << " = " << num1 - num2 << endl;
break;
case '*':
cout << num1 << " * " << num2 << " = " << num1 * num2 << endl;
break;
case '/':
// 判断除数是否为0
if (num2 == 0) {
cout << "错误:除数不能为0!" << endl;
} else {
cout << num1 << " / " << num2 << " = " << num1 / num2 << endl;
}
break;
default:
cout << "错误:不支持的运算符!" << endl;
break;
}
return 0;
}运行示例:

循环结构用于重复执行一段代码,C++ 提供三种循环语句:for、while、do-while。
格式:
while (条件表达式) {
// 循环体
}执行流程:先判断条件,条件为 true 则执行循环体,重复此过程直到条件为 false。
格式:
do {
// 循环体
} while (条件表达式);执行流程:先执行一次循环体,再判断条件,条件为 true 则继续循环,否则结束(至少执行一次)。
格式:
for (初始化; 条件表达式; 更新表达式) {
// 循环体
}执行流程:初始化→判断条件→条件 true 执行循环体→更新表达式→重复判断条件...
代码示例:三种循环对比
#include <iostream>
using namespace std;
int main() {
// 1. while循环:计算1-10的和
int sum1 = 0;
int i = 1;
while (i <= 10) {
sum1 += i; // 等价于sum1 = sum1 + i
i++; // 变量自增
}
cout << "while循环计算1-10的和:" << sum1 << endl; // 55
// 2. do-while循环:输入密码直到正确
string password;
const string correctPwd = "123456";
do {
cout << "请输入密码:";
cin >> password;
if (password != correctPwd) {
cout << "密码错误,请重新输入!" << endl;
}
} while (password != correctPwd);
cout << "密码正确,登录成功!" << endl;
// 3. for循环:打印1-10的偶数
cout << "1-10的偶数:";
for (int j = 1; j <= 10; j++) {
if (j % 2 == 0) { // 判断是否为偶数
cout << j << " ";
}
}
cout << endl;
// 4. for循环:打印5*5乘法表
cout << endl << "5*5乘法表:" << endl;
for (int row = 1; row <= 5; row++) { // 行循环
for (int col = 1; col <= row; col++) { // 列循环(列数≤行数)
cout << col << "*" << row << "=" << col*row << "\t";
}
cout << endl; // 每行结束换行
}
return 0;
}
循环内部可以嵌套选择结构,选择结构内部也可以嵌套循环,用于实现复杂逻辑。
综合案例:素数判断与输出
#include <iostream>
#include <cmath> // 用于sqrt函数
using namespace std;
// 判断一个数是否为素数(只能被1和自身整除的大于1的整数)
bool isPrime(int num) {
if (num <= 1) {
return false; // 1不是素数
}
// 优化:只需判断到sqrt(num)
for (int i = 2; i <= sqrt(num); i++) {
if (num % i == 0) { // 能被i整除,不是素数
return false;
}
}
return true; // 是素数
}
int main() {
int n;
cout << "请输入一个正整数n:";
cin >> n;
// 输出1-n之间的所有素数
cout << "1-" << n << "之间的素数有:";
for (int i = 2; i <= n; i++) {
if (isPrime(i)) { // 嵌套选择结构(if)
cout << i << " ";
}
}
cout << endl;
return 0;
}运行示例:

switch中:跳出switch结构goto 标签; 和 标签: 语句;代码示例:
#include <iostream>
using namespace std;
int main() {
// break示例:找到100以内第一个能被13和7同时整除的数
int num;
for (num = 1; num <= 100; num++) {
if (num % 13 == 0 && num % 7 == 0) {
break; // 找到后跳出循环
}
}
cout << "100以内第一个能被13和7同时整除的数:" << num << endl; // 91
// continue示例:输出1-10中的奇数
cout << "1-10中的奇数:";
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) {
continue; // 是偶数则跳过本次循环剩余部分
}
cout << i << " ";
}
cout << endl; // 输出1 3 5 7 9
// goto示例:模拟游戏重试功能
retry: // 标签
cout << endl << "游戏开始!请选择:1-继续,0-退出:";
int choice;
cin >> choice;
if (choice == 1) {
cout << "游戏进行中...游戏失败!" << endl;
goto retry; // 跳转到retry标签,重新开始
} else {
cout << "游戏结束!" << endl;
}
return 0;
}
类型别名是给已有的类型起一个新名字,提高代码可读性,两种定义方式:
typedef 原类型 别名;using 别名 = 原类型;(C++11 引入,更推荐)代码示例:
#include <iostream>
#include <vector> // 标准容器vector
using namespace std;
// 1. typedef定义类型别名
typedef int Age; // Age是int的别名
typedef vector<int> IntVector; // IntVector是vector<int>的别名
// 2. using定义类型别名(更直观,推荐)
using Score = double; // Score是double的别名
using StringVector = vector<string>; // StringVector是vector<string>的别名
int main() {
// 使用类型别名定义变量
Age userAge = 25; // 等价于int userAge = 25;
Score mathScore = 95.5; // 等价于double mathScore = 95.5;
// 使用容器类型别名
IntVector numbers = {1, 2, 3, 4, 5}; // 等价于vector<int> numbers = ...
StringVector names = {"Alice", "Bob", "Charlie"}; // 等价于vector<string> names = ...
cout << "年龄:" << userAge << endl;
cout << "数学成绩:" << mathScore << endl;
cout << "数字列表:";
for (int num : numbers) { // 范围for循环
cout << num << " ";
}
cout << endl;
cout << "姓名列表:";
for (const string& name : names) {
cout << name << " ";
}
cout << endl;
return 0;
}
auto用于自动推断变量类型,编译器根据初始化值推断变量类型,简化代码。
使用场景:
decltype用于推断表达式的类型,但不计算表达式的值,格式:decltype(表达式) 变量名;
auto 与 decltype 的区别:
auto根据初始化值推断类型,必须初始化decltype根据表达式推断类型,变量可以不初始化代码示例:
#include <iostream>
#include <vector>
using namespace std;
// C++98不支持auto返回类型,需显式指定
int add(int a, int b) {
return a + b;
}
int main() {
// 用具体类型替代auto
int a = 10;
double b = 3.14;
char c = 'A';
const char* d = "hello";
cout << "a的类型是int,值:" << a << endl;
cout << "b的类型是double,值:" << b << endl;
cout << "c的类型是char,值:" << c << endl;
cout << "d的类型是const char*,值:" << d << endl;
// C++98初始化vector的方式
vector<int> nums;
nums.push_back(1);
nums.push_back(2);
nums.push_back(3);
nums.push_back(4);
nums.push_back(5);
// 用迭代器类型替代auto
vector<int>::iterator it = nums.begin();
cout << "vector第一个元素:" << *it << endl;
// 用具体类型替代decltype
int e;
e = 30;
int f; // x+y是int类型
f = a + b;
cout << "e = " << e << endl;
cout << "f = " << f << endl;
cout << "add(5, 3) = " << add(5, 3) << endl;
return 0;
}
变量本质是内存中的一块存储空间,每个变量有三个核心属性:
&运算符获取)内存分配原理:
代码示例:探索变量地址与内存
#include <iostream>
using namespace std;
// 全局变量(存储在全局区)
int globalVar = 100;
int main() {
// 局部变量(存储在栈区)
int localVar = 200;
double doubleVar = 3.14159;
// 输出变量值和地址(&运算符获取地址)
cout << "全局变量globalVar:" << endl;
cout << " 值:" << globalVar << endl;
cout << " 地址:" << &globalVar << endl; // 地址格式如0x404000
cout << "\n局部变量localVar:" << endl;
cout << " 值:" << localVar << endl;
cout << " 地址:" << &localVar << endl;
cout << "\n变量doubleVar:" << endl;
cout << " 值:" << doubleVar << endl;
cout << " 地址:" << &doubleVar << endl;
cout << " 大小:" << sizeof(doubleVar) << "字节" << endl; // 8字节
// 通过指针访问变量(指针存储变量地址)
int* p = &localVar; // p是指向int的指针,存储localVar的地址
cout << "\n通过指针访问localVar:" << *p << endl; // *p获取指针指向的值
*p = 300; // 通过指针修改变量值
cout << "修改后localVar的值:" << localVar << endl; // 300
return 0;
}
表达式的执行遵循运算符优先级和结合性,但复杂表达式可能存在未定义行为(如i = i++)。
执行原理:
++、--),需注意执行顺序未定义行为示例:
#include <iostream>
using namespace std;
int main() {
// 1. 运算符优先级示例
int a = 10 + 20 * 3; // 先算乘法20*3=60,再加10→70
int b = (10 + 20) * 3; // 先算括号内→30*3=90
cout << "a = 10 + 20 * 3 = " << a << endl;
cout << "b = (10 + 20) * 3 = " << b << endl;
// 2. 结合性示例(赋值运算符右结合)
int x, y, z;
x = y = z = 5; // 等价于x = (y = (z = 5))
cout << "\nx = " << x << ", y = " << y << ", z = " << z << endl; // 都为5
// 3. 未定义行为:不要在一个表达式中多次修改同一变量
int i = 5;
// 以下代码行为未定义,不同编译器可能有不同结果
// int j = i++ + ++i; // 危险!不要这样写
// cout << "j = " << j << endl;
// 4. 短路求值:逻辑运算符的优化
int k = 0;
// 逻辑与:第一个条件为false,第二个条件不执行
if (k != 0 && (10 / k > 1)) { // k=0,第一个条件false,避免除0错误
cout << "条件成立" << endl;
} else {
cout << "条件不成立(逻辑与短路)" << endl;
}
// 逻辑或:第一个条件为true,第二个条件不执行
if (k == 0 || (10 / k > 1)) { // 第一个条件true,避免除0错误
cout << "条件成立(逻辑或短路)" << endl;
} else {
cout << "条件不成立" << endl;
}
return 0;
}
注意:避免编写依赖未定义行为的代码,确保表达式执行顺序明确。
本章介绍了 C++ 语言的基础语法和核心概念,是学习 C++ 的基石,主要内容包括:
main函数、cout输出等基础。const和constexpr的区别。cin和cout实现数据输入输出,掌握<<和>>运算符,以及简单的格式控制。if、switch)和循环结构(for、while、do-while),能通过控制语句实现复杂逻辑。typedef、using)和类型推断(auto、decltype),简化代码并提高可读性。通过本章学习,应能独立编写简单的 C++ 程序,实现数据的输入、处理和输出,并掌握基本的算法控制结构。建议多动手练习,通过实际编程巩固知识点,为后续学习面向对象编程打下基础。
希望本文对大家学习 C++ 有所帮助!如果有任何问题或建议,欢迎在评论区留言~👍