c语言语法格式规范(1)常量的非法与合法
首先确定常量的类型
- 整型
确定进制,查看各位数的范围是否超界。
8进制常量以前导 0 开始,每位数只能到7 例如:05188 非法
16进制常量以 0x 开始,每位从 0 ~ f 例如:0xfg00非法
后缀u为unsigned,l为long,f为float带后缀u(表示无符号整型常量),其他读者可自行理解,可复合使用ul(无符号长整型)
- 字符型
由单引号括起:
括住单个字符:‘a’, ‘1’, ‘\n’合法;“a”,’\p’非法(不是转义序列不能算一个字符)
在 C 中,有一些特定的字符,当它们前面有反斜杠时,它们就具有特殊的含义(\a, \b, \f, \n ,\r, \t, \v, \’, \",\\, ?)
符号 | 意义 |
---|---|
\uxxxx | 值为16位十六进制值xxxx的字符 |
\Uxxxxxxxx | 值为32位十六进制值xxxxxxxx的字符 |
\ooo | 值为八进制值ooo的字符 |
\xhh | 值为十六进制值hh字符 |
- 浮点型
浮点数一般都为有符号,浮点型常量后缀只有f或F,l或L,没有u或U,包括整数部分、小数部分和指数
省略小数点前面的数字(整数部分)或小数点后面的数字(小数部分),但不能同时省略。 仅当包括一个指数时可省略小数点。
15.75
1.575E1 // = 15.75
1575e-2 //= 15.75
-2.5e-3 //= -0.0025
25E-4 //= 0.0025.0075e2
0.075e1
.075e1
75e-2
浮点常数的类型为 float
、double
或 long double
不带 f、F、l 或 L 后缀的浮点常数的类型为 double
。 如果后缀是字母 f 或 F,则常数的类型为 float
。 如果后缀是字母 l 或 L,则常数的类型为 long double
。
10.0L /Has type long double /
10.0F / Has type float /