2.3.1 整型常量" u2 N: C) ?: ?* J8 L8 G, h
整型常量及整常数。它可所以十进制、八进制、十六进制数字暗示的整数值。十进制常数的形式是:; P! R% a% Z" H! R+ ^
d i g i t s
, K0 p" g7 d5 x8 N- \ s
4 ~: l& @* Z' C# N9 s 这里d i g i t s可所以从0到9的一个或多个十进制数位,第一位不能是0。八进制常数的形式是:
# \. N8 S5 {' V6 p" C( S8 a8 S' Q 0 d i g i t s" ]- x) j/ i( L5 E3 d
s. a8 {/ E& e7 ^7 K% @( w- Q0 C
在此,d i g i t s可所以一个或多个八进制数(0~7之间),肇端0是必需的指导符。
1 j' ^& C: ~+ [# | N 十六进制常数是下述形式: |2 D) J3 v0 q1 ?: t4 L
0 x h d i g i t s0 X h d i g i t s
3 V% `& d) z3 S5 ]0 c9 ] 这里h d i g i t s可所以一个或多个十六进制数(从0~9的数字,并从“a”~“ “f”的字母)。9 B* m% D2 b. l [0 v$ v& h' I
指导符0是必需有的,X即字母可用大写或小写。注重,空白字符不成呈此刻整数数字之间。表2 - 3列出了整常数的形式。2 d' E$ ]7 X1 x$ E5 s* U
% S$ b% R, i! V0 R$ R2 N
整常数在不加出格声名时老是正值。如不美观需要的是负值,则负号“-”必需放置于常数表达式的前面。9 J* ]5 p3 N2 n1 J6 C
每个常数依其值要给出一种类型。当整常数应用于一表达式时,或呈现有负号时,常数类型自动执行响应的转换,十进制常数可等价于带符号的整型或长整型,这取决于所需的常数的尺寸。
! }. I1 Y4 [9 y2 m# _, { 八进制和十六进制常数可对应整型、无符号整型、长整型或无符号长整型,具体类型也取决于常数的巨细。如不美观常数可用整型暗示,则使用整型。如不美观常数值大于一个整型所能暗示的最大值,但又小于整型位数所能暗示的最大数,则使用无符号整型。同理,如不美观一个常数比无符号整型所暗示的值还大,则它为长整型。如不美观需要,当然也可用无符号长整型。, e) y8 [! ] e% A- Y9 t X
在一个常数后面加一个字母l或L,则认为是长整型。如1 0 L、7 9 L、0 1 2 L、0 11 5 L、0 X A L、0 x 4 f L等。' A {3 P" |8 @: v* P5 u( `( }5 N
2.3.2 整型变量
% A; ~; \6 k4 N0 p 前面已提到,C划定在轨范中所有用到的变量都必需在轨范中指定其类型,即“界说”。这是和B A S I C、F O RT R A N分歧的,而与P a s c a l相似。+ P: r' A2 W B7 k7 t
! ?4 [* ]' M; G) a 运行结不美观为:4 m7 x" q% m( q5 c' o `
R U N 2 b2 z) ^7 V" J) F- _7 [
a u=22, b u=-1 4
. U6 {) E+ R w& s: J/ O, R- e6 j; f 可以看到分歧类型的整型数据可以进行算术运算。在本例中是i n t型数据与unsingned int型数据进行相加减运算。 |