步子百科步子百科

变量是什么意思(概念梳理篇01)

跟着严Sir学编程正式开更,变量希望严Sir能用20年程序类课程教学经验,什意思概帮助更多的念梳伙伴更加容易地学习和理解程序。在相关的理篇文章当中,我更多的变量是根据自己理解来讲解,并且根据自己教学经验,什意思概对于重点和难点问题进行了生活化的念梳处理,这样能让更多的理篇人容易理解,同时也带来了学术表达上的变量严谨程度不足。欢迎大家阅读、什意思概点赞、念梳转发,理篇更喜欢大家批评指正!变量

这是什意思概概念梳理的第01篇文章。

数据是念梳程序运行的基础。

数据当中有两大主角——常量和变量,这是任何一门程序设计语言都会涉及到的两个基本概念。

那么,什么是常量,什么是变量呢?

01 让人犯晕的定义

对于常量和变量的解释,很多书上是这样定义的:

常量:程序运行的过程中,值不发生改变的量。变量:程序运行的过程中,值要发生改变的量。

作为初学者,看到这样的定义,顿时觉得头昏眼花,不知所云。什么叫不发生改变?什么叫发生改变?要花一定的时间,才能明白和弄清。

02 换种思路理解

很多时候,我们去理解一个概念时,往往会被抽象的描述弄得不知所云。这时,需要我们追其本质,与具体的表现结合起来理解,这样往往可以更加清晰和容易。接下来,严Sir将讲解自己对于常量和变量的理解,仅代表一家之言。

(一)常量

1.含义:所谓常量,就是常值,就是值不会发生改变的具体数据。

如:在数学上,大家看到π这个符号时,心里面就知道它代表的的圆周率,具体的值为3.14(保留2位小数),不管在任何地方,这个值是不会发生改变的。于是,我们称π是数学上的一个常量。

那么,在程序当中,你看到的类似于 123、4.56这样的值,就被我们称为常量。因为一旦写入到程序当中以后,这些值是不可以再发生改变了。

2.分类

常量可以分为直接常量和符号常量两类。

①直接常量是指:本身就是一个具体的数值。

如C语言当中,直接常量大体可以分为四类:

整型常量(代表的是一个整数):56、789、1234

实型常量(代表的是一个小数):1.23、35.6、0.12

字符常量(代表一个任意字符):‘A'、'B'、'C'

字符串常量(代表若干个任意字符):“1234”、“this”、“book”

②符号常量是指:用一个符号代表一个具体的、不可改变的值。

前面所讲,在数学上用π这个符号代表的的圆周率,具体的值为3.1415(保留4位小数)。如果在程序当中,想声明一个符号来代表值为3.1415,就需要用到符号常量。当然,聪明的你一定会想到,符号常量不会自动出现的,需要你自己来定义。符号常量的声明方法,不同的程序语言有差异,如果是在C语言当中,你可以用宏命令来声明:

#define PI 3.1415

上面这条命令被称为预处命令。它的作用是就是定义了一个符号常量PI,用它来表示一个不可以改变量的值3.1415 。

(二)变量

1.含义:所谓变量,就是一个存放可变数据的空间。

按照这样的理解,我们先到生活当中去寻找变量。

上图中,可乐瓶,它是用来存放可乐的空间,于是可乐瓶就是一个变量;粉笔盒,它是用来存放粉笔的空间,于是粉笔盒也是一个变量;水杯,它是用来存放水的空间,于是水杯也是一个变量。

2.变量从何而来?

这是一个值得思考的问题,它涉及到一些本质问题。

先问:可乐瓶从何而来?你肯定会说:可乐瓶生产厂家制造出来的。这样的问答,对于粉笔和水杯同样的是适用的。

于是,我们是不是可以得出这样的一个结论:要使用一个变量,首先要把变量定义出来了。

3.如何定义变量?

可乐瓶、粉笔盒、水杯是同样的存储空间吗?显然不是的。既然可乐瓶、粉笔盒、水杯是变量,而它们的类型是不一样,这样的差异是在制造它们时就决定的。于是定义变量就显得特别重要了。在这里,我以C语言为例来讲解。

变量定义的格式:变量类型 变量名;

还是结合生活当中的例子来理解:

第1条语句可以这样理解:制造一只猫,名字叫小花。于是,我们的脑海里面就会产生一只名字叫小花的猫,它具备了猫所有的特性,比如喜欢吃老鼠,因为你是属于猫这种类型。

第2条语句可以这样理解:制造一只猪,名字叫淘淘。于是,一只名字叫淘淘的猪就产生了,它具备了猪所有的特性,因为你是属于猪这种类型。

于是,我们可以知道,在定义变量时,我们决定了变量的类型和变量的名字,而变量的类型决定了变量能存放何种类型的数据。

如在C当中有三条语句:

int a;

float b;

char c;

int a;表示定义了一个整型的变量,名字叫a,于是a变量里面以后存放整型数据。

float b; 表示定义了一个实型变量,名字叫b,于是b变量里面以后存放实型数据。

char c;表示定义了一个字符型变量,名字叫c,于是c变量里面以后存放字符型数据。

4.变量到底什么在变?

变量定义好了以后,它的类型和名字是不可能发生改变的,那么它到底在改变什么呢?

上图是一个水杯的5连拍。大家很容易发现,水杯的是不会发生改变,但是水杯里面存放的水是可以发生改变的。水杯里面存放的水,就是一个变量里面存放的值,我们把它称为变量值。

到此,我们发现,一个变量具有3个元素,分别是变量类型、变量名字、变量值。

变量定义后,变量类型和变量名是不会发生改变的,变量能改变的只能是变量值。

int a;

a=3;

a=4;

a=5;

上面有4条语句,第1条语句是在定义一个整型变量,名字叫a。

第2条语句是将3存放到a变量里面。

第3条语句是将4存放到a变量里面。

第4条语句是将5存放到a变量里面。

由此可见,a变量里面装的值在不停地发生改变,这就是变量。

03 总结

本文当中,讲解了对于常量和变量的理解:

常量:就是常值,就是值不会发生改变的具体数据。

变量:就是一个存放可变数据的空间。它有三个元素:变量类型、变量名、变量值,变量改变的是变量值。

04 思考

第一题

#define PI 3.1415

............

............

............

PI=3.14; //请问:这条语句会不会出错?原因?

第二题

int a;

a=3;

a=4;

a=5;

请问:执行完这些语句后,a里面到底存放的是什么内容?

欢迎大家留言和讨论。

下一篇文章:变量到底是在哪里产生的?