
3.3 常量、变量和运算符
常量和变量是各种程序设计语言中都要用到的概念。在应用程序运行过程中,要用到大量的数据,数据必须存储在计算机中(实际是存储在计算机的内存中),计算机会在程序运行过程中分配内存给程序存储数据。
3.3.1 常量
在程序设计中,值不能改变的量的叫作常量。常量的值一旦设定后,在其限定的范围内,便永不改变。
1.常量的声明

2.常量实例
1)每次声明一个常量,如const double pi=3.1415926;
2)一次声明多个常量,如const int a=10, b=20;
3.3.2 变量
值可以改变的量称为变量,例如学生的年龄,工人的基本工资,都不是一成不变的,可以随着时间的推移而改变,因此它们都可以用变量表示。变量要先声明后使用。
1.变量的声明
声明时不指定初值:

声明时直接指定值:

同时声明多个变量:

上述三种声明变量的方法功能相同,只是形式不一而已。例如:
1)定义变量name,不指定初值:string name;
2)定义变量age,同时指定初值为18:int age=18;
3)同时定义两个整型变量m,n:int m,n;
2.变量的命名规则
变量的命名要遵循一定的规则,不提倡使用如下命名方法。
1)变量不可以使用C#中的关键字命名,关键字也称为保留字,简单地说就是C#语言自身使用的词汇。在Visual Studio 2015的代码窗口中输入变量名时,如该变量名是关键字,则自动变色。
2)不能使用26个英文字母(大小写均可)、数字、下划线之外的任何字符作变量名。
3)不能以数字开头,必须以字母或下划线开头。变量名中间不能有空格。
变量在命名时比较提倡的命名方法主要有以下方面。
1)用英文单词作变量名称,这样可以做到望文知意,尽量不使用汉语拼音作变量名称,英文单词在使用时尽量不要简写。
2)提倡使用Pascal Casing命名法和Camel Casing命名法。Pascal Casing命名法即组成变量的每个英文单词的第一个字母大写,其他字母小写的命名方式,如StudentAddress,MyName。Camel Casing命名法则是只有第一个英文单词以小写字母开头,其他英文单词的第一个字母则以大写表示,如myName,studentAddress。
3.变量赋值
变量的赋值可以直接用“=”完成,但对于decimal类型的变量必须在值后面加M或m予以显式说明。
变量可以赋空值,空值与零值以及空字符串不同,空值是未设定的意思。但int、long、bool、double类型的变量则不能设为空值。空值的使用在日常应用中较为常见,如填写学籍信息时,暂不知道某人的“家庭住址”,则该处为null,待知道后再填入。可以使用允许空值Nullable的方式进行声明,声明的时候需要在数据类型后面加一个问号表示,其格式如下。

例如,声明一个字符串型变量StudentName,并设定其值为空,代码的书写格式为
string?StudnetName=null;
4.变量应用实例
变量的应用分布在整个程序的每一个片断中,表3-11为变量应用实例。
表3-11 变量应用实例

3.3.3 运算符
C#的运算符与C++基本相同,C#支持的运算符如表3-12所示。
表3-12 C#支持的运算符
