【C语言入门教程】2.2 常量 与 变量

2.2 常量 与 变量

顾名思义,常量是运算中不能改变数值的数据类型,变量是可改变数值的数据类型。根据需要,可将一些在程序中不必改变数值的类型定义为常量,这样也可避免因修改数值造成程序错误。任何改变常量数值的操作都会引起编译错误。

 

2.2.1 标识符命令

C语言程序中,每个数据都有其标识符,如常量名、变量名、函数名或宏名。标识符是数据或程序模块的名字,一般情况下,只能通过标识符操作对应的数据或模块。ANSI C规定了标识符的命令规则,第一个字符必须为下划线或英文字母,其后的字符必须为下划线、数字或英文字母。例如,year、month01、_day都是正确的命令,而2year、mon!th01、day..one是错误的命名。另外,标识符命令时要避免与C语言关键字相同。

标识符的长度不受限制,但ANSI C标准考虑到程序的移植性,要求不同源代码间相互引用的外部名称必须能够由前 8 个字符进行区分。这是因为对某些仅能识别8个字符的编译器而言,外部名calcount1、cacount2
将被当做同一个标识符处理。同一个源代码文件中的标识符称为内部名称,ANSI C标准要求内部名称至少能通过前31个字符区别。虽然常量名、变量名、函数名或宏名代表程序的不同部分,但不能使用同一个名称。

C语言严格区分英文字母的大小写,例如,变量名 number、Number、NUMBER是不同的标识符。

 

2.2.2 常量

C语言中的常量有 4 种基本类型:

  • #define定义的符号常量;
  • 字符、字符串常量、数值常量;
  • 常量变量;
  • 枚举常量;

符号常量通常出现在文件的开始,它更像是编辑器的字符串替换操作。下列是#define的用法:

#define PI 3.14					// 定义常量数值
#define NAME "Micro Computer"	// 定义一个常量字符串

字符、字符串常量 和 数值常量是直接在源代码中出现的字符、字符串和数值,因为程序运行时它们会在内存中占据固定内存,
所以认为它是常量。下列是使用字符、字符串常量和数值常量用法:

putchar('D');				// 单引号中的是字符常量
printf("Micro Scott");		// 双引号中的是字符串常量
a = 500.234;				// 赋值符号右边的是数值常量

常量变量是一种特殊的常量,它实际是用 const 修饰符限制了变量改变其值。下列是
常量变量的定义方法:

const int dog_count = 65;	// dog_count 是定义的整型常量,其值为 65

枚举常量是一种聚合类型,它有多个成员,默认情况下第一个成员所代表的数值是 0,后面的成员所代表的数值在前面成员的数值上加 1。也可以在定义枚举常量时为成员赋值,示例代码如下:

enum weekday {MON = 1, TUE, WED, THU, FRI, SAT, SUN};	// 定义枚举常量和成员,将 MON 的值设置为 1
printf("%d", SUM);										// 输出成员 SUN 的值

该例的输出结果为 7,第 1 个成员 MON 值为 1 后,第 7 个成员的值要在第 1 个成员的基础上加 6,所以 SUM 的值为 7。

 

2.2.3 变量

运算中可以改变数值的数据类型称为变量。每个变量拥有唯一的名字,在内存中占据一定的存储单元,在该存储单元中存放变量的值。所有的 C变量必须在使用之前声明,声明变量的一般形式是:

数据类型 变量名

下列定义了一个整型变量并为其赋值:

int count;			// 定义一个整型变量,变量名为 count
count = 25;			// 为变量 count 赋值

声明变量和为变量赋值也可以从两个合并为一个 ,如 “int count = 25;”。也可以同时声明多个变量并为其赋值,变量或表达式间以逗号分隔,如“int count = 25, lenth;”。

变量在被使用前必须先赋值,未赋值前,其值可能会是对应数据类型中的任意一个数字。如果变量被声明,但在整个程序中未对其赋值或使用,则 GCC 编辑器会给出一个警告信息。

posted @ 2016-07-18 14:37  52php  阅读(495)  评论(0编辑  收藏  举报