1. C++基础语法概述
C++作为一门经典的编程语言,其基础语法是每个程序员必须掌握的基石。与C语言相比,C++在保持高性能的同时引入了面向对象特性,这使得它在系统编程、游戏开发、高频交易等领域占据重要地位。我刚开始学习C++时,最深刻的体会就是:理解基础语法细节能避免后期开发中的很多"坑"。
一个最简单的C++程序结构如下:
cpp复制#include <iostream> // 标准输入输出头文件
int main() { // 程序入口函数
std::cout << "Hello World!\n"; // 输出语句
return 0; // 返回状态码
}
这个看似简单的程序其实包含了很多关键知识点:
#include是预处理指令,用于引入头文件main()函数是程序执行的起点std::cout是标准输出流对象<<是流插入运算符\n是换行符return 0表示程序正常退出
提示:新手常犯的错误是忘记分号。在C++中,几乎每行代码结尾都需要分号,这与Python等语言不同。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 变量与数据类型
2.1 基本数据类型
C++作为静态类型语言,要求在编译时就知道所有变量的类型。以下是常见的基本数据类型:
| 类型 | 含义 | 典型大小 | 取值范围 |
|---|---|---|---|
| int | 整型 | 4字节 | -2^31 ~ 2^31-1 |
| float | 单精度浮点型 | 4字节 | 约±3.4e±38 (7位有效数字) |
| double | 双精度浮点型 | 8字节 | 约±1.7e±308 (15位有效数字) |
| char | 字符型 | 1字节 | -128~127或0~255 |
| bool | 布尔型 | 1字节 | true/false |
| void | 无类型 | N/A | N/A |
声明变量的基本语法是:
cpp复制类型 变量名 = 初始值;
例如:
cpp复制int age = 25;
float price = 99.99f; // f后缀表示float类型
char grade = 'A';
bool is_valid = true;
2.2 类型修饰符
C++提供了类型修饰符来更精确地控制变量:
signed:有符号数(默认)unsigned:无符号数short:短整型long:长整型
组合示例:
cpp复制unsigned short int score = 100; // 0~65535
long double pi = 3.1415926535L; // L后缀表示long double
注意:不同平台上数据类型的大小可能不同。如果需要确定大小,可以使用
<cstdint>中的固定宽度整数类型,如int32_t、uint64_t等。
2.3 变量作用域
理解作用域对编写可靠代码至关重要:
- 局部变量:在函数或代码块内部声明,仅在该范围内有效
- 全局变量:在所有函数外部声明,整个程序可见
- 块作用域:在
{}内声明的变量 - 类作用域:类的成员变量
- 命名空间作用域:在命名空间内声明的变量
示例:
cpp复制#include <iostream>
int global_var = 10; // 全局变量
void func() {
int local_var = 20; // 局部变量
{
int block_var = 30; // 块作用域变量
std::cout << block_var << "\n";
}
// std::cout << block_var; // 错误!block_var在此不可见
}
int main() {
func();
std::cout << global_var << "\n";
// std::cout << local_var; // 错误!local_var在此不可见
return 0;
}
3. 运算符与表达式
3.1 算术运算符
C++支持基本的算术运算:
cpp复制int a = 10, b = 3;
std::cout << a + b << "\n"; // 13
std::cou
