
一、变量与数据类型
在 C++ 中,变量是用于存储数据的容器,不同的数据类型决定了变量所能存储的数据范围和格式。
(一)基本数据类型
- 整型(int):用于存储整数。例如:
cpp
int num = 10; // 定义一个整型变量 num,并初始化为 10
- 浮点型(float 和 double):float 用于存储单精度浮点数,double 用于存储双精度浮点数,精度更高。
cpp
float pi = 3.14f; // 定义单精度浮点型变量 pi,并初始化为 3.14,注意后面的 f 表示单精度
double e = 2.71828; // 定义双精度浮点型变量 e,并初始化为 2.71828
- 字符型(char):用于存储单个字符。
cpp
char ch = 'A'; // 定义字符型变量 ch,并初始化为字符 'A'
(二)变量的声明与初始化
变量可以先声明后初始化,也可以在声明时直接初始化。
cpp
int a; // 声明一个整型变量 a
a = 5; // 初始化变量 a 为 5
int b = 3; // 声明并初始化整型变量 b 为 3
二、控制结构
控制结构用于控制程序的执行流程,包括顺序结构、选择结构和循环结构。
(一)选择结构
- if-else 语句:根据条件判断执行不同的代码块。
cpp
int x = 10;
if (x > 5) {
cout << "x 大于 5" << endl;
} else {
cout << "x 小于等于 5" << endl;
}
- switch 语句:根据表达式的值选择执行多个分支中的一个。
cpp
int day = 3;
switch (day) {
case 1:
cout << "星期一" << endl;
break;
case 2:
cout << "星期二" << endl;
break;
case 3:
cout << "星期三" << endl;
break;
default:
cout << "其他日期" << endl;
}
(二)循环结构
- for 循环:适用于已知循环次数的情况。
cpp
for (int i = 0; i < 5; i++) {
cout << i << " ";
}
// 输出:0 1 2 3 4
- while 循环:先判断条件,条件为真时执行循环体。
cpp
int j = 0;
while (j < 3) {
cout << j << " ";
j++;
}
// 输出:0 1 2
- do-while 循环:先执行一次循环体,然后再判断条件。
cpp
int k = 0;
do {
cout << k << " ";
k++;
} while (k < 2);
// 输出:0 1
三、函数
函数是一段可重复使用的代码,用于完成特定的任务。
(一)函数的定义与调用
cpp
// 定义一个函数,计算两个整数的和
int add(int a, int b) {
return a + b;
}
int main() {
int result = add(3, 5); // 调用 add 函数
cout << "3 和 5 的和为:" << result << endl;
return 0;
}
(二)函数的参数传递
函数可以接受参数,参数可以是值传递或引用传递。
- 值传递:函数内部对参数的修改不会影响到外部变量。
cpp
void changeValue(int num) {
num = 10;
}
int main() {
int x = 5;
changeValue(x);
cout << "x 的值为:" << x << endl; // 输出仍然是 5
return 0;
}
- 引用传递:函数内部对参数的修改会反映到外部变量。
cpp
void changeValueByRef(int& num) {
num = 10;
}
int main() {
int y = 5;
changeValueByRef(y);
cout << "y 的值为:" << y << endl; // 输出为 10
return 0;
}
四、数组
数组是一种数据结构,用于存储相同类型的多个元素。
(一)一维数组
cpp
int arr[5]; // 定义一个包含 5 个整型元素的数组
arr[0] = 1;
arr[1] = 2;
// 可以在定义时初始化
int brr[3] = {3, 4, 5};
// 遍历数组
for (int i = 0; i < 3; i++) {
cout << brr[i] << " ";
}
// 输出:3 4 5

(二)二维数组
cpp
int matrix[2][3]; // 定义一个 2 行 3 列的二维整型数组
matrix[0][0] = 1;
matrix[0][1] = 2;
matrix[0][2] = 3;
matrix[1][0] = 4;
matrix[1][1] = 5;
matrix[1][2] = 6;
// 遍历二维数组
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
cout << matrix[i][j] << " ";
}
cout << endl;
}
// 输出:
// 1 2 3
// 4 5 6

五、指针
指针是一种特殊的变量,它存储的是另一个变量的内存地址。
(一)指针的定义与使用
cpp
int num = 10;
int* p; // 定义一个整型指针 p
p = # // 将 num 的地址赋给指针 p
cout << "num 的值为:" << num << endl;
cout << "num 的地址为:" << &num << endl;
cout << "指针 p 指向的值为:" << *p << endl;
(二)指针与数组
数组名可以看作是指向数组首元素的指针。
cpp
int arr[5] = {1, 2, 3, 4, 5};
int* q = arr; // 等价于 int* q = &arr[0];
for (int i = 0; i < 5; i++) {
cout << *(q + i) << " "; // 通过指针遍历数组
}
// 输出:1 2 3 4 5
通过对这些 C++ 基础常识的掌握,能够为进一步深入学习 C++ 编程打下坚实的基础,在实际编程中可以灵活运用这些知识来解决各种问题。
每一次C++的输出,都是数据与世界的对话,精准而有力。