正文

C++ 第2章  数据类型与表达式【4】  变量2008-08-15 12:09:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/yzrj/37605.html

分享到:

 

2.3.1 什么是变量
 
其实在前面的例子中已经多次用到了变量。在程序运行期间其值可以改变的量称为变量。一个变量应该有一个名字,并在内存中占据一定的存储单元,在该存储单元中存放变量的值。请注意区分变量名和变量值这两个不同的概念,见图2.6

 
2.3.2 变量名规则
 
先介绍标识符的概念。和其他高级语言一样,用来标识变量、符号常量、函数、数组、类型等实体名字的有效字符序列称为标识符(identifier)。简单地说,标识符就是一个名字。变量名是标识符的一种,变量的名字必须遵循标识符的命名规则。
C++规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线。下面列出的是合法的标识符,也是合法的变量名:
sum, average, total, day, month, Student_name, tan, BASIC, li_ling
下面是不合法的标识符和变量名:
 
M.D.John, $123, #33, 3G64, Ling li C++, Zhang-ling, U.S.A.
注意,在C++中,大写字母和小写字母被认为是两个不同的字符。因此,sumSUM是两个不同的变量名。一般地,变量名用小写字母表示,与人们日常习惯一致,以增加可读性。应注意变量名不能与C++的关键字、系统函数名和类名相同。在国外软件开发工作中,常习惯在变量前面加一个字母以表示该变量的类型,如iCount表示这是一个整型变量,cSex表示这是一个字符型变量。
C++没有规定标识符的长度(字符个数),但各个具体C编译系统都有自己的规定。有的系统取32个字符,超过的字符不被识别。
 
2.3.3 定义变量
 
C++语言中,要求对所有用到的变量作强制定义,也就是必须先定义,后使用,如例2.2和例2.3那样。定义变量的一般形式是
变量类型  变量名表列;
变量名表列指的是一个或多个变量名的序列。如
float a,b,c,d,e;        
定义a,b,c,d,e为单精度型变量,注意各变量间以逗号分隔,最后是分号。
可以在定义变量时指定它的初值。如
float a=83.5,b,c=64.5,d=81.2,e;    //对变量a,c,d指定了初值,bd未指定初值
 
C语言要求变量的定义应该放在所有的执行语句之前,C++则放松了限制,只要求在第一次使用该变量之前进行定义即可。也就是说,它可以出现在语句的中间,如
int a;            //定义变量a(在使用a之前定义)
a=3;              //执行语句,对a赋值
float b;          //定义变量b(在使用b之前定义)
b=4.67;           //执行语句,对b赋值
char c;           //定义变量c(在使用c之前定义)
c=A;           //执行语句 ,对c赋值
C++要求对变量作强制定义的目的是:
 
(1) 凡未被事先定义的,不作为变量名,这就能保证程序中变量名使用得正确。例如,如果在声明部分写了
int student
而在执行语句中错写成statent。如
statent=30
在编译时检查出statent未经定义,作为错误处理。输变量statent未经声明的信息,便于用户发现错误,避免变量名使用时出错。
(2) 每一个变量被指定为一确定类型,在编译时就能为其分配相应的存储单元。如指定a和b为int型,一般的编译系统对其各分配4个字节,并按整数方式存储数据。
 
(3) 指定每一变量属于一个特定的类型,这就便于在编译时,据此检查该变量所进行的运算是否合法。例如,整型变量ab,可以进行求余运算:
a%b
%是求余(见24 节),得到a/b的余数。如果将ab指定为实型变量,则不允许进行求余运算,在编译时会给出有关的出错信息。

阅读(2188) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册