1.C语言中的数据类型
1.1基本数据类型:字符型(char),短整型(short [int]),整型(int),长整型(long [ int])
单精度浮点型(float)
双精度浮点型(double)
1.2复合数据类型:
数组,结构体。。。
2.基本数据类型
字符型 (char)‘a’ ‘1’——1个字节短整型(short [int])——2个字节
整型(int) —— 4个字节
长整型(long [int])——4个字节
上面的三种类型用于表示 整数
单精度浮点数(float) ——4个字节
双精度浮点数(double)——8个字节
上面的二种类型用于表示 小数(注意:不同的编译器结果可能不同 )
unsigned 无符号的 表示非负数
signed 有符号的 表示负数、0、正数,一般省略,默认的就是有符号的数据类型
例:unsigned int num = 55;
1byte(字节) = 8 bit(二进制位)
1kb(千字节)= 1024 byte
1Mb(兆)= 1024kb
1Gb = 1024Mb
1Tb = 1024Gb
1p = 1024Tb
3.基本数据类型的范围
(1)char 类型 1个字节 8二进制位无符号:0000 0000 ~ 1111 1111 即 0 ~ 255
有符号:非负数的范围:0000 0000 ~ 0111 1111 即 0 ~ 127
负数的范围:1111 1111 ~ 1000 0000 即 -1 ~ -128
(2)short 类型 2个字节 16位二进制位
无符号:0 ~ 2^16-1 即 0 ~ 65535
有符号:非负数的范围:0 ~ 2^15-1 即 0 ~ 32767
负数的范围:-1 ~ 2^15 即 -1 ~ 32768
(3)int 类型 4个字节 32位二进制位
无符号:0 ~ 2^32-1
有符号:非负数范围:0 ~ 2^32-1(0~4294967295)
负数的范围:-1 ~ 2^32
(4) float 类型 4个字节 32位二进制位
+/- 3.4*10^38
(5) double 类型 8个字节 64位二进制位
+/- 1.7*10^308
扩展:
long long int(8字节) ;
long double(12字节);
科学技术法:
1.23e2——》1.23 * 10^2
1.23e-2——》1.23*10^-2
注意:^在程序中不表示次幂的意思,pow函数(注意:使用此函数时添加头文件#include<math.h>)
4.基本数据类型的特性
(1)char类型‘x’‘1’ ‘2’——》在C语言中并不是保存相应字符的样子,而是保存其编号 即 ASCII码,0 ~ 127
常见的字符对应的ASCII的值:
‘a’~‘z’ ——> 97 ~ 122
‘A’~ ‘Z’ ——> 65 ~ 90
‘0’~‘9’ ——> 48 ~ 57
'\0' NULL ——>0
'\n'
——> 10
空格——>32
“123456”——>字符一个一个取出来 - '0'
(2)默认的数据类型
66——》默认int类型
66L——》默认是long int 类型
66LL——》默认是long long int 类型
3.14——》默认double 类型
3,14f——》float类型
(3)真和假
c语言中没有bool类型
假:0 0.0'\0'NULL
真:任何非0的都是真
5.类型转换
(1)隐式类型转化一般啊都是从小到大的转换;如short —> int
(2)显式类型转换(强制类型转换)
一般啊都是从大到小的转换;如 int —> short
6.类型的提升
(1)当char、short类型的数据之间进行运算时,会被编译器自动提升为int类型char + char ——》int
short + short ——》int
(2)float 类型的数据参与运算的时候,不会被自动提升为double类型参与运算
float+float——》float
float+double ——》double;float跟double参与运算的时候会被提升为double类型;
(3)当int类型和unsigned int 类型数据进行运算的时候,int类型会被自动提升为unsigned int 类型 再参与运算当int类型 和double 类型运算时,把int 提升为double 类型
7.sizeof的使用
sizeof(变量名)sizeof(数据类型)
sizeof(表达式)
sizeof是一个关键字,不是函数,sizeof只关注数据类型,不会对表达式进行运算
8.变量
变量:数值可以改变的量,本质上来说的话内存中申请一块空间做个标记
8.1变量的声明
声明的格式:
数据类型 变量名;例如:int num;
8.2变量的赋值
num = 66
8.3变量的初始化
int num = 66;
8.4标识符的命名规则
1)只能以字母、下划线开头
2)可以包含数字,字母,下划线
3)不能与关键字同名(int double 等)
4)区分大小写——int i,I;
5)c89支持的变量名的长度最多是31个字符的长度
c99最多支持63个字符的长度
6)尽量使用驼峰法则和下划线命名方式