目录
一.数据的类型
1.基本类型
(1).整形
- int——整形
- short——短整型
- long——长整形
- long long——更长的整形
(2).浮点型
- float——单精度浮点型
- double——双精度浮点型
(3).字符型
- char
(4).空类型
- void——通常应用于函数的返回类型,函数的参数和指针类型
2.自定义类型(构造类型)
- 数组类型
- 结构类型 struct
- 联合类型 union
- 枚举类型 enum
3.指针类型
char *、int *、int **等
unsigned+整形 为对应类型的无符号类型
二.数据类型的大小及取值范围
- short —— 2字节 —— -2^15~2^15-1
- unsigned short—— 2字节 —— 0~2^16-1
- int —— 4字节 —— -2^31~2^31-1
- unsigned int —— 4字节 —— 0~2^32-1
- long —— 4字节 —— -2^31~2^31-1
- unsigned long —— 4字节 —— 0~2^32-1
- float —— 4字节
- double —— 8字节
- char —— 1字节
三.数据类型的应用
1.变量
(1).变量的定义
建议在定义变量时进行初始化
(2).变量的命名
- 只能由字母(包括大写和小写)、数字和下划线(_)组成。不能以数字开头。
- 长度不能超过63个字符。
- 变量名中区分大小写的。
- 变量名不能使用关键字。
(3).变量的分类
局部变量、全局变量
- 局部变量和全局变量冲突时,采用局部变量(尽量不要冲突)
- 全局变量不初始化默认为0,局部变量不初始化则为随机值
static的使用
修饰局部变量时,称为局部静态变量,值不会因为函数调用的结束而被清除,当函数再次被调用时,其值为上次调用结束的值
修饰全局变量时,称为静态全局变量,可以被该文件函数访问,不能被其他文件内函数访问
修饰函数时,称为静态函数,作用域仅限于本文件
(4).变量的使用
extern——声明外部的符号(例如extern int a)
extern int a=0——定义一个全局变量
(5).变量的作用域和生命周期
作用域
作用域是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效可用的而限定这个名字的可用性的代码范围就是这个名字的作用域。
1.局部变量的作用域是变量所在的局部范围。
2.全局变量的作用域是整个工程。
生命周期
变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段
1.局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
2.全局变量的生命周期是:整个程序的生命周期。
2.常量
- 字面常量
- const修饰的常变量——定义后不能被修改(const int a=100)(依然被认为是变量) (未定义则赋予随机值,依然不能修改)
- #define定义的标识符常量
- 枚举常量
enum Color
{
RED,//0
GREEN,//1
BLUE//2
}
int main()
{
printf("%d\n",RED);// =>0
}
3.字符串
(1).字符串结束标志是\0这个转义字符,计算字符串长度时\0为结束标志,不算作字符串内容
(2).字符串不同定义方法
char ch1[]="abc";
char ch2[]={'a','b','c','\0'};
4.转义字符
5.char类型数据
1.字符数据可以等价为与其相对应的ASCII码
2.%d输入输出字符数据的ASCII码
3.字符数据可以作为整数(ASCII码)参与计算
4.数字与数字字符
(1)‘4’以ASCII形式储存
4以整数储存方式(二进制补码)储存
(2)’4’占一个字节
4占2或4个字节
四.数据的输出格式
%d - 打印整型
%hd - 打印short类型
%ld - 打印long类型
%lld - 打印long long类型
%c - 打印字符
%f - 打印浮点数
%lf - 打印双精度浮点数
%p - 以地址形式打印
%x - 打印16进制数字,其中输出的字母为小写
%X - 打印16进制数字,其中输出的字母为大写