字符
用单引号表示字符
char a='b';
char b='A';
char c='0'; //字符0 不是数字0
ASCII码
字符在内存中是以编码的形式存在的,英文字母和英文符号是用ASCII码编码的

- '0' 的ASCII码是 48
- 'A' 的ASCII码是 65
- 'a' 的ASCII码是 97
char a=65;//直接用ASCII码赋值 相当于a='A'
cout<<a<<char(67);//输出AC
//char() 表示强制类型转换 将int转换成char 通过ASCII码转换
大小写转换
你可以观察出这样的规律
'a'=97 'A'=65 'a'-'A'=32
'b'=98 'B'=66 'b'-'B'=32
'c'=99 'C'=67 'c'-'C'=32
... ...
相同字母大小写之间差32
char a='c';
a-=32; //减32转大写
cout<<a;//输出大写C
注意运算结果类型提升
char a='D';
cout<<a+32;//输出100 输出的不是d
因为 a+32 是 char + int ,其中int类型大于char,运算结果是int类型的,输出就输出 'd' 的ASCII码了
数字字符和数字的转换
1 和 '1' 的区别是什么?首先类型不同,一个是 int ,一个是 char。其次内存中的值也不同。
1在内存中是1'1'在内存中是49
你能发现他和大小写之间的关系一样,数字和数字字符之间相差是48,而48就是 '0' 的ASCII码。
char a='9';
cout<<(a-'0')*9;//输出81