字符型

来源:百度文库 编辑:神马文学网 时间:2024/03/29 13:38:00
数据类型 子类型 修饰符 简写 长度 数值范围 类型变量定义 类型常量
字符型 有符号字符 char char 1字节 -128~127 char a;  1.单引号括起来字符,如'a', '9', 'Z'
2.十进制ASCII码值, 例如85表示大写字母'U'
3.十六进制ASCII码值,以0x开头,后面接数字0-9或字母a-f;例如0x5d表示']'
4.八进制ASCII码值,以0开头,后面接数字0-7;例如0102表示大写字母'B'
5.转义字符,以\开头,后面接字母;例如'\n'表示换行
6.转义字符加十六进制ASCII码值,以\x开头,后面接数字0-9或字母a-f;例如回车字符的表示为'\x0d'
7.转义字符加八进制ASCII码值,以\0开头,后面接数字0-7;例如回车字符的表示'\015'
无符号字符 unsigned char  unsigned char  1字节 0~255 unsigned char a;
字符型与整型的关系
字符在计算机中以其ASCII码方式表示, 在Turbo C语言中, 字符型数据在操作时将按整型数处理, 如果某个变量定义成char, 则表明该变量是有符号的, 即它将转换成有符号的整型数。
Turbo C中规定对ASCII码值大于0x80的字符将被认为是负数。例如ASCII 值为0x8c的字符, 定义成char时,被转换成十六进制的整数0xff8c 。 这是因当ASCII码值大于0x80时, 该字节的最高位为1, 计算机会认为该数为负数,对于0x8c表示的数实际上是-74(8c的各位取反再加1), 而-74 转换成两字节整型数并在计算机中表示时就是0xff8c(  对0074 各位取反再加1)。因此只有定义为unsigned char 0x8c转换成整型数时才是8c。这一点在处理大于0x80的ASCII码字符时(例如汉字码)要特别注意。一般汉字均定义为unsigned char(在以后的程序中会经常碰到)。
字符串的表示
字符串用一个字符型数组来表示。
例如:  char str[10];
计算机在编译时, 将留出连续10个字符的空间, 即str[0]到str[9]共10个变量, 但只有前9个供用户使用。第10个str[9]用来存放字符串终止符NULL即"\0", 但终止符是编编译程序自动加上的, 这一点应特别注意。
对于字符串常量, 一般用双引号括起来表示, 如"Hello"。
特殊字符的表示
一些不能用符号表示的控制符, 可以用三种方式表示
1> 用ASCII码值来表示, 如十进制数10 表示换行, 十六进制数0x0d表示回车, 八进制数033表示Esc
2> 用转义字符表示,如'\n'表示回车
3> 用转义字符和ASCII码共同来表示,如'\033'表示Esc
回车的各种表示方法
ASCII
控制字符
说明
ASCII码
转义字符
转移字符加ASCII码
13
CR
回车
十进制
八进制
十六进制
八进制
十六进制
13
015
0x0d
'\n'
'\015'
'\x0d'
十进制ASCII码表
ASCII值
控制字符
说明
转义字符
ASCII值
控制字符
说明
转义字符
ASCII值
控制字符
说明
转义字符
ASCII值
控制字符
说明
转义字符
0
NULL

\0
32
(space)
64
@
96

1
SOH
标题开始
33

65
A
97
a
2
STX
正文开始
34

\"
66
B
98
b
3
ETX
正文结束
35
#
67
C
99
c
4
EOT
传输结束
36
$
68
D
100
d
5
ENQ
询问字符
37
%
69
E
101
e
6
ACK
承认
38
&
70
F
102
f
7
BEL
报警
\a
39
'
\'
71
G
103
g
8
BS
退一格
\b
40
(
72
H
104
h
9
HT
横向列表
\t
41
)
73
I
105
i
10
LF
换行
\n
42
*
74
J
106
j
11
VT
垂直制表
\v
43
+
75
K
107
k
12
FF
走纸控制
\f
44
,
76
L
108
l
13
CR
回车
\r
45
-
77
M
109
m
14
SO
移位输出
46
.
78
N
110
n
15
SI
移位输入
47
/
79
O
111
o
16
DLE
空格
48
0
80
P
112
p
17
DCI
设备控制1
49
1
81
Q
113
q
18
DC2
设备控制2
50
2
82
R
114
r
19
DC3
设备控制3
51
3
83
X
115
s
20
DC4
设备控制4
52
4
84
T
116
t
21
NAK
否定
53
5
85
U
117
u
22
SYN
空转同步
54
6
86
V
118
v
23
TB
信息组传送结束
55
7
87
W
119
w
24
CAN
作废
56
8
88
X
120
x
25
EM
纸尽
57
9
89
Y
121
y
26
SUB
换置
58
:
90
Z
122
z
27
ESC
换码
59
;
91
[
123
{
28
FS
文字分隔符
60
<
92
/
\\
124
|
29
GS
组分隔符
61
=
93
]
125
}
30
RS
记录分隔符
62
>
94
^
126
~
31
US
单元分隔符
63
\?
95

127
DEL
删除