ASCII
表(字符与编码对照表)
关键词: ASCII
计算机用数字码来存储字符。ASCII码(美国标准信息交换码)是美国最常用的编码。C用包含在单引号中的字符可以表示绝大多数单字符,例如‘A’表示字符A。也可以用反斜杠与八进制或十六进制组合来表示单字符,例如‘/012’和‘/0xa’都表示字符新建行(LF)。像“Hello, /012my dear”这样的转义序列也可以作为字符串的一部分。下表中,前缀^指的是Ctrl键。
Decimal
|
Octal
|
Hex
|
Character
|
Description
|
0
|
0
|
00
|
NUL(^@)
|
|
1
|
1
|
01
|
SOH(^A)
|
start of header
|
2
|
2
|
02
|
STX(^B)
|
start of text
|
3
|
3
|
03
|
ETX(^C)
|
end of text
|
4
|
4
|
04
|
EOT(^D)
|
end of transmission
|
5
|
5
|
05
|
ENQ(^E)
|
enquiry
|
6
|
6
|
06
|
ACK(^F)
|
acknowledge
|
7
|
7
|
07
|
BEL(^G)
|
bell
|
8
|
10
|
08
|
BS (^H)
|
backspace
|
9
|
11
|
09
|
HT (^I,tab)
|
horizontal tab
|
10
|
12
|
0A
|
LF (^J)
|
line feed
|
11
|
13
|
0B
|
VT (^K)
|
vertical tab
|
12
|
14
|
0C
|
FF (^L)
|
form feed
|
13
|
15
|
0D
|
CR (^M)
|
carriage return
|
14
|
16
|
0E
|
SO (^N)
|
shift out
|
15
|
17
|
0F
|
SI (^O)
|
shift in
|
16
|
20
|
10
|
DLE(^P)
|
data link escape
|
17
|
21
|
11
|
DC1(^Q)
|
no assignment, but usually XON
|
18
|
22
|
12
|
DC2(^R)
|
|
19
|
23
|
13
|
DC3(^S)
|
no assignment, but usually XOFF
|
20
|
24
|
14
|
DC4(^T)
|
|
21
|
25
|
15
|
NAK(^U)
|
negative acknowledge
|
22
|
26
|
16
|
SYN(^V)
|
synchronous idle
|
23
|
27
|
17
|
ETB(^W)
|
end of transmission block
|
24
|
30
|
18
|
CAN(^X)
|
cancel
|
25
|
31
|
19
|
EM (^Y)
|
end of medium
|
26
|
32
|
1A
|
SUB(^Z)
|
substitute
|
27
|
33
|
1B
|
ESC(^[,esc]
|
escape
|
28
|
34
|
1C
|
FS (^/)
|
file seperator
|
29
|
35
|
1D
|
GS (^])
|
group seperator
|
30
|
36
|
1E
|
RS (^^)
|
record seperator
|
31
|
37
|
1F
|
US (^_)
|
unit seperator
|
32
|
40
|
20
|
SPC(space)
|
space
|
33
|
41
|
21
|
!
|
|
34
|
42
|
22
|
"
|
|
35
|
43
|
23
|
#
|
|
36
|
44
|
24
|
$
|
|
37
|
45
|
25
|
%
|
|
38
|
46
|
26
|
&
|
|
39
|
47
|
27
|
'
|
|
40
|
50
|
28
|
(
|
|
41
|
51
|
29
|
)
|
|
42
|
52
|
2A
|
*
|
|
43
|
53
|
2B
|
+
|
|
44
|
54
|
2C
|
,
|
|
45
|
55
|
2D
|
-
|
|
46
|
56
|
2E
|
.
|
|
47
|
57
|
2F
|
/
|
|
48
|
60
|
30
|
0
|
|
49
|
61
|
31
|
1
|
|
50
|
62
|
32
|
2
|
|
51
|
63
|
33
|
3
|
|
52
|
64
|
34
|
4
|
|
53
|
65
|
35
|
5
|
|
54
|
66
|
36
|
6
|
|
55
|
67
|
37
|
7
|
|
56
|
70
|
38
|
8
|
|
57
|
71
|
39
|
9
|
|
58
|
72
|
3A
|
:
|
|
59
|
73
|
3B
|
;
|
|
60
|
74
|
3C
|
<
|
|
61
|
75
|
3D
|
=
|
|
62
|
76
|
3E
|
>
|
|
63
|
77
|
3F
|
?
|
|
64
|
100
|
40
|
@
|
|
65
|
101
|
41
|
A
|
|
66
|
102
|
42
|
B
|
|
67
|
103
|
43
|
C
|
|
68
|
104
|
44
|
D
|
|
69
|
105
|
45
|
E
|
|
70
|
106
|
46
|
F
|
|
71
|
107
|
47
|
G
|
|
72
|
110
|
48
|
H
|
|
73
|
111
|
49
|
I
|
|
74
|
112
|
4A
|
J
|
|
75
|
113
|
4B
|
K
|
|
76
|
114
|
4C
|
L
|
|
77
|
115
|
4D
|
M
|
|
78
|
116
|
4E
|
N
|
|
79
|
117
|
4F
|
O
|
|
80
|
120
|
50
|
P
|
|
81
|
121
|
51
|
Q
|
|
82
|
122
|
52
|
R
|
|
83
|
123
|
53
|
S
|
|
84
|
124
|
54
|
T
|
|
85
|
125
|
55
|
U
|
|
86
|
126
|
56
|
V
|
|
87
|
127
|
57
|
W
|
|
88
|
130
|
58
|
X
|
|
89
|
131
|
59
|
Y
|
|
90
|
132
|
5A
|
Z
|
|
91
|
133
|
5B
|
[
|
|
92
|
134
|
5C
|
/
|
|
93
|
135
|
5D
|
]
|
|
94
|
136
|
5E
|
^
|
|
95
|
137
|
5F
|
_
|
|
96
|
140
|
60
|
`
|
|
97
|
141
|
61
|
a
|
|
98
|
142
|
62
|
b
|
|
99
|
143
|
63
|
c
|
|
100
|
144
|
64
|
d
|
|
101
|
145
|
65
|
e
|
|
102
|
146
|
66
|
f
|
|
103
|
147
|
67
|
g
|
|
104
|
150
|
68
|
h
|
|
105
|
151
|
69
|
i
|
|
106
|
152
|
6A
|
j
|
|
107
|
153
|
6B
|
k
|
|
108
|
154
|
6C
|
l
|
|
109
|
155
|
6D
|
m
|
|
110
|
156
|
6E
|
n
|
|
111
|
157
|
6F
|
o
|
|
112
|
160
|
70
|
p
|
|
113
|
161
|
71
|
q
|
|
114
|
162
|
72
|
r
|
|
115
|
163
|
73
|
s
|
|
116
|
164
|
74
|
t
|
|
117
|
165
|
75
|
u
|
|
118
|
166
|
76
|
v
|
|
119
|
167
|
77
|
w
|
|
120
|
170
|
78
|
x
|
|
121
|
171
|
79
|
y
|
|
122
|
172
|
7A
|
z
|
|
123
|
173
|
7B
|
{
|
|
124
|
174
|
7C
|
|
|
|
125
|
175
|
7D
|
}
|
|
126
|
176
|
7E
|
~
|
|
127
|
177
|
7F
|
DEL
|
delete
|
***************************************************
getchar()
——以便程序的执行窗口不会产即关闭
***************************************************
显示八进制数和十六进制数
程序清单 bases.c程序
/* bases.c--以十进制、八进制和十六进制形式输出100
#include<stdio.h>
int main(void)
{
int x=100;
printf("dec=%d; octal=%o; hex=%x/n", x,x,x);
printf("dec=%d; octal=%#o; hex=%#x/n", x,x,x);
return 0;
}
编译并运行上面的程序,将产生下列输出:
dec=100; octal=144; hex=64
dec=100; octal=0144; hex=0x64
***************************************************
printf()
使用printf()语句时,切记每个要显示的值都必须对应自己的格式说明符,并且显示值的类型要同说明符相匹配。
转换说明符及作为结果的打印输出
转换说明
|
输出
|
%a
|
浮点数、十六进制数字和
p-
记数法(
C99
)
|
%A
|
浮点数、十六进制数字和
p-
记数法(
C99
)
|
%c
|
一个字符
|
%d
|
有符号十进制整数
|
%e
|
浮点数、
e-
记数法
|
%E
|
浮点数、
E-
记数法
|
%f
|
浮点数、十进制记数法
|
%g
|
根据数值不同自动选择
%f
或
%e
。
%e
格式在指数小于
-4
或者大于等于精度时使用
|
%G
|
根据数值不同自动选择
%f
或
%E
。
%E
格式在指数小于
-4
或者大于等于精度时使用
|
%i
|
有符号十进制整数(与
%d
相同)
|
%o
|
无符号八进制数
|
%p
|
指针
|
%s
|
字符串
|
%u
|
无符号十进制整数
|
%x
|
使用十六进制数字或
0f
的无符号十六进制整数
|
%X
|
使用十六进制数字或
0F
的无符号十六进制整数
|
%%
|
打印一个百分号
|
***************************************************
非打印字符(转义序列)
序列
|
意义
|
/a
|
警报(
ANSIC
)
|
/b
|
退格
|
/f
|
走纸
|
/n
|
换行
|
/r
|
回车
|
/t
|
水平制表符
|
/v
|
垂直制表符
|
//
|
反斜杠
(/)
|
/’
|
单引号
(‘)
|
/”
|
双引号
(“)
|
/?
|
问号
(?)
|
/0oo
|
八进制值(
o
表示一个八进制数字)
|
/xhh
|
十六进制值(
h
表示一个十六进制数字)
|
***************************************************
limits.h
中的一些符号常量
符号常量
|
含义
|
CHAR_BIT
|
一个char的位数
|
CHAR_MAX
|
char类型的最大值
|
CHAR_MIN
|
char类型的最小值
|
SCHAR_MAX
|
signed char类型的最大值
|
SCHAR_MIX
|
signed char类型的最小值
|
UCHAR_MAX
|
unsigned char类型的最大值
|
SHRT_MAX
|
short类型的最大值
|
SHRT_MIN
|
short类型的最小值
|
USHRT_MAX
|
unsigned short类型的最大值
|
INT_MAX
|
int类型的最大值
|
INT_MIN
|
int类型的最小值
|
UINT_MAX
|
unsigned int的最大值
|
LONG_MAX
|
long类型的最大值
|
LONG_MIN
|
long类型的最小值
|
ULONG_MAX
|
unsigned long类型的最大值
|
LLONG_MAX
|
long long类型的最大值
|
LLONG_MIN
|
long long类型的最小值
|
ULLONG_MAX
|
unsigned long long类型的最大值
|
***************************************************
语句
循环:for, while, do while
分支和跳转:if, else, switch, continue, break, case, default, goto