常量是指在程序的运行过程中其值不变的量。C语言中常用的常量有以下几类:
1.整型常量
整型常量就是通常的整数,包括正整数、负整数和0,其数据类型显然是整型。如121、-121、0等都是整型常量。
2.浮点型常量
(1)小数形式即一般形式的实数,它是由整数部分、小数点、小数部分组成,其中整数部分或小数部分可以省略其中一个。数的正负用前面的“+”(可以省略)号或“-”号来区分。小数形式是由数字和小数点组成的一种实数表示形式,如0.123、.123、123.等都是合法的浮点型常量。
(2)指数形式即指数形式的实数,它是由尾数部分、小写字母e或大写字母E、指数部分组成,形式如“尾数E指数”或“尾数e指数”。尾数部分可以是十进制整数或一般形式的十进制实数,指数部分是十进制的短整数(可以带“+”号或“-”号)。数的正负用前面的“+”(可以省略)号或“-”号来区分。如2.3026可以表示为0.23026E1、2.3026e0、23.026e-1
3.字符常量
字符常量可以理解为用单引号括起来的单个普通字符或转义字符。字符常量包括普通字符、转义字符两种:
(1)普通字符即用单撇号括起来的一个字符,如′b′、′y′、′?′。字符常量储存在计算机的储存单元中时,是以其相应代码(一般采用ASCII代码)储存的。
(2)转义字符即特殊字符常量。转义字符是C语言中表示字符的一种特殊形式,其含义是将反斜杠后面的字符转换成另外的意义。常用转义字符如表2-1所示。
某些字符可以通过转义字符序列(例如,换行符“\n”)表示为字符或字符串常量。转义字符序列看起来像两个字符,但只表示一个字符。而且,表中的转义字符应理解为将“\”后面的字符转换成另外的意义,如“\n”中的“n”不是代表字母n而是作为“换行”符使用。
表2-1 常用转义字符一览表
4.字符串常量
字符串常量亦为字符数组,通过使用双引号括起来的0个或多个字符组成的字符序列进行表示。
需要注意:字符串的内部表示使用一个空字符′\0′作为字符串的结尾,因此,存储字符串的物理存储单元数比括在双引号中的字符数多一个。这种表示方法也说明,C语言对字符串的长度没有限制,但程序必须扫描完整个字符串后才能确定字符串的长度。
例如,以下两项都是字符串:
①“I love you,my dear motherland.”
②“” //表示为空字符串
在事例①和②中所示的双引号不是字符串的一部分,它只用于限定字符串的空间范围。字符常量中使用的转义字符序列同样也可以用在字符串中。字符常量与仅包含一个字符的字符串之间的区别,以′x′与″x″为例:
①′x′代表的是一个整数,而且这个整数的值是字母x在机器字符集中对应的数值,即为内部表示值。
②″x″代表的是一个字符数组,即字母x,以及一个结束符′\0′的字符数组。(www.xing528.com)
5.符号常量
符号常量为C语言中可以用来表示常量的标识符。使用符号常量的优点是便于程序的修改和阅读。数学中定义的圆周率π、自然数e等在C程序中不能直接使用,但可以定义为符号常量进行引用。符号常量的定义格式如下:
#define 符号常量名 常量表达式
常见符号常量的表示,例如:
#define PI 3.14 //注意行末没有分号
这意味着,经过以上的指令后,程序从此开始所有的PI都代表有数值且数值等于3.14。
【例2.1】符号常量的应用实例。
程序内容如下:
1 #include<stdio.h>
2 #define PI 3.14
3 int main()
4 {
5 float area;
6 area=100*PI;
7 printf("area=%f\n",area);
8 return 0;
9 }
程序结果如图2.1所示:
图2.1 例2.1程序结果图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。