△向上生长, TO BE TO UP. 程序员成长充电站△

计算机基础课第 28 期分享

转载请联系授权(微信ID:qianpangzi0206)


上节讲到用机器码写程序,还要处理那么多底层细节  对写大型程序是个巨大障碍。为了脱离底层细节,开发了编程语言。让程序员专心解决问题,不用管硬件细节。

今天我们讨论大多数编程语言都有的基本元素。

01

语句与语法


就像口语一样,编程语言有"语句",语句表达单个完整思想,比如"我想要茶"或者"在下雨",用不同词汇可以代表不同含义,比如"我想要茶"变成"我想要独角兽"。但没法把"我想要茶"改成"我想要雨"- 语法毫无意义,规定句子结构的一系列规则叫语法,英语有语法,所有编程语言也都有语法。

a=5 是一个编程语言语句,意思是创建一个叫 a 的变量,把数字 5 放里面。这叫"赋值语句",把一个值赋给一个变量。为了表达更复杂的含义,需要更多语句,比如 a=5 、 b=10 、c=a+b,意思是,变量 a 设为5,变量 b 设为10,把 a 和 b 加起来,把结果 15 放进变量 c。注意,变量名可以随意取,除了 a b c,也可以叫苹果、梨、水果,计算机不在乎你取什么名,只要不重名就行。当然取名最好还是有点意义,方便别人读懂。

程序由一个个指令组成,有点像菜谱:烧水、加面,等10分钟,捞出来就可以吃了。程序也是这样,从第一条语句开始,一句一句运行到结尾,刚才我们只是把两个数字加在一起。

我们来做一款游戏吧,当然,现在这个学习阶段来编写一整个游戏还太早了,所以我们只写一小段一小段的代码,来讲解一些基础知识。假设我们在写一款老派街机游戏:Grace Hopper 拍虫子。阻止虫子飞进计算机造成故障,关卡越高,虫子越多,Grace 要在虫子损坏继电器之前抓住虫子。好消息是  她有几个备用继电器。

开始编写时,我们需要一些值 来保存游戏数据,比如当前关卡数、分数、剩余虫子数、Grace 还剩几个备用继电器,所以我们要"初始化"变量,"初始化"的意思是设置最开始的值。关卡=1,分数=0,虫子数=5,备用继电器=4,玩家名=Andre。

02

条件 if-then-else


为了做成交互式游戏,程序的执行顺序要更灵活,不只是从上到下执行,因此用 "控制流语句"。控制流语句有好几种,最常见的是 if 语句,可以想成是 "如果 X 为真,那么执行 Y"。用英语举例就是 "如果累了, 就去喝茶",如果 "累了" 为真,就去喝茶,如果 "累了" 为假,就不喝茶。

if 语句就像岔路口,走哪条路  取决于 "表达式" 的真假,因此这些表达式又叫 "条件语句"。在大多数编程语言中,if 语句看起来像这样:if [条件], then [一些代码],结束 if 语句。比如,if [第一关],then [分数设为0] ,因为玩家才刚开始游戏,同时把虫子数设为 1,让游戏简单些。注意, 依赖于 if 条件的代码,要放在 IF 和 END IF 之间。

当然,条件表达式 可以改成别的,比如:"分数 >10" 或者 "虫子数 <1",if 还可以和 else 结合使用,条件为假会执行 else 里的代码。如果不是第1关,else 里的指令就会被执行。Grace 要抓的虫子数,是当前关卡数 * 3,所以第 2 关有 6 个虫子,第 3 关有 9 个虫子,以此类推。else 中没有改分数,所以 Grace 的分数不会变。

这里列了一些热门编程语言  if-then-else 的具体语法,具体语法略有不同,但主体结构一样。

03

while 循环


if 语句 根据条件执行一次,如果希望根据条件执行多次,需要"条件循环"。比如 while 语句,也叫 "while 循环",当 while 条件为真,代码会重复执行。不管是哪种编程语言,结构都是这样。

假设到达一定分数会冒出一个同事,给 Grace 补充继电器,把继电器补满到最大数 4 个,我们可以用 while 语句来做,来过一遍代码,假设同事入场时, Grace 只剩一个继电器,当执行 while 循环,第一件事是检查条件,继电器数量<4?,继电器数量现在是1,所以是真,进入循环。碰到这一行:继电器数量=继电器数量+1,看起来有点怪,变量的赋值用到了自己。

我们讲下这个,总是从等号右边开始,"继电器数量+1" 是多少?当前值是1,所以 1+1=2。结果存到"继电器数量",覆盖旧的值,所以现在继电器数量是 2。

现在到了结尾,跳回开始点。和之前一样,先判断条件,看要不要进入循环。

继电器数量<4?是,继电器数量是2,所以再次进入循环。2+1=3,3 存入"继电器数量",

回到开头,3<4?是!进入循环,3+1=4。4 存入"继电器数量"

回到开头,4<4? 不!现在条件为假,退出循环,执行后面的代码

while 循环就是这样运作的!

04

for 循环


另一种常见的叫 "for 循环",不判断条件,判断次数,会循环特定次数,现在放些真正的值进去,例子会循环10次,因为设了变量 i 从 1 开始,一直到 10。for 的特点是,每次结束, i 会 +1,当 i 等于10,就知道循环了10次,然后退出。


这节我们讲了编程所要用的基本元素,语句和语法,if-then-else,while,for,我们平时写的程序,都是有这些基本元素组成的。


下一节,会讲“函数”


相关阅读:

 

  1. 最早期编程

  2. 二进制如何变成汇编语言


程序员成长充电站

长按扫码关注,每天五分钟学习计算机最基础的知识和原理