一、数据类型
1.数据有各种类别:数字、文字等,同样类别的数据也有大小之分,1个Byte不能满足这多样的需求。对需求相同的数据分为一类,分配相同的字节空间用于存储
2.数据类型决定了:取值范围、占用内存的字节数、可进行的操作
3.所谓类型就是对数据分配存储单元的安排,包括存储单元的长度(占多少字节)以及数据的存储形式。不同的类型分配不同的长度和存储形式。
二、基本类型之整形
1. 整型数据类型 缺省形式的
整形 [signed] int int
无字符整形 unsigned int unsigned int
短整型 [signed] short [int] unsigned short
无字符短整形 unsigned short [int] unsigned short
长整形 [signed] long [int] long
无字符长整形unsigned short [int] unsigned long
2.注意:
a、只有整形(包括字符型数据)可以加signed或unsigned修饰符,实际数据不能加
b、对无符号整形数据用"%u"格式输出。%u表示用无符号十进制数的格式输出
c、再将一个变量定义为无符号整型后不应向它赋予一个负值,否则会得到错误的结果
三、基本数据类型之浮点型
1.浮点数类型包括:float(单精度浮点型)、double(双精度浮点型)、long double(长双精度浮点型)
2.从左向右依次存储为:阶符、指数、数符、小数部分
3.两种表示方法:
(1)十进制小数形式:由数字和小数点组成;
例如:3.14, 4.,.4,0, 0.
(2)指数形式:“十进制小数或整数”+“e(或E)”+“十进制数整数”,e(或E)的两边必须有数,不能省略。
例如:3.5e-4 表示3.5x10-4
3.单精度浮点数类型小数点后有效的位数只有6位。双精度类型的有效位数可以达到16位。
绝大多数C编译器都规定小数点后最多保留6位,其余部分四舍五入。
4.通过类型定义符,可以定义一个浮点数类型的变量,与定义整数变量的方法相同:
[类型定义符] 标识符;
float fnum;
double dnum;
浮点类型变量也可以使用printf()函数输出,与整型变量不同的是:float的格式说明项为“%f”,double的格式说明项为“%lf”
三、基本数据类型之字符型
1.有符号字符型 [signed] char
无符号字符型 unsigned char
2.ASCII字符集包括:
a.字母:大写英文字母A~Z,小写英文字母a~z
b.数字:0~9
c.专门符号:29个,包括
d.!"# &'()*+,-./:;<=>?[\]^_ `{|}~
e.空格符:空格、水平制表符(tab)、垂直制表符、换行、换页(formfeed)
f.不能显示的字符:空(null)字符(以'\0'表示)、警告(以'\a'表示)、退格(以'\b'表示)、回车(以'\r'表示)等
3.在表示一个字符的时候,可以使用'’将字符括起来的形式,也可以直接使用ASCII中的编码值。
4.转义字符:以反斜杠“\”引导的特殊字符常量表示。
5、/ddd
3位8进制数表示的ASCII码对应的字符
\xhh
2位16进制数表示的ASCII码对应的字符
转义字符:'\x41’、'\101’16进制41等于658进制101等于65
值为65的ASCII码是'A’
'A’='\x41’='\101’
6、字符变量可以用一个字符为其赋值,也可以使用字符在ASCII码表中的编码值为其赋值,甚至整个编码值可以是16进制和8进制。输出字符变量时,printf()函数需要使用格式控制符%c。