本节视频教学录像:4分钟
其实我们已经使用过常量了,只是不知道,在前面的程序中输出过的“Hello World!”就是一个常量,是一个字符串常量,从这不难看出,常量的值在程序运行中是不能改变的。
在程序中,有些数据是不需要改变的,也是不能改变的,因此,我们把这些不能改变的固定值称为常量。到底常量是什么样的?下面来看几条语句。
int a=1;
char ss='a'
printf("Hello \n");
“1”、“a”、“Hello”,这些在程序执行中都是不能改变的,它们都是常量。
细心一些的读者可能会问:这些常量怎么看上去不一样呢?确实,就像布可以分为丝绸、棉布、麻布各种类型一样,常量也是有种类之分的。
下面来看一个范例,认识一下这些不同类型的常量。
【范例3-1】显示不同类型常量的值。
(1)在Visual C++ 6.0中,新建名为“types.c”的【Text File】文件。
(2)在编辑窗口中输入以下代码(代码3-1.txt)。
01 #include <stdio.h>
02 int main(void)/*程序的入口*/
03 {
04 printf("+125 \n"); /*输出+125并换行*/
05 printf("-50 \n"); /*输出-50并换行*/
06 printf("a \n"); /*输出a并换行*/
07 printf("Hello \n");/*输出Hello并换行*/
08 return 0; /*程序无错误安全退出*/
09 }
【代码详解】
printf的作用是输出双引号里的内容,\n不显示,作用是换行。由于入口函数使用了int main(),因此在程序结束的时候一定要有返回值,语句“return 0;”就起到程序安全退出的作用。如果使用的是“void main()”语句,就可以省略返回语句。
【运行结果】
编译、连接、运行程序,即可在命令行中输出各个数值常量。
【范例分析】
本例中有4个常量,分别是数值+125和-50,字符"a"和字符串"Hello"。这些就是常量的不同类型的值。在这里,可以把常量分为数值常量、字符常量、字符串常量和符号常量等(后面会具体介绍)。
常量分为静态常量和动态常量。
静态常量声明的同时要设置常量值,首先它的类型必须属于值类型范围,且其值不能通过new来进行设置,不需要消耗内存。对于类对象而言:所有类的对象的常量值是一样的。
<访问修饰符>数据类型常量名称=常量值
动态常量声明的时候可以不设置常量值,可以在类的构造函数中进行设置。它没有类型限制,可以用它定义任何类型的常量,但要分配内存,保存常量实体。对于类对象而言:对于类的不同对象而言,常量的值可以是不一样的。
常量有以下几个优点。
(1)增加程序易读性。
(2)提高程序对常量使用的一致性。
(3)增强程序的易维护性。