深圳计算机程序设计员中级,计算机软考程序员备考:程序设计知识点(2)

"本文详细介绍了C语言中的常量类型,包括整型常量、实型常量、字符型常量、字符串常量和符号常量。整型常量有十进制、八进制和十六进制表示,实型常量则有标准格式和指数表示。字符型常量以ASCII代码存储,字符串常量以双引号括起,以特殊字符''结尾。此外,还提到了符号常量的#define定义方式,增强了代码的可读性。"
摘要由CSDN通过智能技术生成

2.2 常量

常量是指程序运行过程中其值不可改变的数据。常量按其值的表现形式可分为如下类型:整型常量、实型常量、字符型常量、字符串常量和指针常量。

1.整型常量

C语言整型常量的书写形式有三种:

(1)十进制整数。通常整数的写法,如0,123,-45,+25。

(2)八进制整数。以数字符0开头并由数字符0-7组成的数字符序列,为八进制整数。如 0123表示八进制整数,其值等于十进制整数 l*8*8+2*8+3=83。

(3)十六进制整数。十六进制整数以OX(或OX)开头的整数。表示十六进制数的数字将有16个,它们分别是0-9和A、B、C、D、E、F,其中六个英文字母也可以小写。例如,0x123表示十六进制整数,其值等于十进制整数1*16*16+2*16+3=291; oxabc,其值等于10*16*16+11+16+12=2748。

整型常量也可在整数之后接上字母L(或l),特别指明它是 long型的。

整型常量也可在整数之后接上字母U(或u),特别指明是不带符号的,即是unsigned型的。为指明不带符号的long型整型常量,则需在整数之后同时加上字母U和L,表明该整型常量是unsigned long型的。

整型数据以二进制形式存放,要求短整型数据的字节数不能大于整型数据的字节数;整型数据的字节数不能大于长整型数据的字节数。对于带符号的整数,用二进制代码的最左二进位作为数的符号,1表示负数,0表示正数。

2.实型常量

C语言实型常量的一般书写格式是:

正负号 整数部分.小数部分 指数部分

其中,正负号可有可无,无正负号即为正实数;整数部分和小数部分都是十进数字符序列;指数部分是e(或E)后接上正负号(正号可有可无)和十进数字符序列。

按上述格式书写实型常量,另有两条限制:

(l)整数部分和小数部分可以任选,但不可同时都没有。

(2)小数点和指数部分不可以同时都没有。

ANSIC引入两个后缀字符,用 f标识 float型实型常量,用 1(或 L)标识 fong double型实型常量,而无后缀符的实型常量被认为是double型的实型常量。

要注意实型常量的有效位数,不要以为写上的数字都能被计算机所接受。在大多数C系统中,一个float型实型数据在内存中占用4个字节(32个二进位),约7个十进位有效数字,能表示绝对值最接近0的实数约为10的-38次方,最大的实数约为10的38次方。例如,对于代码 float x=123456.123f,在大多数系统中,实型常量123456.123f的最后两位数字是无效的。

double型实型数据占用8个字节(64个二进位),约15个十进位有效数字,能表示绝对值最接近0的实数约为10的一308次方,最大的实数约为10的308次方。

3.字符常量

字符型数据用于表示一个字符值,但字符型数据的内部表示是字符的ASCll代码(8位二进位的二进制形式)。字符型数据的类型符用char来标记。字符型常量的书写方法:

(l)普通字符--用单引号括起一个字符。如’a’、’b’、’B’、’$’。

(2)特殊字符--用’\字符或字符列采标记。这种标记方法有三种:

’\特定字符’,标记特定控制符,如换行符用’\ n’来标记。

’\ 1至3个人进制数字’,以人进数表示字符的ASCll代码。

’\ X1至2个十六进制数字符’,以十六进制数表示字符的 ASCll代码。

由于字符以代码存放,所以也可把字符值当作一个小整数。反之,一个小整数也可把它理解为是某个字符的代码,把它当作一个字符。

4.字符串常量

字符串常量用来表示一个字符序列,它的书写方法用双引号括住字符序列。例如:”ABC”、””等。字符串常量“”是一个空字符串,即不含任何有效字符的字符串。字符串数据顺序存储字符串字符的ASCll代码,并在最后字符后面存储一个H进制代码全为0的特殊字符,用来标记字符串的结束。所以字符串常量“1234”在内存占5个字节,而空字符串只占一个字节。字符串中的字符也可以是转义字符。

5.符号常量

为了提高程序的可读性,常量可以用以下形式命名:

# define 标识符 常量

其中的标识符也称作符号常量,这里的常量是前面所述的某种常量、或是程序中前面定义的符号常量。例如:

# define MAXN 100

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值