2、字符类型里一共包含256个整数,每个整数可以代表一个字符(例如’d’,’&’等),这些整数和字符是完全可以互相替代的
3、ASCII码表里列出所有整数和字符的对应关系
‘a’ 97
‘A’ 65
‘0’ 48
4、所有小写英文字母在ASCII码表里是连续排列的,’a’对应的整数最小,’z’对应的整数最大
5、所有大写英文字母和阿拉伯数字字符也都符合这个规律
‘d’ – ‘a’ 等于 ‘D’ – ‘A’
‘d’ – ‘a’ 等于 ‘3’ – ‘0’ 等于 3 – 0
6、所有字符数据被分成两组,每组128个,其中一组字符和整数之间的对应关系在所有计算机上都一样,这些字符对应的整数范围从0到127
7、另外一组字符和整数之间的对应关系在不同的计算机上可能不同,这些字符对应的整数范围可能从-128到-1也可能从128到255
‘\n’ 换行字符
‘\r’ 回车字符
‘\’ \字符
‘\” ‘字符
‘\”’ “字符
8、短整数类型名称是short这个类型里包含了65536个不同的整数,其中一半是负数另外一半是非负数。这些数字以数字0为中心向两边扩展。
9、长整数类型名称是long这个类型里包含了2的32次方个不同的整数,其中一半是负数另外一半是非负数。这些数字以0为中心向两边扩展。
10、整数类型名称是int在大家的计算机上整数类型和长整数类型完全一样
11、以上类型都叫做有符号类型
12、每个有符号类型都有一个对应的无符号类型,无符号类型的名称是在有符号类型的名称前加unsigned(例如unsigned char,unsigned int等)
13、每个无符号类型包含的数字个数和对应的有符号类型一样,只是不包含负数
14、所有整数相关数据类型所包含的数字范围是互相重叠并逐渐扩大的
15、程序中不带小数点的数字后加u表示这个数字的类型是无符号整数类型
16、C语言里使用浮点类型表示带小数点的数字
17、浮点类型分为单精度浮点类型和双精度浮点类型
18、双精度浮点类型可以记录更多小数点后面的数位
19、单精度浮点类型的名称是float
20、双精度浮点类型的名称是double
21、程序中带小数点的数字默认是双精度浮点类型的
22、如果在带小数点的数字后加f就表示数字的类型是单精度浮点类型
23、C语言里可以创建新的数据类型,这些创建的数据类型叫复合数据类型,复合数据类型需要先创建然后才能使用
24、C99规范里引入布尔类型这个类型里包含两个整数,其中0叫做假,1叫做真真和假都叫做布尔值
25、C语言里任何整数都可以当作布尔值使用,0当布尔值使用的时候是假,所有其他整数当布尔值使用的时候都是真
26、程序中不需要使用布尔类型,直接把整数当布尔值使用就可以了
27、数据类型和占位符的对应关系
1、char和unsigned char %c
2、short %hd
3、unsigned short %hu
4、int %d
5、unsigned int %u
6、long %ld
7、unsigned long %lu
8、float %f或%g
9、double %lf或%lg
%f和%lf会保留小数点后面无效的0,%g和%lg不会保留
28、不同类型存储区的一个主要区别就是它们所包含的字节个数不同
29、sizeof关键字可以用来计算一个存储区里包含的字节个数
char和unsigned char 1个字节
short和unsigned short 2个字节
int和unsigned int 4个字节
long和unsigned long 4个字节
float 4个字节
double 8个字节
30、可以当数字使用的内容都可以写在sizeof关键字后面的小括号里
31、sizeof关键字小括号里对任何存储区内容的修改不会真正发生
/*
* sizeof关键字演示
* */
#include <stdio.h>
int main() {
int num = 0;
printf("sizeof(int)是%d\n", sizeof(int));
printf("sizeof(num)是%d\n", sizeof(num));
printf("sizeof(6 + 7)是%d\n", sizeof(6 + 7));
sizeof(num = 10);
printf("num是%d\n", num);
return 0;
}