# **1.什么是数据?**
数据是指任何以电子或其他方式对信息的记录,是信息的载体,是计算机加工的对象。
# **2.数据类型**
#### **Python** 中主要有以下几种数据类型:*
1. 整数类型(int):表示整数,如 1、-5 等。
2. 浮点数类型(float):表示小数,如 3.14、-0.5 等。
3. 字符串类型(str):用引号括起来的字符序列,如 "hello"、"123" 等。
4. 布尔类型(bool):只有两个值,True(真)和 False(假)。
5. 列表类型(list):可以包含多个不同类型元素的有序集合,用方括号表示,如 [1, 2, "a"]。
6. 元组类型(tuple):与列表类似,但元组不可变,用小括号表示,如 (1, 2, "a")。
7. 字典类型(dict):是一种无序的键值对集合,用大括号表示,如 {"name": "Alice", "age": 20}。
8. 集合类型(set):元素无序且不重复的集合。
#### **C语言**中定义的基本数据类型
字符型(存放一个字符占一个字节8位)
char 0-255
signed char -128~127 unsigned char 0-255
整型(存放整数)
int 所用机器中整数的自然长度16/32位
signed int
unsigned int
short int/short至少16位,且不长于int类型
signed short
unsigned short
long int/long至少32位,且不短于int类型
signed long
unsigned long
浮点型
float 单精度浮点数
double 双精度浮点数
long double 高精度浮点数
符号
signed 修饰表示可以表示负数
unsigned修饰表示只可以表示正数
#### **Java**的数据类型
整型,Integer Types。
byte,占用8位。
short,占用16位。
int,占用32位。
long,占用64位。
浮点型,Floating-Point Types。
float,占用32位。
double,占用64位,
字符型:
char,占用16位,使用Unicode字符集,可以存储字母、数字、符号和中文字符等等。
布尔型:
boolean,只有两个值true和false,用于逻辑判断。
# **3.常量变量**
变量、常量是代码编程中非常重要的一部分。他们是对内存中存储一段数据位置的表示,可以表示不同类型的数据。
常量是在程序中固定不变的值,它与变量相对,变量是可以被重新赋值的。
常量在定义后就不能被修改,这使得它们非常适合用于存储那些在程序执行过程中不应该改变的值。
命名:常量通常以全部大写字母命名,以区分于变量。
# **4.运算符**
#### C语言运算符分类
\* **算术运算符**:用于基本的数学运算,如加、减、乘、除。
\* **关系运算符**:用于比较两个值的大小关系。
\* **逻辑运算符**:用于逻辑判断。
\* **位运算符**:对二进制位进行操作。
\* **赋值运算符**:用于给变量赋值。
\* **条件运算符**:用于条件判断。
\* **其他运算符**:如取地址运算符、下标运算符等。
![image-20240918172023282](C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20240918172023282.png)
![image-20240918172036378](C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20240918172036378.png)
#### Python运算符
![image-20240918171847556](C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20240918171847556.png)
###### ![image-20240918171908726](C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20240918171908726.png)
![image-20240918171922695](C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20240918171922695.png)
![image-20240918171936022](C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20240918171936022.png)
![image-20240918171946516](C:\Users\w\AppData\Roaming\Typora\typora-user-images\image-20240918171946516.png)
# 5.表达式
#### 一、算术表达式!
1.算术运算符:+,-,,/,%(求余)
2.由算术运算符加上运算对象构成算术表达式,如3+36-9/2
3.值:表达式的计算结果
4.整数除以整数结果取整数部分,故1/3得到的值是0
5.8%3结果为2,求余得到的是余数不是商
#### 二、 赋值表达式!
1.赋值运算符:=,+=,-=,=,/=,%=
2.赋值表达式:变量=表达式,如x=3+6,x+=6-9,x+=x=3+4,注意等号左边只能是变量
3.复合赋值运算符的运算:以/=为例:x/=表达式等价于x=x/(表达式)
4.值:=号左边的变量最终的值
#### 三、关系表达式!
1.关系运算符:<,>,<=,>=,= =(等于),!=(不等于)
2.由关系运算符加上运算对象构成关系表达式,如3>=4, 2==a
3.值:满足相应运算符所指定的关系的值为1,否则为0
#### 四、逻辑表达式!
1.逻辑运算符:&&(且) , ||(或) , !(非)
2.由逻辑运算符加上运算对象构成逻辑表达式,如3&&4, x||!y
3.值:满足相应运算符所指定的关系的值为1,否则为0
4.进行 ||或 运算时,若||左边的表达式值为1,则不再对右边的表达式进行运算。
5.进行 &&且 运算时,若&&左边的表达式值为0,则不再对右边的表达式进行运算。
#### 五、逗号表达式!
1.逗号运算符: ,
2.用逗号将各种表达式连续起来构成逗号表达式,如3+4,8*a
3.值:组成逗号表达式的各个表达式中的最后一个的值,如上例为8*a
# 6.语句
C语言中共有七种类型语句
表达式语句:由一个表达式和一个分号组成。执行表达式并忽略其结果。
函数调用语句:调用函数,函数中的代码会被执行。
空语句:不执行任何操作,只是一个分号。
顺序结构语句:按照出现的顺序依次执行。
选择结构语句:根据给定条件选择要执行的代码块。
循环语句:重复执行一段代码,直到满足退出条件。
复合语句:由多个语句组成的块,用花括号括起来。他们被视为一个单独的语句。
# 7.数组
数组:一个放了相同数据类型的集合
特点:集合中元素的数据类型相同;集合储存在连续的内存位置
# 8.指针
##### 指针的定义:
在C语言中,一个指针是一个变量,它存储了一个内存地址。这个地址通常指向一个变量的位置。要定义一个指针,我们需要使用星号()来声明。
##### 指针的赋值:
我们可以使用取地址运算符(&)来获取一个变量的地址,并将这个地址赋值给一个指针。
指针的解引用:
我们可以使用解引用运算符()来访问指针指向的变量的值。
##### 指针的修改:
我们可以通过解引用一个指针并赋值来修改变量的值。
指针的类型:
每个指针都有一个类型,这个类型决定了它所指向的变量的类型。例如,我们可以有一个指向整数的指针,也可以有一个指向字符的指针。指针的类型是在声明时确定的,例如:int *p; 或者 char p;
##### 指针所指向的类型:
当我们通过指针来访问指针所指向的内存区时,指针所指向的类型决定了编译器将把那片内存区里的内容当做什么来看待。从语法上看,你只须把指针声明语句中的指针名字和名字左边的指针声明符去掉,剩下的就是指针所指向的类型。例如,对于int *p;这个声明,指针所指向的类型就是int。
##### 指针的值:
指针的值是指针本身存储的数值,这个值将被编译器当作一个地址,而不是一个一般的数值。我们可以通过输出语句来查看这个地址。例如,我们可以输出一个指针的值来查看它所存储的地址:cout << "The value of the pointer is: " << p << endl;
##### 空指针:
一个空指针是指针变量本身没有被赋值或者初始化的情况下使用。这种情况通常会导致程序运行错误或者异常。因此,在使用指针之前,一定要确保它已经被正确地赋值或者初始化。
指向常量的指针:
指向常量的指针是指针变量指向一个常量内存地址的情况。这种指针不能修改所指向的内存地址或者内存地址中的值。例如:const int *p;
##### 野指针:
野指针是指针变量没有被正确初始化或者释放的情况下使用。这种情况可能会导致程序运行错误或者异常。在使用完指针之后,一定要记得释放它所指向的内存空间。例如:free(p)