分为3部分:符号;小数部分;指数部分。这一部分的知识要求有个了解就可以了,不必深究。
基本数据类型共有五种:char、int、float、double、void
各种数据类型(包括使用类型修饰符)的特点如下:
类 型 |
宽 度 |
表示数的范围 |
说 明 |
备 注 |
char |
8 |
-129~127 |
字符型 |
基本数据类型 |
unsigned |
8 |
0~255 |
无符号型 |
|
signed char |
8 |
-128~127 |
单精度字符型 |
|
int |
16 |
-32768~32767 |
整型 |
基本数据类型 |
unsigned int |
16 |
0~65535 |
无符号整型 |
|
signed int |
16 |
-32768~32767 |
单精度整型 |
|
short int |
16 |
-32768~32767 |
短整型 |
|
unsigned short int |
16 |
0~65535 |
无符号短整型 |
|
signed short int |
16 |
-32768~32767 |
单精度短整型 |
|
long int |
32 |
-2147483648~214747647 |
长整型 |
|
signed long int |
32 |
0~4294967295 |
单精度长整型 |
|
float |
32 |
6.4E-38~6.4E+38 |
浮点型 |
基本数据类型 |
double |
64 |
1.7E-308~1.7E+308 |
双精度型 |
基本数据类型 |
long double |
80 |
6.4E-4932~1.1E+4932 |
长双精度型 |
|
void |
|
|
|
基本数据类型 |
C语言中的字符型数据――前面讲过,所谓字符类型,是用来存放字符的。比如定义了一个字符变量:
char ch; 然后可以把一个字符赋给这个变量 ch=’a’; 但是在程序中会经常看到这样的写法 ch=97,
在这里把一个整数赋给了字符变量。这是允许的。对于字符型、整型之间的区别,不在于字符型非得放一个字符,
整型变量也只能接收整型数,不是这样。在C语言中,不管是字符型或整型,都可以存放整数。它们之间仅仅
是表示数的范围不同,即长度不同。实际上,每一个字符是用一个整数来表示的,这样的与字符对应的整数称做
ASCII代码。(见P374)
ASCII值 |
字符 |
控制字符 |
ASCII值 |
字符 |
ASCII值 |
字符 |
ASCII值 |
字符 |
ASCII值 |
字符 |
ASCII值 |
字符 |
ASCII值 |
字符 |
ASCII值 |
字符 |
000 |
null |
NUL |
032 |
|
064 |
@ |
096 |
‘ |
128 |
|
160 |
|
192 |
∟ |
224 |
α |
001 |
|
|
033 |
! |
065 |
A |
097 |
a |
129 |
|
161 |
|
193 |
┴ |
225 |
β |
002 |
|
|
034 |
“ |
066 |
B |
098 |
b |
130 |
|
162 |
|
194 |
┬ |
226 |
Γ |
003 |
|
|
035 |
# |
067 |
C |
099 |
c |
131 |
|
163 |
|
195 |
├ |
227 |
π |
004 |
|
|
036 |
$ |
068 |
D |
100 |
d |
132 |
|
164 |
|
196 |
─ |
228 |
Σ |
005 |
|
|
037 |
% |
069 |
E |
101 |
e |
133 |
|
165 |
|
197 |
┼ |
229 |
σ |
006 |
|
|
038 |
& |
070 |
F |
102 |
f |
134 |
|
166 |
|
198 |
╞ |
230 |
μ |
007 |
|
|
039 |
‘ |
071 |
G |
103 |
g |
135 |
|
167 |
|
199 |
╟ |
231 |
τ |
008 |
● |
|
040 |
( |
072 |
H |
104 |
h |
136 |
|
168 |
|
200 |
╚ |
232 |
Φ |
009 |
|
|
041 |
) |
073 |
I |
105 |
I |
137 |
|
169 |
|
201 |
╔ |
233 |
θ |
010 |
|
|
042 |
* |
074 |
J |
106 |
j |
138 |
|
170 |
|
202 |
╩ |
234 |
Ω |
011 |
|
|
043 |
+ |
075 |
K |
107 |
k |
139 |
|
171 |
|
203 |
╦ |
235 |
δ |
012 |
|
|
044 |
, |
076 |
L |
108 |
l |
140 |
|
172 |
|
204 |
╠ |
236 |
∞ |
013 |
|
|
045 |
- |
077 |
M |
109 |
m |
141 |
|
173 |
|
205 |
═ |
237 |
∮ |
014 |
|
|
046 |
. |
078 |
N |
110 |
n |
142 |
|
174 |
|
206 |
╬ |
238 |
∈ |
015 |
|
|
047 |
/ |
079 |
O |
110 |
o |
143 |
|
175 |
|
207 |
╧ |
239 |
∩ |
016 |
|
|
048 |
0 |
080 |
P |
112 |
p |
144 |
|
176 |
|
208 |
╨ |
240 |
≡ |
017 |
|
|
049 |
1 |
081 |
Q |
113 |
q |
145 |
|
177 |
|
209 |
╤ |
241 |
± |
018 |
|
|
050 |
2 |
082 |
R |
114 |
r |
146 |
|
178 |
|
210 |
╥ |
242 |
≥ |
019 |
!! |
|
051 |
3 |
083 |
S |
115 |
s |
147 |
|
179 |
|
211 |
╙ |
243 |
≤ |
020 |
|
|
052 |
4 |
084 |
T |
116 |
t |
148 |
|
180 |
|
212 |
╘ |
244 |
|
021 |
§ |
|
053 |
5 |
085 |
U |
117 |
u |
149 |
|
181 |
|
213 |
╒ |
245 |
|
022 |
|
|
054 |
6 |
086 |
V |
118 |
v |
150 |
|
182 |
|
214 |
╓ |
246 |
÷ |
023 |
|
|
055 |
7 |
087 |
W |
119 |
w |
151 |
|
183 |
|
215 |
╫ |
247 |
≈ |
024 |
↑ |
|
056 |
8 |
088 |
X |
120 |
x |
152 |
|
184 |
|
216 |
╪ |
248 |
|
025 |
↓ |
|
057 |
9 |
089 |
Y |
121 |
y |
153 |
|
185 |
|
217 |
┘ |
249 |
|
026 |
→ |
|
058 |
: |
090 |
Z |
122 |
z |
154 |
|
186 |
|
218 |
└ |
250 |
|
027 |
← |
|
059 |
; |
091 |
[ |
123 |
{ |
155 |
|
187 |
|
219 |
█ |
251 |
√ |
028 |
∟ |
|
060 |
< |
092 |
\ |
124 |
| |
156 |
|
188 |
|
220 |
|
252 |
∏ |
029 |
|
|
061 |
= |
093 |
] |
125 |
} |
157 |
|
189 |
|
221 |
▌ |
253 |
|
030 |
▲ |
|
062 |
> |
094 |
^ |
126 |
~ |
158 |
|
190 |
|
222 |
|
254 |
■ |
031 |
▼ |
|
063 |
|
095 |
- |
127 |
|
159 |
|
191 |
|
223 |
▄ |
255 |
|
’
● 注意看一下在ASCII代码表中字符排列的规律,字符’a’的ASCII代码值是十进制数97,由表中排列的规律能不能推算出字符’d’的ASCII代码值?因为字符’d’在字符’a’的后3位,所以字符’d’的ASCII代码值是97+3=100。
● 另外,小写字符’a’与大写字符’A’的代码值相差多少,由表中可以看出相差整数32。所以可以利用这个规律在程序中实现字符大、小写之间的转换。
例:把小写字符’a’转换成大写字符’A’
void main()
{
char ch=’a’;
ch=ch-32;
/*把字符’a’转换成了大写的字符’A’*/
}
字符在内存中的存放形式――由于在存储器中只能存放二进制的数,所以一个字符放入内存实际上是把与这个字符对应的ASCII代码表示的整数值放进了内存。如 char ch=’a’; 在内存中这个字符a是这样存放的:
二进制数为 0110 0001
十六进制为 61 十进制数则为
97。
C语言中的字符串――若干个字符组成的串就是字符串。由此看字符串与字符相比就是多了一些字符而已。要注意字符串与
字符最大的不同点是在存放一个字符串的时候,系统自动地在一个字符串后面多加上了一个字符串结束标识字符’\0’。在程序运行时就是根据这个字符串结束标识来判断是否到了字符串的尾部。
字符串常量一定要用“ ”号括起来,而字符是用 ‘ ’单引号括起来的。
如有一个a写成这样 ‘a’
是字符,而写成这样”a”却是一个字符串,这是一定要注意的。
题一: 用二进制数形式的写法画出字符串“a”在内存中的存放形式。
(这个题大家自己做一下,以加深对字符和字符串的理解。)
题二:有一个大写的字符’D’,用程序语句把它转换成小写。