目录

【飞郁2022新课程】09 - 常量和变量

相信大家在上一节课的代码中看到过很多 变量的定义和声明

1
2
3
4
5
6
7
8
9
int a=1;

bool b=TRUE;

char c='h';

float f=1.0f;

double d=2.0f;

等等 这些代码

不明白这是干什么的 其实这就是在申请一个变量

那么今天我们就讲解一下变量和常量

好了 开始我们今天的讲解

一、变量

首先讲解变量,这个变量从字面意思 在于一个"变" 字,怎么变呢?,说的通俗点,有一个盒子 里面能放各种物品 变量就类似这样,可能说的有点不太懂 那么我们先从变量开始,这里先举例说明.

例如:

1
2
3
int a=88888;

float b=99.0f';

对,没错这a b就是变量的,写法就是 类型名 变量名 (= 初始值);

在这里,类型名 必须是一个有效的 C 数据类型,可以是 char、w_char、int、float、double 或任何用户自定义的类型,同时变量名可以由一个或多个标识符名称组成,多个标识符之间用逗号分隔,下面列出几个有效的声明:

1
2
3
4
5
6
7
int   i, j, k;

char  c, ch;

float  f, salary;

double d;

在这里还需要继续扩展下变量的定义与声明

1.1.变量定义

1.程序中,变量有且仅有一个定义。比如:int a=88888;

同时这种是在告诉编译器 ,帮我们分配一个4字节大小的内存 类型为int类型 里面的值存为88888:就好像一个盒子 从生产出来 就要确保尺寸大小

1.2.变量声明

1.用于向程序表明变量的类型和名字。

1.3.声明和定义的区别

1.定义也是声明,extern声明不是定义。

2.定义分配存储空间,而声明不会。

3.通过使用extern关键字声明变量名而不定义它。 事实上它只是说明变量定义在程序的其他地方。程序中变量可以声明多次,但只能定义一次。

4.只有当声明也是定义时,声明才可以有初始化式,因为只有定义才分配存储空间。

例如:

extern int a其中变量a是在别的文件中定义的。

前者是"定义性声明(defining declaration)“或者称为"定义(definition)",而后者是"引用性声明(referncing declaration)"。

备注:extern 还没学到这里大家有个印象就行不要急.

1.4.扩展资料

1.变量是一种使用方便的占位符(比如上面的 a b c这种字符 方便我们对内存的操作),用于引用计算机内存地址,该地址可以存储代码运行时可更改的程序信息。

2.变量名必须以字母或下划线打头,名字中间只能由字母、数字和下划线“_”组成;

3,.变量名不能是VC中的保留字(关键字)

下面看一点实例:

1
2
3
4
5
6
7
extern int d = 3, f = 5;   // d 和 f 的声明与初始化

int d = 3, f = 5;      // 定义并初始化 d 和 f

byte z = 22;         // 定义并初始化 z

char x = 'x';        // 变量 x 的值为 'x'

二、常量

1.我们知道了变量,那么常量就更好理解了就好比 把上面我们讲到的常量的那个盒子 进行加工 让这个盒子只能存唯一的物品

2.其实就是地址里面的值,是不能修改的

3.常量是固定值,在程序执行期间不会改变。这些固定的值,又叫做字面量。

4.常量可以是任何的基本数据类型,比如整数常量、浮点常量、字符常量,或字符串字面值,等等

5.常量就像是常规的变量,只不过常量的值在定义后不能进行修改

2.2.例如1

1
2
3
const int a=88888;

a=99999;// 错误的 因为加了const关键字 表示 int类型的 a变量是个常量

https://cdn.jsdelivr.net/gh/xinqinew/pic@main/img/c4ac8a717423c651dc99196124f4c31180bcbd4a.png@522w_257h_progressive.png

常量,字面上的值

2.3.例如2

1
2
3
int a=10 ; //10就是常量

10 = 11?? //常量不可以变 这样也是不行的

https://cdn.jsdelivr.net/gh/xinqinew/pic@main/img/c31aa2691c920f2d4baee78a2c5db9114639372d.png@504w_252h_progressive.png

三、常量的简单列举

1.整数常量:

520

0x521

const int a=88888;

2.浮点常量:

3.1415926

const float f=88888;

3.字符常量:

一个普通的字符(例如 ‘x’)

一个转义序列(例如 ‘\n’)

一个通用的字符(例如 ‘+’)

4.字符串字面值**:**

“hello, heart”