💻 I. C++ 基础语法结构
C++ 程序的基本结构由几个关键元素组成。
1. 基本程序结构
一个最小的 C++ 程序通常包含以下部分:
#include <iostream> // 预处理器指令:包含输入/输出流库
// 主函数:程序执行的起点
int main() {
// 语句:代码执行的动作
std::cout << "Hello, World!" << std::endl;
// 返回值:0 表示程序成功执行
return 0;
}
#include <...>(预处理器指令): 在编译前,指示编译器将指定文件(如<iostream>)的内容插入到当前文件中。main()函数: 每个 C++ 程序都必须有一个main函数,它是程序的入口点。int表示函数返回一个整数值。return 0;是惯例,表示程序正常退出。
- 分号
;: C++ 中的每个语句都必须以分号结束。 - 注释: 用于解释代码,不会被编译。
- 单行注释:
// 这是一个注释 - 多行注释:
/* 这是一个跨越多行的注释 */
- 单行注释:
2. 变量和常量
- 变量 (Variable): 用于存储数据的命名内存区域。使用前必须先声明其类型。
int age = 30; // 声明一个整数变量并初始化 double salary; // 声明一个浮点数变量 salary = 50000.50; // 赋值 - 常量 (Constant): 其值在程序执行期间不能被修改的量。
const double PI = 3.14159; // 编译时常量 #define MAX_SIZE 100 // C 风格宏常量,不推荐在 C++ 中使用
3. 输入/输出 (I/O)
C++ 使用流(stream)进行输入和输出,主要通过 <iostream> 库实现。
- 输出 (
std::cout): 使用插入运算符<<。std::cout << "值是:" << age << std::endl; // std::endl 作用是插入一个换行符并刷新缓冲区 - 输入 (
std::cin): 使用提取运算符>>。int input_value; std::cin >> input_value;
4. 控制流语句
用于控制程序执行的顺序。
| 语句 | 作用 | 示例 |
|---|---|---|
if/else | 条件分支,根据布尔表达式的值执行不同的代码块。 | if (age > 18) { ... } else { ... } |
switch | 多重条件分支,根据变量的值跳转到不同的 case 标签。 | switch (day) { case 1: ... break; default: ... } |
for 循环 | 在已知迭代次数时使用。 | for (int i = 0; i < 10; i++) { ... } |
while 循环 | 在条件为真时重复执行代码块。 | while (count < 5) { ... } |
do-while 循环 | 至少执行一次,然后检查条件。 | do { ... } while (condition); |
break / continue | break 跳出整个循环;continue 跳过当前迭代,进入下一次迭代。 | N/A |
5. 函数 (Functions)
用于将代码组织成可重用的块。
// 函数定义
int add(int a, int b) {
return a + b;
}
int main() {
int result = add(5, 3); // 函数调用
return 0;
}
💾 II. C++ 核心数据类型
C++ 的数据类型决定了变量存储的内存大小和可表示的值的范围。
1. 基本(内置)数据类型
| 类型 | 描述 | 典型大小(字节) | 示例 |
|---|---|---|---|
bool | 布尔类型,只能存储 true 或 false。 | 1 | bool is_valid = true; |
char | 字符类型,用于存储单个字符或小整数。 | 1 | char letter = 'A'; |
int | 整数类型,用于存储整数。 | 4 | int count = 100; |
float | 单精度浮点数,用于存储小数。 | 4 | float pi = 3.14f; |
double | 双精度浮点数,精度比 float 高,是浮点数的默认类型。 | 8 | double price = 19.99; |
void | 无类型,主要用于函数声明中表示不返回任何值。 | N/A | void print_hello() { ... } |
2. 修饰符(Modifiers)
基本类型可以使用修饰符来改变其含义和范围:
signed(有符号): 可以存储正数、负数和零(默认)。signed int,signed char
unsigned(无符号): 只能存储正数和零,范围是正向的两倍。unsigned int,unsigned char
short(短): 保证至少 16 位(2 字节),缩小存储范围。short int(通常简写为short)
long(长): 保证至少与int一样大。long int(通常简写为long),long long(保证至少 64 位)
3. 复合数据类型 (Derived Data Types)
这些类型基于基本数据类型构建。
| 类型 | 描述 | 示例 |
|---|---|---|
| 数组 (Arrays) | 存储同类型元素的固定大小的集合。 | int numbers[5] = {1, 2, 3, 4, 5}; |
| 指针 (Pointers) | 存储变量的内存地址。 | int *ptr = &age; |
| 引用 (References) | 变量的别名,一旦初始化不能改变指向。 | int &ref = age; |
| 结构体 (Structs) | 将不同类型的数据组合在一起的自定义数据类型。 | struct Person { int age; std::string name; }; |
| 类 (Classes) | C++ 中面向对象编程的核心,是结构体的扩展,包含数据和操作数据的方法。 | class Car { public: void drive() {}; }; |
| 枚举 (Enums) | 定义一组命名整数常量。 | enum Color { Red, Green, Blue }; |
4. 字符串类型
在 C++ 中有两种主要的字符串类型:
- C 风格字符串: 以空字符
\0结尾的char数组(不推荐用于新代码)。char name[] = "Alice"; - C++ 标准字符串 (
std::string): 来自<string>库的类,可以动态管理大小,更安全、更方便(推荐)。#include <string> std::string fullName = "Bob Smith";

被折叠的 条评论
为什么被折叠?



