C++基础语法

1 数据类型

字节:数据类型占用的空间大小

1
2
3
4
int a; // 整数类型 4字节  
long long l; // 长整数类型 8字节
char c; // 字符类型 1字节
double d; // 浮点数类型 8字节

2 基本运算

+ - * /
对于 / 除: 整数/整数 = 整数 10 / 3 = 3 如果其中有浮点数,则结果有小数,如 10 / 3.0 = 3.3333 % 取余,如 10 % 3 = 1 15 % 4 =3
类型自动转换:在运算过程中,如果数据类型不一致,自动将低精度转化为高精度
char < int < long long < double

3 输入输出

1
2
3
4
5
cin >> a;  // 输入  
cout << a << endl; // 输出 endl 换行
// 格式化输出
printf("a的值为%d", a); // %d叫做占位符
// %d 整数 %c 字符 %f 浮点数

4 分支结构

1
2
3
4
5
6
7
if(条件1) {  
代码块1
} else if(条件2) {
代码块2
} else {
代码块3
}

如果条件1成立则执行代码块1,否则如果条件2成立则执行代码块2,如果前面都不成立,则执行代码块3
注意:任何一个条件成立就停止判断
条件里可以用什么运算?

  • 关系运算符 == != >= <= > <
  • 逻辑运算符 &&且(两个都满足才满足) ||或(只要一个满足就满足) !非(相反)

5 循环结构

for 循环

1
2
3
4
for(初始化; 条件; 步长) {
循环体;
}
//第一次循环先执行初始化语句,之后判断是否满足条件,满足则进入循环执行循环体,不满足则跳出循环,执行循环体之后执行步长语句
常见的两种n遍循环的写法:
1
2
3
4
5
6
// 从0开始,到 < n,取不到n
for(int i = 0; i < n; i++) {
}
// 从1开始,到 <= n,能取到n
for(int i = 1; i <= n; i++) {
}
while 循环
1
2
3
4
while(条件) {
循环体;
}
// 条件满足则进入循环体,不满足则跳出
do-while循环
1
2
3
4
do {
循环体;
} while(条件);
// 不管是否满足条件,至少先执行一次循环体,然后再判断条件,决定是否继续循环

三种循环通用:

  • break:终止当前的循环
  • continue:跳过本轮循环

6 数组

需要存储很多相同类型的变量,可以使用数组。

声明格式:

1
2
3
数据类型 数组名[数组长度];
int a[1000];
double d[10000];

数组访问通过下标(索引)完成,下标从0开始,不能越界。

数组的遍历:

1
2
3
for(int i = 0; i < n; i++) {
cin >> a[i];
}

二维数组 可以理解为数组里面的元素还是一个数组,或者理解为一个矩阵,里面都是相同类型的元素。 声明格式:

1
2
数据类型 数组名[行数][列数]; // 先行后列
int a[100][100];

对于二维数组的访问,也是通过下标,先行后列。 二维数组遍历,借助循环嵌套完成。

1
2
3
4
5
6
7
8
// n行m列
for(int i = 0; i < n; i++) {
for(int j = 0; j < m; j++) {
cin >> a[i][j];
}
}

// 内层循环整个结束之后,外层循环才会执行一次

7 函数

把常用功能进行封装,把相同的功能提取出来,不同的地方作为参数。

声明格式:

1
2
3
4
返回值类型 函数名(参数1类型 参数1, 参数2类型 参数2) {
函数体;
返回;
}

举例:

1
2
3
4
5
6
7
8
int max(int a, int b) {
if(a > b) return a;
else return b;
}
int main() {
// 在主函数调用自定义函数
int max_num = max(a, b);
}

8 结构体

把不同类型的变量封装成一个自定义类型,就叫结构体。 比如自己创造一个学生类型。 声明格式:

1
2
3
4
struct 结构体类型名 {
类型1 变量1;
类型2 变量2;
};

举例:

1
2
3
4
struct student {
string name;
int age;
};

上述代码写完,是我们自己创造了一个类型为student的数据类型,但还没有创建变量,格式和正常的int一样,比如:

1
2
3
4
// stu中包括name和age
student stu;
// 也可以创建数组,数组中的每一个元素都是一个结构体
student s[100];

创建结构体变量还有一种简便方法,如下:

1
2
3
4
struct student {
string name;
int age;
} stu;

结构体成员的访问: 使用.来访问结构体变量里面的成员,对于每个成员都像一个普通变量一样使用,比如:

1
2
3
4
5
cin >> stu.name >> stu.age;
// 结构体数组使用如下
for(int i = 0; i < n; i++) {
cin >> s[i].name >> s[i].age;
}


C++基础语法
http://example.com/2025/10/29/coding/C++与算法/基础语法/C++基础语法/
作者
baoduozhu
发布于
2025年10月29日
许可协议