前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >“变量”和“常量”,计算机程序中的那个“量”是什么“量”

“变量”和“常量”,计算机程序中的那个“量”是什么“量”

作者头像
讲编程的高老师
发布2020-08-14 09:57:17
1.2K0
发布2020-08-14 09:57:17
举报
文章被收录于专栏:讲编程的高老师

石头这个学期上了一门大一的“C语言”课程,这是石头第二次上这门课了。我决定把这门课中学生比较容易混淆的、不好理解的概念用文章的形式记录下来。

无论是什么量,最终归为0 1

01

变量与常量中的“变”和“常”

数学概念解释的“常”和“变”

常量与变量是数学中反映事物量的一对范畴。常量亦称“常数”,是反映事物相对静止状态的量;变量亦称“变数”,是反映事物运动变化状态的量。

石头最佩服的就是数学家,可以把纷繁复杂的世间万物用很简短的语言抽象成概念。不过呢,抽象成概念之后的定理、公里、定义等等呢就会变得抽象。我们政治老师教过,我们要在实践活动中抽象出理论,然后再用理论去指导我们更好地实践活动,这才是我们进行理论学习的终极要义。

只要稍微学过马克思主义哲学的同学都会知道,运动是绝对的、静止是相对的。放到这里来说,就是“变”是绝对的,“常”是相对的。

我们通过一个例子来说明一下,我们可以使用公式:S=πr²来计算圆的面积。其中,这个π就是一个常数,无论多大的圆都是用这一个π;而这个r呢就是一个变数,它的大小也就决定了圆的大小。但是呢,当我们要确切的去计算某个圆的面积时,我们π的取值精度又有不同。

我们身边关于“常”和“变”的例子特别多。比如一个男同学假设叫小明,可能他这一生都叫小明、也有可能他这一生都是男的;但是他的身高、体重这些就会不停的变化。

你只有确实掌握了“常”和“变”的要义,你在进行计算机编程的时候才知道哪些量该用常量、哪些该用变量。

计算机语言的“常”和“变”

以C语言为例,常量分直接常量和符号常量两种。以下面这段代码为例

#define COEF 0.5 //期中成绩占比 int main() { float Score, MidScore, FinalScore; /*下面这一行中,COEF就是符号常量,而 1 就是直接常量*/ Score = COEF*MidScore + (1-COEF)*FinalScore; return 0; }

在这段代码中呢,是想用期中考试的成绩和期末考试成绩算出总评成绩。我需要知道期中成绩在总评成绩的占比,然后用1减去它就是期末的占比。而期中成绩的占比我用一个符号常量来表示。

到了后面呢,我又定义了总评成绩、期中成绩、期末成绩三个变量,用来在计算每个学生的总评成绩的时候暂时存放该学生的总评、期中、期末成绩。

在这里,我们就可以看出来整个班的期中、期末成绩在总评成绩中的占比可能是不变的,如果我要调整这个占比那么我只需要改一下符号常量的值就行了,方便快捷而且程序的可读性好很多。

也就是说,计算机程序中的常量呢不会随着程序的执行而变化;而变量则随时都有可能变化。如下图所示,我们在定义变量的时候,只是申请了一个有名字的空间,程序在运行的过程中可能会放入符合类型的不同值。

给定一个存储空间但里面的内容会随着时间的推移变化

02

变量与常量中的“量”

计算机语言中的量呢,其实可以理解为用来存放一些东西的空间。

程序在向计算机申请使用这个区间的时候呢,要先告诉计算机我这个区间准备用来存放什么类型的东西,然后计算机会根据类型给它分配不同大小的区间,而且这个区间呢很可能还有个名字(符号)来代指。

这个区间里的内容,在程序运行的过程中可能变也可能不变,对应的就是常量或者变量。

C语言的数据类型

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-03-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 讲编程的高老师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档