數(shù)據(jù)類型 子類型 修飾符 簡寫 長度 數(shù)值范圍 類型變量定義 類型常量
字符型 有符號字符 char char 1字節(jié) -128~127 char a; 1.單引號括起來字符,如'a', '9', 'Z'
2.十進(jìn)制ASCII碼值, 例如85表示大寫字母'U'
3.十六進(jìn)制ASCII碼值,以0x開頭,后面接數(shù)字0-9或字母a-f;例如0x5d表示']'
4.八進(jìn)制ASCII碼值,以0開頭,后面接數(shù)字0-7;例如0102表示大寫字母'B'
5.轉(zhuǎn)義字符,以\開頭,后面接字母;例如'\n'表示換行
6.轉(zhuǎn)義字符加十六進(jìn)制ASCII碼值,以\x開頭,后面接數(shù)字0-9或字母a-f;例如回車字符的表示為'\x0d'
7.轉(zhuǎn)義字符加八進(jìn)制ASCII碼值,以\0開頭,后面接數(shù)字0-7;例如回車字符的表示'\015'
無符號字符 unsigned char unsigned char 1字節(jié) 0~255 unsigned char a;
字符型與整型的關(guān)系
字符在計算機(jī)中以其ASCII碼方式表示, 在Turbo C語言中, 字符型數(shù)據(jù)在操作時將按整型數(shù)處理, 如果某個變量定義成char, 則表明該變量是有符號的, 即它將轉(zhuǎn)換成有符號的整型數(shù)。
Turbo C中規(guī)定對ASCII碼值大于0x80的字符將被認(rèn)為是負(fù)數(shù)。例如ASCII 值為0x8c的字符, 定義成char時,被轉(zhuǎn)換成十六進(jìn)制的整數(shù)0xff8c 。 這是因當(dāng)ASCII碼值大于0x80時, 該字節(jié)的最高位為1, 計算機(jī)會認(rèn)為該數(shù)為負(fù)數(shù),對于0x8c表示的數(shù)實(shí)際上是-74(8c的各位取反再加1), 而-74 轉(zhuǎn)換成兩字節(jié)整型數(shù)并在計算機(jī)中表示時就是0xff8c( 對0074 各位取反再加1)。因此只有定義為unsigned char 0x8c轉(zhuǎn)換成整型數(shù)時才是8c。這一點(diǎn)在處理大于0x80的ASCII碼字符時(例如漢字碼)要特別注意。一般漢字均定義為unsigned char(在以后的程序中會經(jīng)常碰到)。
字符串的表示
字符串用一個字符型數(shù)組來表示。
例如: char str[10];
計算機(jī)在編譯時, 將留出連續(xù)10個字符的空間, 即str[0]到str[9]共10個變量, 但只有前9個供用戶使用。第10個str[9]用來存放字符串終止符NULL即"\0", 但終止符是編編譯程序自動加上的, 這一點(diǎn)應(yīng)特別注意。
對于字符串常量, 一般用雙引號括起來表示, 如"Hello"。
特殊字符的表示
一些不能用符號表示的控制符, 可以用三種方式表示
1> 用ASCII碼值來表示, 如十進(jìn)制數(shù)10 表示換行, 十六進(jìn)制數(shù)0x0d表示回車, 八進(jìn)制數(shù)033表示Esc
2> 用轉(zhuǎn)義字符表示,如'\n'表示回車
3> 用轉(zhuǎn)義字符和ASCII碼共同來表示,如'\033'表示Esc
回車的各種表示方法
ASCII
控制字符
說明
ASCII碼
轉(zhuǎn)義字符
轉(zhuǎn)移字符加ASCII碼
13
CR
回車
十進(jìn)制
八進(jìn)制
十六進(jìn)制
八進(jìn)制
十六進(jìn)制
13
015
0x0d
'\n'
'\015'
'\x0d'
十進(jìn)制ASCII碼表
ASCII值
控制字符
說明
轉(zhuǎn)義字符
ASCII值
控制字符
說明
轉(zhuǎn)義字符
ASCII值
控制字符
說明
轉(zhuǎn)義字符
ASCII值
控制字符
說明
轉(zhuǎn)義字符
0
NULL
空
\0
32
(space)
64
@
96
、
1
SOH
標(biāo)題開始
33
!
65
A
97
a
2
STX
正文開始
34
”
\"
66
B
98
b
3
ETX
正文結(jié)束
35
#
67
C
99
c
4
EOT
傳輸結(jié)束
36
$
68
D
100
d
5
ENQ
詢問字符
37
%
69
E
101
e
6
ACK
承認(rèn)
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
設(shè)備控制1
49
1
81
Q
113
q
18
DC2
設(shè)備控制2
50
2
82
R
114
r
19
DC3
設(shè)備控制3
51
3
83
X
115
s
20
DC4
設(shè)備控制4
52
4
84
T
116
t
21
NAK
否定
53
5
85
U
117
u
22
SYN
空轉(zhuǎn)同步
54
6
86
V
118
v
23
TB
信息組傳送結(jié)束
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
刪除