跳到主要内容

任务二 常量与变量

知识点​

子任务一 常量​

1.什么是常量?分为哪两种?​

常量就是在程序运行过程中,其值不会改变的量。常量可以分为直接常量和符号常量两种形式。

2.整型常量的表示方法有哪些?​

整型常量默认类型为能保存它的最小整数类型(int、uint、long或ulong)。

  • 后缀 L 或 l:表示长整型,如 16L
  • 后缀 U 或 u:表示无符号整型,如 127U
  • 后缀 UL:表示ulong类型,如 127UL
  • 十六进制:在数值前加 0x 或 0X,如 0x20(相当于十进制32)、0x1F(相当于十进制31)

3.浮点常量的表示方法有哪些?​

默认为double类型,可加后缀指定类型:

  • F 或 f:float类型,如 3.14F
  • D 或 d:double类型,如 3.14D
  • M 或 m:decimal类型,如 3.14M
  • 科学记数法:3.14e2(相当于 3.14×10^2)、2.718E-2(相当于 2.718×10^-2)

4.字符常量有哪些表示形式?​

字符常量用单引号括起来的单个字符,占16位,以Unicode代码存储。

  • 单引号括起一个字符:'a'
  • 十六进制换码系列:'\x0032'
  • Unicode码表形式:'\U0032'
  • 显式转换整数字符代码:(char)67
  • 转义字符(见表3-5)

表3-5 转义字符表:

转义字符含义Unicode码转义字符含义Unicode码
\'单引号\u0027\b退格符\u0008
\"双引号\u0022\f走纸换页符\u000C
\\反斜线字符\u005C\n换行符\u000A
\0空字符\u0000\r回车符\u000D
\a警铃符\u0007\t水平制表符\u0009
\v垂直制表符\u000B

5.字符串常量是什么?​

字符串常量表示若干个Unicode字符组成的字符序列,使用一对双引号标记。可以包括转义字符。

"Hello\n"
"C:\\Program Files\\Microsoft Visual Studio"

6.布尔型常量是什么?​

布尔型常量只有两个:true(逻辑真)和 false(逻辑假)。

7.什么是符号常量?如何定义?​

符号常量是在程序中用某一个特定的标识符表示某一数据。

定义格式:

const 数据类型 常量名 = 常量值;

示例:

const float PI = 3.14f;

说明:

  1. const 是定义符号常量的关键字
  2. 符号常量名应遵循标识符命名规则,建议使用大写字母
  3. 符号常量一经定义,在程序中不得再赋值
  4. 使用符号常量能做到"一改全改"
  5. 定义常量时,表达式中只允许出现常量和常数,不能有变量存在
int a = 10;
const int b = a; //错误!表达式中不能有变量

子任务二 变量​

8.什么是变量?变量有哪三要素?​

变量就是在程序运行过程中其值可以不断改变的量。变量的本质是内存中的存储空间。

变量三要素:

  • 变量名:命名规则遵循标识符命名规则
  • 变量类型:不同类型的变量可存储不同的数据
  • 变量的值:存放在变量中的数据

9.变量名的命名规则是什么?​

  1. 只能由字母、数字和下划线三类字符组成,且第一个字符必须为字母或下划线
  2. 不能包含空格、标点符号、运算符等
  3. 严格区分大小写
  4. 不能与C#关键字名相同(如果以 @ 作为前缀则可以,如 @const)

10.变量如何定义?​

C#规定,变量必须先声明才可以使用。

定义格式:

[访问修饰符] 数据类型 变量名 [= 初始值];

示例:

int age = 100;
char xb = '男';
int a = 1, b = 2, c = 3; //同时声明多个变量

11.什么是变量的作用域?成员变量和局部变量有什么区别?​

变量的作用域指程序代码能够访问该变量的区域。

(1)成员变量

在类体中定义的变量,在整个类体中都有效。分为两种:

  • 实例变量:在类中直接定义,作用域为整个类
  • 静态变量(类变量):用 static 关键字修饰,有效范围可以跨类,甚至达到整个应用程序
class Test
{
int x = 45; //实例变量,作用域为整个Test类
static int y = 90; //静态变量,可以"类名.静态变量"的方式在其他类内使用
}

(2)局部变量

在类的方法体中定义的变量(在方法内部代码的 { 与 } 之间),只在当前定义的方法内有效。方法的参数也属于局部变量。

局部变量的生命周期取决于方法:当方法被调用时分配内存空间;调用结束后释放内存空间,销毁局部变量。