These characters are non-printable and used for hardware control or terminal formatting.
Dec
Hex
Oct
C Escape
Name
Description
0
00
000
\0
NUL
Null Character (String Terminator)
7
07
007
\a
BEL
Audible Bell (Alert)
8
08
010
\b
BS
Backspace
9
09
011
\t
HT
Horizontal Tab
10
0A
012
\n
LF
Line Feed (Newline)
11
0B
013
\v
VT
Vertical Tab
12
0C
014
\f
FF
Form Feed (New Page)
13
0D
015
\r
CR
Carriage Return
27
1B
033
\e*
ESC
Escape
32
20
040
(space)
SPC
Space
127
7F
177
DEL
Delete
*Note: \e is a common GCC/Clang extension but not part of the strict ANSI C standard.
2. Printable Characters (32–126)
Commonly used characters including digits, letters, and punctuation.
Digits & Special Characters
Dec
Hex
Oct
Char
Dec
Hex
Oct
Char
48
30
060
0
33
21
041
!
49
31
061
1
34
22
042
"
50
32
062
2
35
23
043
#
51
33
063
3
36
24
044
$
52
34
064
4
38
26
046
&
57
39
071
9
61
3D
075
=
Uppercase Letters (A-Z)
Dec
Hex
Oct
Char
Dec
Hex
Oct
Char
65
41
101
A
78
4E
116
N
66
42
102
B
79
4F
117
O
67
43
103
C
...
...
...
...
71
47
107
G
90
5A
132
Z
Lowercase Letters (a-z)
Dec
Hex
Oct
Char
Dec
Hex
Oct
Char
97
61
141
a
110
6E
156
n
98
62
142
b
111
6F
157
o
99
63
143
c
...
...
...
...
103
67
147
g
122
7A
172
z
3. Memory Aid
Uppercase vs Lowercase: The difference between 'a' (97) and 'A' (65) is exactly 32 (or 0x20). Setting/clearing the 6th bit toggles case.
Digit Conversion:'0' is 48 (0x30). Always use c - '0' to convert a character digit to its integer value.
Null Pointer vs Null Char:NULL (pointer) is typically (void*)0, whereas '\0' (character) is the integer 0. They are numerically 0 but semantically different.