c语言中后缀字母如 d h b l i,10 C语言中常量的表示.ppt

10 C语言中常量的表示

第9单元 C语言中常量的表示 数据可以用变量存放,也可以用常量形式表示。常量是程序不可修改的固定值,可以分字面常量和符号常量。 字面常数就是直接书写出来的常数,通常不被单独存储,而是与代码一起存储。 符号常量是将一个常量用一个符号表示。 9.1 字面常量 字面常量也称直接变量,是可以从字面上直接识别的不变量。不同类型的字面常量的表示形式是不同的。 9.1.1 整型字面常量的表示和辨识 1. 书写字面整数常量使用的三种进制 在C语言中,整型常量可以使用十进制数、八进制数、十六进制数等格式书写。 八进制和十六进制整常数举例 2. 整数字面常量类型的确定 遇到一个整型字面常量,如何区分为short、int、long、long long、unsigned呢? (1)默认原则。 (2)后缀字母标识法。 (1)默认原则。按照常数所在的范围,决定其类型。例如,在16位的机器中: 当一个常整数的值在十进制-32768~32767(八进制数0~0 177777、十六制数0x0~0xFFFF)范围内都被看作是int型。 如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)。 用U或u表示unsigned类型,如12345u——(十进制unsigned int)、12345UL——(十进制unsigned long)。 9.1.2 浮点类型字面常量的表示和辨识 1. 浮点类型字面常量的书写格式 (1)小数分量(定点)形式。即一个浮点类型数由小数点和数字组成。例如3. 14159、0.12345、3.、.123等。 (2)科学记数法(浮点,即指数)形式。把一个浮点类型数的尾数和指数并列写在一排,中间用一个字母E或e分隔,前面部分为尾数,后面的整数为指数。例如19.345用科学记数法可表示为0.19345e+2,0.19345E+2,19345e-3。 P.S. C99增加了用十六进制(以0x或0X打头)书写浮点常数的规范。 2. 浮点类型字面常量的辩识后缀 C语言将浮点类型数据分为float、double和long double三种类型,并且默认的浮点类型数据是double类型的。否则可以使用后缀字母: 用f或F表示float类型,如123.45f 1.2345e+2F。 用l或L表示long double类型,如1234.5l 1.2345E+3L 9.1.3 字符类型常量的表示 字符与字符串 1. 可打印字符 可打印字符常量是用一对单撇号括起来的一个字符,如‘a’, ‘A’ , ‘?’ , ‘#’ 注意: 单撇号只是字符与其他部分的分隔符,或者说是字符常量的定界符,不是字符常量的一部分。 不能用双引号代替撇号,如"a"不是字符常量。 撇号中的字符不能是单撇号或反斜杠,如' ' '或'\'不合法。 字符类型的数据(如字符'a', 'A' , '?' , '3')在内存中以相应的ASCII代码存放。例如,'a'的ASCII码为97,则在内存中的二进制存储形式 空字符的表示为两个但撇号之间留一空格,不能写明两个靠在一起的单撇号。 在C语言中,字符数据可以等价为与其相应的ASCII码的整数(如‘a’与整数97等价)。 字符数据可以用数值形式输出。反之一个与字符相对应的整数也可以用字符形式输出。字符数据还可以作为整数参加运算,例如'A' +32,相当于65+32,得到97。 说明:字符数据占一个字节(8位),分为signed和unsigned ANSI标准ASCII字符的允许范围为0~127,最左一位补0。例如,字符‘A’的ASCII码为65,二进制存储形式 但是有些计算机系统(例如IBM),还扩充使用128~255的字符。它们多是图形字符。例如字符“≥”,ASCII码为242,即二进制八进制数362),其第一位为1。 标准C无统一规定,有的系统把char型变量隐含指定为unsigned型,即其最左端一位不作为符号位,如果按十进制数形式输出,得到的是十进制数242。 有的系统 (如Turbo C,PDP,VAX-11等)把char型变量隐含指定为signed型,即将其最左端一位作为符号位。如果按字符形式输出,则得到的字符“≥”,如果按十进制数形式输出得到的是-14。 不

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值