字符类型(char)
1. 基本介绍
- 字符类型可以表示单个字符,字符类型是
char
,char
是 1
个字节(可以存字母或者数字),多个字符称为字符串,在C 语言中 使用 char 数组 表示 字符串,数组不是基本数据类型,而是构造类型
2. 基本案例
- %c 表示以字符的形式输出
void main() {
char c1 = 'A';
char c2 = '0';
char c3 = '\t';
printf("c1=%c c3=%c c2=%c", c1, c3, c2); //%c 表示以字符的形式输出
getchar();
}
3. 字符类型使用细节
-
- 字符常量是用单引号(
' '
)括起来的单个字符。例如:char c1 = 'a'; char c3 = '9';
- C 中还允许使用转义字符‘
\
’来将其后的字符转变为特殊字符型常量。
例如:char c3 = ‘\n’;
// '\n’表示换行 - 在 C 中,
char
的本质是一个整数,在输出时,是 ASCII
码对应的字符。 - 可以直接给
char
赋一个整数,然后输出时,会按照对应的 ASCII
字符输出 [97
] -
char
类型是可以进行运算的,相当于一个整数,因为它都对应有 Unicode
码. - 案例演示:
#include<stdio.h>
void main(){
char c1 = 'a';
char c2 = 'b';
//这时当我们以%c 输出时,就会安装 ASCII 编码表(理解 字符 <==> 数字 对应关系 ) 对应的 97 对应字符输出
char c3 = 97;
printf("c1=%c c2=%c c3=%c", c1, c2, c3);
getchar();
}
4. 字符类型本质探讨
-
- 字符型 存储到 计算机中,需要将字符对应的码值(整数)找出来
存储:字符’a’——>码值 (97)——>二进制 (1100001)——>存储()
读取:二进制(1100001)——>码值(97)——> 字符’a’——>读取(显示) - 字符和码值的对应关系是通过字符编码表决定的(是规定好)
5. ASCII 码介绍
-
- 在计算机内部,所有数据都使用二进制表示。每一个二进制位(bit)有 0 和 1 两种状态,因此 8 个二进制位就可以组合出 256 种状态,这被称为一个字节(byte)。一个字节一共可以用来表示 256 种不同的状态,每一个状态对应一个符号,就是 256 个符号,从 0000000 到 11111111。
- ASCII 码:上个世纪 60 年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为 ASCII 码。ASCII 码一共规定了 127 个字符的编码,比如空格“SPACE”是 32(二进制 00100000),大写的字母 A 是 65(二进制 01000001)。这 128 个符号(包括 32 个不能打印出来的控制符号),只占用了一个字节的后面 7 位,最前面的 1 位统一规定为 0。
- 看一个完整的 ASCII 码表