10 C语言中常量的表示解析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
wenmingyao2008@yahoo.com.cn
用U或u表示unsigned类型,如12345u——(十进制 unsigned int)、12345UL——(十进制unsigned long)。
9.1.2 浮点类型字面常量的表示和辨识
1. 浮点类型字面常量的书写格式 尾数部分可有小数点,但指数
遇到一个整型字面常量,如何区分为short、int、 long、long long、unsigned呢?
(1)默认原则。 (2)后缀字母标识法。
wenmingyao2008@yahoo.com.cn
(1)默认原则。按照常数所在的范围,决定其类型。 例如,在16位的机器中:
当一个常整数的值在十进制-32768~32767(八进 制数0~0 177777、十六制数0x0~0xFFFF)范围 内都被看作是int型。
wenmingyao2008@yahoo.com.cn
1.2345e+2F。
用l或L表示long
double类型,如1234.5l
1.2345Eቤተ መጻሕፍቲ ባይዱ3L
9.1.3 字符类型常量的表示
可打印字符 转义字符
wenmingyao2008@yahoo.com.cn
字符与 字符串
字符串常数
1. 可打印字符
wenmingyao2008@yahoo.com.cn
空字符的表示为两个但撇号之间留一空格,不能写明两个靠在 一起的单撇号。
代码9-1 #include <stdio.h> int main(void){ char ch; /* 定义一个字符类型的变量ch */ ch = 'a'; printf ("%d",ch); 运行结果为 return 0; 97 }
可打印字符常量是用一对单撇号括起来的一个字符,如‘a’, ‘A’ , ‘?’ , ‘#’
注意:
单撇号只是字符与其他部分的分隔符,或者说是字符常量的定 界符,不是字符常量的一部分。 不能用双引号代替撇号,如"a"不是字符常量。 撇号中的字符不能是单撇号或反斜杠,如' ' '或'\'不合法。 字符类型的数据(如字符'a', 'A' , '?' , '3')在内存中以相应的 ASCII代码存放。例如,'a'的ASCII码为97,则在内存中的二 进制存储形式为01100001。
部分一定是一个有符号整数。 (1)小数分量(定点)形式。即一个浮点类型数由小数点 尾数部分必须存在。 和数字组成。例如3. 14159正号可以省略。 、0.12345、3.、.123等。 1.23e5、3E-3√E-3、1e0.3×
注意:
wenmingyao2008@yahoo.com.cn
(2)科学记数法(浮点,即指数)形式。把一个浮点类型 数的尾数和指数并列写在一排,中间用一个字母E或e分隔, 前面部分为尾数,后面的整数为指数。例如19.345用科学 记数法可表示为0.19345e+2,0.19345E+2,19345e-3。
0
0x
0,1,2,3,4,5,6,7,8,9, 十六进制 a/A,b/B,c/C,d/D,e/E,f/F
八进制和十六进制整常数举例
合法 0177777 -010007 不合法 09876 20fa
wenmingyao2008@yahoo.com.cn
0XFFFF
-0xA3
0x10fg
2. 整数字面常量类型的确定
wenmingyao2008@yahoo.com.cn
在C语言中,字符数据可以等价为与其相应的ASCII码的 整数(如‘a’与整数97等价)。 字符数据可以用数值形式输出。反之一个与字符相对应的 整数也可以用字符形式输出。字符数据还可以作为整数参 加运算,例如'A' +32,相当于65+32,得到97。
wenmingyao2008@yahoo.com.cn
如234、32766、0 177776、0xFFFE等。
超出上述范围的整常数,被看作长整数long int型(32 位)。
如, -32769、32768、0200 000、0x10000等。
(2)后缀字母标识法。例如
用L或l表示long 类型整数,如-12L(十进制long int)、 076L(八进制long int)、0x12l (十六进制long int)。 用LL或ll表示long long int类型整数,如-12LL(十进制 long long int)。
P.S. C99增加了用十六进制(以0x或0X打头)书写浮点常 数的规范。
2. 浮点类型字面常量的辩识后缀
C语言将浮点类型数据分为float、double和long double三种类型,并且默认的浮点类型数据是 double类型的。否则可以使用后缀字母:
用f或F表示float类型,如123.45f
第9单元 C语言中常量的表示
数据可以用变量存放,也可以用常量形式表示。常量是程 序不可修改的固定值,可以分字面常量和符号常量。 字面常数就是直接书写出来的常数,通常不被单独存储, 而是与代码一起存储。 符号常量是将一个常量用一个符号表示。
9.1 字面常量
字面常量也称直接变量,是可以从字面上直 接识别的不变量。不同类型的字面常量的表 示形式是不同的。
9.1.1 整型字面常量的表示和辨识
1. 书写字面整数常量使用的三种进制
在C语言中,整型常量可以使用十进制数、八进 制数、十六进制数等格式书写。 进 制 记数符号 0,1,2,3,4,5,6,7,8,9 前缀 无
wenmingyao2008@yahoo.com.cn
十进制
八进制
0,1,2,3,4,5,6,7
wenmingyao2008@yahoo.com.cn
代码9.2 #include <stdio.h> 运行结果如下: int main(void){ 97 is a char ch; a is 97 int i; ch = ‘A’; ch = ch + 32; i = ch; printf (“%d is %c\n”,i,ch); /* 注意格式码 */ printf(“%c is %d\n”,ch,ch); /* 注意格式码 */ return 0; }