-
语言学习的基础思路:
-
helloworld:打印语句
- 数据类型/变量
- 输入数据
- 数组
- 函数结构:返回值 参数值
- 独有特性:java/C++面向对象 C语言/C++:指针 结构体
-
数据结构学习
-
顺序:数组 对象/结构体 链表
- 链表和数组可以实现的更加有性格一点的结构:队列 栈 二叉树
- 学习一些复杂的或者组合形式的:各种树 哈希表 集合
-
数据类型/变量
一、基本数据类型
1. 整数类型:
- char :通常是 1 个字节,表示字符或小整数范围。
- short :通常是 2 个字节,短整型。
- int :通常是 4 个字节,整型。
- long :通常是 4 个字节或更长,长整型。
- long long :通常是 8 个字节,更长的整数类型。
2. 浮点类型:
- float :单精度浮点数,通常是 4 个字节。
- double :双精度浮点数,通常是 8 个字节。
- long double :扩展精度浮点数,通常比 double 精度更高。
3. 布尔类型:
- bool :只有两个值, true 和 false 。
二、复合数据类型
1. 数组:一组相同类型元素的集合。
2. 指针:存储另一个变量的地址。
3. 引用:为一个已存在变量的别名。
三、自定义数据类型
1. 结构体(struct):可以将不同类型的数据组合在一起。
2. 枚举(enum):定义一组命名的常量值。
3. 类(class):用于面向对象编程,可包含数据成员和成员函数。
一、变量的定义
变量定义的一般形式为: 数据类型 变量名; 。例如: int num; 定义了一个名为 num 的整数类型变量。可以在定义变量的同时进行初始化,如 int num = 5; 。
二、变量的作用域
1. 局部变量:在函数或代码块内部定义的变量,其作用域仅限于该函数或代码块。
2. 全局变量:在所有函数外部定义的变量,作用域是从定义的位置开始到整个程序结束。
三、变量的存储类型
1. auto :自动存储类型,局部变量在默认情况下是自动存储类型,存储在栈上。
2. static :静态存储类型,静态局部变量在函数调用之间保持其值,静态全局变量只能在定义它的文件中访问。
3. extern :用于声明在其他文件中定义的全局变量。
四、变量的命名规则
1. 变量名只能由字母、数字和下划线组成。
2. 变量名不能以数字开头。
3. 变量名不能是 C++关键字。
4. 变量名应具有描述性,以便提高代码的可读性。
格式化输出总结:C语言基础---3.格式化输出总结---%d ,%s,%f & %.3f,%m.ns 以及sprintf函数-优快云博客
C++操作符总结:c++ 操作符大全-算术操作符、关系操作符、逻辑操作符、位操作符、自增自减操作符、赋值操作符、条件操作符、逗号操作符、操作符优先级_c++符号大全-优快云博客
-
C++常用操作符
一、算术操作符
1. + (加法):用于两数相加。例如 int a = 5 + 3; 。
2. - (减法):两数相减。如 int b = 8 - 2; 。
3. * (乘法):数字相乘。例如 int c = 4 * 6; 。
4. / (除法):整数除法会截断小数部分,浮点数除法则正常进行。如 int d = 10 / 3; (结果为 3), double e = 10.0 / 3.0; (结果接近 3.33333)。
5. % (取余):用于计算整数除法的余数。例如 int f = 10 % 3; (结果为 1)。
二、关系操作符
1. == (等于):判断两个值是否相等。如 bool g = (5 == 5); (结果为 true)。
2. != (不等于):判断两个值是否不相等。例如 bool h = (5!= 3); (结果为 true)。
3. > (大于):判断左边值是否大于右边值。如 bool i = (6 > 4); (结果为 true)。
4. < (小于):判断左边值是否小于右边值。例如 bool j = (3 < 4); (结果为 true)。
5. >= (大于等于):判断左边值是否大于或等于右边值。如 bool k = (5 >= 5); (结果为 true)。
6. <= (小于等于):判断左边值是否小于或等于右边值。例如 bool l = (4 <= 4); (结果为 true)。
三、逻辑操作符
1. && (逻辑与):当两个操作数都为 true 时,结果为 true。例如 bool m = (true && true); (结果为 true)。
2. || (逻辑或):当两个操作数至少有一个为 true 时,结果为 true。如 bool n = (true || false); (结果为 true)。
3. ! (逻辑非):对操作数取反。例如 bool o =!(false); (结果为 true)。
四、赋值操作符
1. = :简单赋值。例如 int p = 10; 。
2. += 、 -= 、 *= 、 /= 、 %= :复合赋值操作符,例如 int q = 5; q += 3; (相当于 q = q + 3; ,结果为 8)。
五、其他常见操作符
1. sizeof :返回一个类型或变量所占用的字节数。例如 std::cout << sizeof(int); (通常在 32 位系统上为 4 字节,64 位系统上可能为 4 或 8 字节)。
2. & (取地址符):用于获取变量的地址。例如 int r; std::cout << &r; 。
3. * (解引用符):用于访问指针所指向的变量。如 int s = 10; int *ptr = &s; std::cout << *ptr; (输出 10)。
4. ++ (自增):使变量的值加 1。有前置和后置两种形式,例如 int t = 5; int u = ++t; (此时 u 为 6, t 也为 6), int v = 5; int w = v++; (此时 w 为 5, v 变为 6)。
5. -- (自减):使变量的值减 1。同样有前置和后置两种形式。
-
数组
一、数组的定义
1、一维数组定义
int arr[5];//定义了一个包含5个整数的数组
int arr[5]={2,5,6,7,8};//上下所对应的意思一样只不过第二个给出了五个明确的整数
2、二维数组及多维数组定义
int matrix[3][4];//定义了一个3行4列的二维整数数组
int matrix2[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
三维及以上以二维为例以此类推
二、数组的访问
1、一维数组的访问:通过下标来访问数组元素,下标为0开始
三、数组的特点
1、固定大小:在定义数组时,其大小必须是常量表达式,且一旦定义后,大小不能改变。
2、连续储存:数组在内存中时连续储存的,这使得可以通过指针算数快速访问元素。
3、缺乏边界检查:C++中的数组在访问元素时不进行自动的边界检查,访问超出数组的元素可能导致未定义行为。
四、数组的遍历
1、使用for循环遍历一堆数组
2、使用嵌套的for循环遍历二维数组
-
返回值/参数值
函数返回值:C++函数返回值介绍(含return 0 与 return 1 与 return -1介绍)_c++ return -1-优快云博客
函数的参数类型:Modern C++——函数参数类型的分类和使用-优快云博客