五大类型
1.基本数据类型
整型 :处理整型数据用的,如整数。
有符号 短整型 整型 长整型
无符号 短整型 整型 长整型
short int long
整型的常量:就是有固定的数值,在程序运行过程中,其值不会被改变。如 100,-15。
整型的变量:就是没有固定的数值,保存的值可以随意被修改,在程序运行过程中其值可以被改变。在使用变量前,必须先声明,再使用。且变量的名称必须是一个合法的标示符且不能重复。
声明变量的一般格式:
类型标识符 变量名;
short a;
int b;
long c;
声明的作用,就是为了告诉编译器我有一个这样类型的变量,你要给我分配一段内存空间来存储它的值。就是告诉编译器 变量的类型和个数。
类型表示符 变量名1,变量名2…..;
int a1,a2,a3,a4,a5;
类型 最小值 最大值
short int -32768 32767
unsigned short int 0 65535
int -2147483648 2147483647
unsigned int 0 4294967295
long int -9223372036854775808
9223372036854775807
unsigned long int 0 18446744073709551615
计算过程:
short int 最小值 -2^15 ~2^15-1
unsigned short int 最小值 0 ~ 2^16-1
int 最小值 -2^31 ~ 2^31-1
unsigned int 最小值 0 ~2^32-1
long int 最小值 -2^63 ~ 2^63-1
unsigned long 最小值 0 ~ 2^64-1
sizeof关键字 用来计算所占内存字节数
sizeof(shrot int)---->2Byte---->2*8 = 16bit
sizeof(int)---->4Byte---->4*8 = 32bit
sizeof(long int)---->8Byte---->8*8 = 64bit
补充:32位 16位系统中所占内存情况
32位
char 1字节
short 2字节
int 4字节
long 4字节
long long 8个字节
16位
char 1字节
short 2字节
int 2字节
long 4字节
C99
long long int
实型 :处理浮点类型的数据的。
C89
单精度浮点:表示范围和有效位数少。
float 使用%f 或 .2f 6~7位
float 内存所占字节数 4Bytes = 32bits
xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
x 最高位,第31位是符号位 0正 1负
第23位 ~第30位 这8bits 叫做指数位。
第0位 ~第22位 这些位 是有效位数。
双精度浮点:表示范围和有效位数多。
double 使用%lf 或.nlf 所占 内存字节数 8 Bytes = 64bits 有效位数 7~13 实际上
可以比这个更宽泛15 ~ 16位。
double的表示范围 -1.7*10^308 ~1.7*10^308
C99
长双精度浮点:表示的范围更宽泛。
long double
字符型:用来表示计算机中得字符数据类型。可见字符 a A , 8,(,];都是可见字符。control 键 enter回车键等 控制字符。
有英文字符,有数字字符,中文字符。引文字符(含标点符号)以及数字字符都占一个占位符,中文字符(汉字),标点2个占位符。
字符集 ASCII码,UTF-8,16,32,64很多,GB2300 GB2312 BIG5等。
1.字符类型常量
'a'~'z' 'A'~'Z' '0'~'9' ',' '.''[' ')' '*' '&';
转义字符
\n 换行 \r回车 \b退格键
\t 水平制表符 \v垂直制表符
补充:
"\033[30m XXXXX"
31m
注意:只要一提到是字符常量 'a','A','9';字符串有所区别 "字符串常量";
2.字符类型变量 char ---->1Bytes--->8bit
有符号的字符类型 char
表示的范围 -2^7 ~ 2^7-1 -128 ~ 127
无符号的字符类型 unsigned char
无符号表示的范围 0 ~ 255 (共 256字符)
注意:C语言中 字符类型其实就是一个特殊的整型,存储的是字符的ASCII码。
3.ASCII码
小写 'a' ~ 'z' 97
大写 'A' ~ 'Z' 65 ====》65 + 32 = 97
数字 '0' ~ '9' 48
4.字符类型输入和输出
printf("%c\n");
scanf("%c",&变量名);
2.构造类型
3.指针类型
4.空类型
5.自定义类型