清华大学出版社 TSINGHUA UNIVERSITY PRESS 序时搞不清各个常数究竟代表什么。应尽量使用 “见名知意”的变量名和符号常量。 (2)在需要改变一个常量时能做到“一改全改” 。 例如在程序中多处用到某物品的价格,如果价格 用常数表示,则在价格调整时,就需要在程序中 作多处修改,若用符号常量price代表价格,只需 改动一处即可。如: #define price 35 在程序中所有以price代表的价格就会一律自动改 为35
序时搞不清各个常数究竟代表什么。应尽量使用 “见名知意”的变量名和符号常量。 (2) 在需要改变一个常量时能做到“一改全改”。 例如在程序中多处用到某物品的价格,如果价格 用常数表示,则在价格调整时,就需要在程序中 作多处修改,若用符号常量price代表价格,只需 改动一处即可。如: #define price 35 在程序中所有以price代表的价格就会一律自动改 为35
清华大学出版社 TSINGHUA UNIVERSITY PRESS 3.2.2变量 其值可以改变的量称为变量。一个 变量应该有一个名字,在内存中占 据一定的存储单元。在该存储单元 变量名 中存放变量的值。请注意区分变量 名和变量值这两个不同的概念,见 变量值 图3.1。变量名实际上是一个符号 存储单元 地址,在对程序编译连接时由系统 给每一个变量名分配一个内存地址。 在程序中从变量中取值,实际上是 图3.1 通过变量名找到相应的内存地址, 从其存储单元中读取数据。和其他 高级语言一样,用来标识变量名
3.2.2 变量 其值可以改变的量称为变量。一个 变量应该有一个名字,在内存中占 据一定的存储单元。在该存储单元 中存放变量的值。请注意区分变量 名和变量值这两个不同的概念,见 图3.1。变量名实际上是一个符号 地址,在对程序编译连接时由系统 给每一个变量名分配一个内存地址。 在程序中从变量中取值,实际上是 通过变量名找到相应的内存地址, 从其存储单元中读取数据。和其他 高级语言一样,用来标识变量名、 图3.1
清华大学出版社 TSINGHUA UNIVERSITY PRESS 符号常量名、函数名、数组名、类型名、文件名 的有效字符序列称为标识符(identifier)。简单地 说,标识符就是一个名字。 C语言规定标识符只能由字母、数字和下划线三种 字符组成,且第一个字符必须为字母或下划线。 下面列出的是合法的标识符,也是合法的变量名: sum, average,-total,class, day, month, student-name,tan,lotus-1-2-3,basic,li-ling 下面是不合法的标识符和变量名: M.d.John,y123,#33,3d64,a>b
符号常量名、函数名、数组名、类型名、文件名 的有效字符序列称为标识符(identifier)。简单地 说,标识符就是一个名字。 C语言规定标识符只能由字母、数字和下划线三种 字符组成,且第一个字符必须为字母或下划线。 下面列出的是合法的标识符,也是合法的变量名: sum,average, -total, class, day, month, student-name,tan,lotus-1-2-3,basic, li-ling 下面是不合法的标识符和变量名: M.d.John,y 123,#33,3d64,a>b
清华大学出版社 TSINGHUA UNIVERSITY PRESS 注意,大写字母和小写字母被认为是两个不同的字 符。因此,sum和suM,class和class是两个不同的 变量名。一般,变量名用小写字母表示,与人们 日常习惯一致,以增加可读性。 ANSI C标准没有规定标识符的长度(字符个数),但 各个c编译系统都有自己的规定。有的系统(如bM PC的MsC)取8个字符,假如程序中出现的变量名 长度大于8个字符,则只有前面8个字符有效,后 面的不被识别。例如,有两个变量: student_name和student number,由于二者的前8 个字符相同,系统认为这两个变量是一回事而不 加区别。可以将它们改为stud name和stud num, 以使之区别
注意,大写字母和小写字母被认为是两个不同的字 符。因此,sum和suM,class和class是两个不同的 变量名。一般,变量名用小写字母表示,与人们 日常习惯一致,以增加可读性。 ANSI C标准没有规定标识符的长度(字符个数),但 各个c编译系统都有自己的规定。有的系统(如ibM PC的Ms C)取8个字符,假如程序中出现的变量名 长度大于8个字符,则只有前面8个字符有效,后 面的不被识别。例如,有两个变量: student_name和student_number,由于二者的前8 个字符相同,系统认为这两个变量是一回事而不 加区别。可以将它们改为stud_name和stud_num, 以使之区别
清华大学出版社 TSINGHUA UNIVERSITY PRESS Turbo C则允许32个字符。因此,在写程序时应 了解所用系统对标识符长度的规定,以免出现上 面的混淆。这种错误并不反映在编译过程中(即 语法无错误),但运行结果显然不对。为了程序 的可移植性(即在甲机器上运行的程序可以基本 上不加修改,就能移到乙机器上运行)以及阅读 程序的方便,建议变量名的长度不要超过8个字 符。 如前所述,在选择变量名和其他标识符时,应注意 做到“见名知意”,即选有含意的英文单词(或 其缩写)作标识符,如count、name、day、 month、total、country等,除了数值计算程序外, 一般不要用代数符号(如a、b、c、x1、y1等)作变 且人
Turbo C则允许32个字符。因此,在写程序时应 了解所用系统对标识符长度的规定,以免出现上 面的混淆。这种错误并不反映在编译过程中(即 语法无错误) ,但运行结果显然不对。为了程序 的可移植性(即在甲机器上运行的程序可以基本 上不加修改,就能移到乙机器上运行)以及阅读 程序的方便,建议变量名的长度不要超过8个字 符。 如前所述,在选择变量名和其他标识符时,应注意 做到“见名知意”,即选有含意的英文单词(或 其缩写)作标识符,如count、name、day、 month、total、country等,除了数值计算程序外, 一般不要用代数符号(如a、b、c、x1、y1等)作变 量名