# 数据类型、运算符与表达式
# 数据类型
- 基本类型:整数类型和浮点类型。
- 枚举类型:被用来定义在程序中只能赋予其一定的离散整数值的变量。
- void 类型:类型说明符 void 表明没有可用的值。
- 派生类型:它们包括:指针类型、数组类型、结构类型、共用体类型和函数类型。
# 整数类型

上面表格看出有些类型存储大小并不确定,这跟系统位数有关。
可以使用表达式 sizeof(type)
得到对象或类型的存储字节大小
#include <stdio.h>
#include <limits.h>
int main(void)
{
// %lu 为 32 位无符号整数
printf("当前操作系统下的 int 存储大小为:%lu\n", sizeof(int));
return 0;
}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# 浮点类型

# void 类型
通常有如下三种使用情况
- 函数返回空;
- 函数参数为空;
- 指针指向
void
;
# 常量
程序运行过程中,其值不发生变化的量
# 分类
- 整型
10, -129, 0
- 浮点型
- 单精度浮点型
10.0f, 3.14f
- 双精度浮点型
10.0, 3.14
- 字符型
'a', '3'
- 字符串型
"a", "abc34"
# 变量
# 什么是变量
变量:是内存中具有特定属性的一个存储单元,用来存放数据(变量的值),数据在程序运行过程中可以改变。
变量名:用一个名字代表一个对用的存储单元地址。命名规范:字母、数字、下划线,第一个字符必须为字母或者下划线。
注意
从变量中取值,实际上就是通过变量名找到内存中存储单元的地址,并从该存储单元中读取数据
# 变量类型
基本类型
- 整型
int
; 4 个字节,取值范围 -2147483648 到 2147483647 - 字符型
char
;一个字节(八位) - 浮点型
- 单精度浮点型
float
; 1位符号,8位指数,23位小数 - 双精度浮点型
double
; 1位符号,11位指数,52位小数
构造类型
- 数组类型
[]
- 结构类型
struct
- 联合类型
union
- 枚举类型
enum
指针类型(*)
空类型void
# 整型数据
# 符号常量
使用 关键字 int
来定义整型数据
# 整型常量的不同进制
# 多种进制表示法
10 // 十进制
037 // 八进制
0x1f // 十六进制
1
2
3
2
3
# 字符常量
// 字符型常量 使用单引号将字符括起来
// 字符常量参与运算时使用对应的 ASCII 码来进行运算
c = a + '3'
1
2
3
2
3
转义字符
'\b' // 回退
'\n' // 换行
'\t' // 横向制表符
'\v' // 纵向制表符
'\\' // 反斜杠
'\'' // 单引号
'\"' // 双引号
'\0' // 字符串结束的标识
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 字符串常量
// 字符串常量使用双引号包裹
"This is a string"
1
2
2
# const
前缀
可以使用 const
前缀声明指定类型的常量: const string name = "张三"
# 运算符
比较简单,跳过,之后有个位运算,如果用到了可以补充一下。