c语言常量ascii码表,C语言常用转义符和ASCII码表
轉(zhuǎn)義字符
含義
ASCII碼(16/10進(jìn)制)
\0
空字符(NULL)
00H/0
\n
換行符(LF)
0AH/10
\r
回車符(CR)
0DH/13
\t
水平制表符(HT)
09H/9
\v
垂直制表(VT)
0B/11
\a
響鈴(BEL)
07/7
\b
退格符(BS)
08H/8
\f
換頁符(FF)
0CH/12
\’
單引號(hào)
27H/39
\”
雙引號(hào)
22H/34
\\
反斜杠
5CH/92
\?
問號(hào)字符
3F/63
\ddd
任意字符
三位八進(jìn)制
\xhh
任意字符
二位十六進(jìn)制字符常量中使用單引號(hào)和反斜杠以及字符常量中使用雙引號(hào)和反斜杠時(shí),都必須使用轉(zhuǎn)義字符表示,即在這些字符前加上反斜杠。
在C程序中使用轉(zhuǎn)義字符\ d d d或者\(yùn) x h h可以方便靈活地表示任意字符。\ d d d為斜杠后面跟三位八進(jìn)制數(shù),該三位八進(jìn)制數(shù)的值即為對(duì)應(yīng)的八進(jìn)制A S C I I碼值。\ x后面跟兩位十六進(jìn)制數(shù),該兩位十六進(jìn)制數(shù)為對(duì)應(yīng)字符的十六進(jìn)制A S C I I碼值。
使用轉(zhuǎn)義字符時(shí)需要注意以下問題:
1)?轉(zhuǎn)義字符中只能使用小寫字母,每個(gè)轉(zhuǎn)義字符只能看作一個(gè)字符。
2) \v?垂直制表和\f?換頁符對(duì)屏幕沒有任何影響,但會(huì)影響打印機(jī)執(zhí)行響應(yīng)操作。
3)?在C程序中,使用不可打印字符時(shí),通常用轉(zhuǎn)義字符表示
注:
1,\v垂直制表和\f換頁符對(duì)屏幕沒有任何影響,但會(huì)影響打印機(jī)執(zhí)行響應(yīng)操作。
2,\n其實(shí)應(yīng)該叫回車換行。換行只是換一行,不改變光標(biāo)的橫坐標(biāo);回車只是回到行首,不改變光標(biāo)的縱坐標(biāo)。
3,\t?光標(biāo)向前移動(dòng)四格或八格,可以在編譯器里設(shè)置
4,\'?在字符里(即單引號(hào)里)使用。在字符串里(即雙引號(hào)里)不需要,只要用?'?即可。
5,\??其實(shí)不必要。只要用???就可以了(在windows VC6?和tc2?中驗(yàn)證)。
'\0':'\0'表示字符串結(jié)束,它在ASCII中的值為0(數(shù)值0,非字符‘0’)
所以在數(shù)值上NULL,'\0',0是一樣的,都是0,但'0'就不同了,在ASCII碼中編碼為48,所以字符0和上述三個(gè)值不同。
在內(nèi)存中NULL 和'\0' 和'0'都是一個(gè)8位的char類型,NULL 和'\0' 值一樣,都是0,以數(shù)字方式讀取就是0,以字符串讀取時(shí)就是'\0'或者null(和編譯器有關(guān)),而‘0’在內(nèi)存存儲(chǔ)著48,以字符讀取就是'0',以數(shù)字讀取就是48,至于0,可能是char ,int ,float,double等類型,但是值和NULL和'\0'一樣,都是0
printf("%d",'0');==>48
printf("%c",'0');==>0
格式控制符參考:
對(duì)64位整數(shù)的輸入輸出,在POJ上的C++環(huán)境下(即VC++),64位整數(shù)是:
__int64
輸入輸出格式為”%I64d”.
在G++環(huán)境下, 64位整數(shù)是:
long long
輸入輸出格式為”%lld”.
域?qū)捈熬鹊拿枋?/p>
M:域?qū)?#xff0c;即對(duì)應(yīng)的輸出項(xiàng)在輸出設(shè)備上所占字符數(shù)。
若:實(shí)際數(shù)據(jù)寬度>M,按實(shí)際數(shù)據(jù)寬度輸出。
實(shí)際數(shù)據(jù)寬度
N:精度,說明輸出的實(shí)型數(shù)的小數(shù)位數(shù)。
幾點(diǎn)說明:
編譯程序只是檢查printf 函數(shù)的調(diào)用形式,不分析格式控制字符串,如果格式字符與輸出項(xiàng)的類型不匹配,不進(jìn)行類型轉(zhuǎn)換。(輸出的數(shù)為隨機(jī))
格式字符要用小寫字母。
格式控制字符串中可以包含轉(zhuǎn)義字符。
格式控制字符串中的普通字符則原樣輸出。
輸出項(xiàng)的參數(shù)除了常數(shù)、變量外還可以是表達(dá)式、函數(shù)調(diào)用。
%g,%f和%e這三個(gè)格式用于打印浮點(diǎn)值。
%g格式用于打印那些不需要按列對(duì)齊的浮點(diǎn)數(shù)特別有用。其作用有二:
一、去掉該數(shù)尾多余的零(沒有達(dá)到六位的數(shù))。
二、保留六位有效數(shù)字(多余六位的)。
%e格式用于打印浮點(diǎn)數(shù)時(shí),一律顯示地使用指數(shù)形式:例如:輸出圓周率時(shí)是:3.141593e+00
兩者的區(qū)別:
%g格式打印出的數(shù)是總共6位有效數(shù)字。
%e格式打印出小數(shù)點(diǎn)后的6位有效數(shù)字。
%f禁止使用指數(shù)形式來表示浮點(diǎn)數(shù)。因此圓周率輸出為:3.141593。(但注意它的精度要求:也是小數(shù)點(diǎn)后6位有效數(shù)字)。
%%格式用于打印一個(gè)%字符。
%E和%G只是在輸出時(shí)用大寫字母(E)代替了小寫字母(e)。
輸出正負(fù)號(hào)的技巧,例如:
printf("%+d %+d %+d\n",-5,0,5);只要在中間加個(gè)“+”號(hào)就行。作用是輸出符號(hào)位(即,數(shù)的正負(fù)號(hào))。如果不希望正數(shù)的前面出現(xiàn)現(xiàn)‘+’號(hào),可用下面的方法:
只要在中間加個(gè)“ ”號(hào)(即:空格)就行。例如:
如果一個(gè)數(shù)是非負(fù)數(shù),就在它的前面插入一個(gè)空格。
int i;
for(i=-3;i<=3;i++)
printf("% d\n",i); //注意%和d之間有一個(gè)空格
sscanf()的使用技巧:
分解字符串,很多功能都需要正則表達(dá)式的知識(shí),所以就介紹一下最簡(jiǎn)單的幾種用sscanf來分解字符串 的用法。
一是:將讀入的一整行字符串按空格,制表符或回車符分割成兩個(gè)字符串。
char str[100],str1[100],str2[100];
gets(str);
sscanf(str,”%s%s”,str1,str2);二是:取指定長度的字符串。如在下例中,取最大長度為4字節(jié)的字符串。
sscanf("123456 ", "%4s", str);
基本整型:兩個(gè)字節(jié),十六個(gè)bit(位)。
11 11 11 11 11 11 11 11 等于 65535.
11 11 11 11 11 11 11 10?????等于 -2.
負(fù)數(shù)的第一位(符號(hào)位)為1。負(fù)數(shù)的補(bǔ)碼怎么得到:原碼取反加一。2的二進(jìn)制數(shù)為:00 00 00 00 00 00 00 10,取反就等于11 11 11 11 11 11 11 01,然后加1,二進(jìn)制數(shù)逢二進(jìn)一,所以就得出-2 的二進(jìn)制代碼。
有符號(hào)的整型數(shù)可以用 %d 輸出。
無符號(hào)的整型數(shù)可以用 %u 輸出。
電腦里存的數(shù)字都是二進(jìn)制數(shù),最高位是符號(hào)位還是數(shù)據(jù)位,可以由輸出格式符來控制。
二進(jìn)制數(shù)轉(zhuǎn)換八進(jìn)制數(shù):三個(gè) 1 對(duì)應(yīng)一個(gè) 7 。
二進(jìn)制數(shù)鏨十六進(jìn)制數(shù):四位二進(jìn)制對(duì)應(yīng)一位十六進(jìn)制,四個(gè)1 對(duì)應(yīng)一個(gè) f。
說明:
格式字符:c? 輸出一個(gè)字符。
s 輸出一個(gè)字符串。
e 以指數(shù)形式輸出實(shí)型數(shù)。
f ? ? ? ? 以小數(shù)形式輸出實(shí)型數(shù)。
g 自動(dòng)決定輸出格式為e和f中較短的一種,不打印無效的零。
% 輸出%。
注意:對(duì)于單精度數(shù),使用 %f 格式符輸出時(shí),僅前7位是有效數(shù)字,小數(shù)6位。
對(duì)于雙精度數(shù),使用 %lf 格式符輸出時(shí),前16位是有效數(shù)字,小數(shù)6位。
長度修正符
l:對(duì)整型指定長整型long。
例:%ld , %lx , %lo , %lu。
對(duì)實(shí)型指定雙精度double。
例:%lf
h:只用于整型的格式字符修正為short
例:%hd , %hx , %ho , %hu
格式輸出字符:printf
使用:向終端輸出若干個(gè)類型任意的數(shù)據(jù)。
形式:printf (格式控制符,輸出列表)
說明:
格式控制符:% 格式說明引導(dǎo)符。
- 指定左對(duì)齊輸出。
0 指定空位填零。
m、n?指定輸出域?qū)挾燃熬取?/p>
l、h?輸出長度的修正。
格式字符 指定輸出的數(shù)據(jù)類型。
說明:
格式字符:指定輸出項(xiàng)的數(shù)據(jù)類型和輸出格式。
d 有符號(hào)十進(jìn)制整數(shù)。
o 無符號(hào)八進(jìn)制數(shù)。
x 無符號(hào)十六進(jìn)制數(shù)。(小寫的x格式中用小寫字母a,b,c,d,e,f來表示10到15之間的數(shù),大寫的X則用大寫的ABCDEF來表示10到15之間的數(shù))
u 不帶符號(hào)的十進(jìn)制整數(shù)。
C語言常用轉(zhuǎn)義符表和ASCII碼表:
ASCII值
控制字符
ASCII值
控制字符
ASCII值
控制字符
ASCII值
控制字符
0
NUT
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
39
,
71
G
103
g
8
BS
40
(
72
H
104
h
9
HT
41
)
73
I
105
i
10
LF
42
*
74
J
106
j
11
VT
43
+
75
K
107
k
12
FF
44
,
76
L
108
l
13
CR
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
49
1
81
Q
113
q
18
DC2
50
2
82
R
114
r
19
DC3
51
3
83
X
115
s
20
DC4
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
總結(jié)
以上是生活随笔為你收集整理的c语言常量ascii码表,C语言常用转义符和ASCII码表的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RMAN数据库完全备份和恢复
- 下一篇: jmeter面试题及答案