Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >编程语言的基本元素

编程语言的基本元素

作者头像
硬核编程
发布于 2019-08-19 13:30:41
发布于 2019-08-19 13:30:41
9530
举报

转载请联系授权

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,我们平时写的程序,都是有这些基本元素组成的。

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

本文分享自 程序员成长充电站 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
函数的强大之处
接着上讲的游戏,我们可以用任何数字,10, 42, 10 亿,假设每关结束后 给玩家一些奖励分,奖励分多少取决于 继电器剩余数量。随着难度增加,剩下继电器会越来越难,因此奖励分会根据当前关卡数,指数级增长。我们要写一小段代码来算指数,指数是一个数乘自己,乘特定次数。用循环来实现简直完美!
硬核编程
2019/08/19
3560
哪种语言最适合 PLC 编程?
当您学习 PLC 编程时,您需要了解五种常用的编程语言:梯形图语言(LD)、结构化文本语言(ST)、顺序功能流程图语言(SFC)、功能模块图语言(FBD)和指令表语言(IL)。这些语言都可以用来编写正确的程序代码,以控制机器的运行。
剑指工控
2023/10/24
6730
哪种语言最适合 PLC 编程?
探秘仓颉编程语言:使用体验与功能剖析
想要踏上仓颉编程之旅,第一步便是搭建开发环境。目前,我们可以选择 HarmonyOS DevEco Studio 或者 VsCode 进行开发,不过都需要安装仓颉插件。
倔强的石头
2025/01/02
3330
探秘仓颉编程语言:使用体验与功能剖析
c语言从入门到实战——VS2022实用调试技巧
Visual Studio是集成开发环境,其内置了多种调试工具和技巧帮助开发人员在开发过程中解决问题。以下是一些VS实用调试技巧的简介:
鲜于言悠
2024/03/20
4050
c语言从入门到实战——VS2022实用调试技巧
C语言编程中复杂的循环结构,你被循环晕了吗?
当一段代码需要执行多次时,您可能会遇到这种情况。通常,语句按顺序执行:首先执行函数中的第一个语句,然后执行第二个语句,依此类推。
猫咪爱分享
2018/08/07
1.7K0
信不信让你1天学会一门编程语言
先声明一下,这篇很可能不是标题党,是一篇真的能够让你在一小时之内读完并学会这个新的编程语言——Lua,它的中文读音非常简单,就是把它的名称当汉语拼音去读,所以我们一般称他为"噜呃"("呃"小点声,最好是轻声),怎么说呢,这门编程语言是一个脚本语言,脚本语言向来都非常简单,Shell、Python都是如此,当然本次的Lua也不例外。
闫同学
2024/06/30
5092
信不信让你1天学会一门编程语言
C语言新手小白详细教程(3)选择语句
从这三张图我们可以清晰看出,在C语言中,程序的执行结构主要分为三种:顺序结构、分支结构和循环结构。这三种结构是编程语言设计的基础,它们共同构成了程序的基本执行流程。
意疏
2024/11/25
1260
C语言新手小白详细教程(3)选择语句
【C语言程序设计——循环程序设计】枚举法换硬币(头歌实践教学平台习题)【合集】
基本原理:for循环是一种常用的循环结构,它允许您指定一个初始化表达式、一个循环条件和一个更新表达式。语法格式为for(初始化表达式; 循环条件; 更新表达式)。初始化表达式在循环开始时执行一次,用于初始化循环变量。循环条件在每次循环迭代开始时进行检查,如果为真,则执行循环体中的代码。更新表达式在每次循环体执行完后执行,用于更新循环变量。
Rossy Yan
2025/01/13
480
【C语言程序设计——循环程序设计】枚举法换硬币(头歌实践教学平台习题)【合集】
【C语言】调试技巧
各位小伙伴们大家好,我是泽奀( ̄o ̄) . 相信大家在编写C程序中会遇到很多代码的Bug.所以本篇博客就带大家如何调试C的技巧,这样在遇到有错误的代码,也不必惊慌,只需调试下,Bug就再也不会存在了哈哈哈~隔。 
謓泽
2022/12/12
8690
一些中文编程语言
易语言可以说是中文编程语言的老大,拥有独立的编译器。易语言并不是把现存的编程工具进行表面汉化而成的,和其他国外语言相比," 易语言" 最大的不同是彻底中文化,且拥有自下而上的全部自主知识产权。
四火
2022/07/15
2K0
一些中文编程语言
初识 C# 编程语言
  .NET是一种用于构建多种应用的免费开源开发平台,可以使用多种语言,编辑器和库开发Web应用、Web API和微服务、云中的无服务器函数、云原生应用、移动应用、桌面应用、Windows WPF、Windows窗体、通用 Windows平台 (UWP)、游戏、物联网 (IoT)、机器学习、控制台应用、Windows服务。
小孙同学
2022/01/14
21.3K0
初识 C# 编程语言
C语言初阶:十一.代码调试技巧
https://blog.csdn.net/2303_80170533?type=blog ❤文章所属专栏
折枝寄北
2024/11/19
1490
C语言初阶:十一.代码调试技巧
【C语言】VS调试
bug本意是昆虫”或“虫子”,现在一般是指在电脑系统或程序中,隐藏着的一些未被发现的缺陷或问题,简称程序漏洞。
zxctscl
2024/09/28
1170
【C语言】VS调试
VS实用调试技巧
bug本意是“昆虫”或“虫子”,现在⼀般是指在电脑系统或程序中,隐藏着的⼀些未被发现的缺陷或问题,简称程序漏洞。 “Bug” 的创始人格蕾丝·赫柏(Grace Murray Hopper),她是⼀位为美国海军工作的电脑专家,1947年9月9日,格蕾丝·赫柏对Harvard Mark II设置好17000个继电器进行编程后,技术⼈员正在进行整机运行时,它突然停止了工作。于是他们爬上去找原因,发现这台巨⼤的计算机内部⼀组继电器的触点之间有⼀只⻜蛾,这显然是由于⻜蛾受光和热的吸引,⻜到了触点上,然后被⾼电压击死。所以在报告中,赫柏⽤胶条贴上⻜蛾,并把“bug”来表⽰“⼀个在电脑程序⾥的错误”,“Bug”这个说法⼀直沿Bug到今天。
用户11290673
2024/09/25
940
VS实用调试技巧
lua 脚本语言 : 基础到高级语法
Lua,它的中文读音非常简单,就是把它的名称当汉语拼音去读,所以我们一般称他为"噜呃"("呃"小点声,最好是轻声),怎么说呢,这门编程语言是一个脚本语言,脚本语言向来都非常简单,Shell、Python都是如此,当然本次的Lua也不例外
公众号:码到三十五
2024/07/15
4430
一文带你入门仓颉编程语言(上)
2024年6月21日下午,华为终端BG软件部总裁龚体先生在华为开发者大会主题演讲《鸿蒙原生应用,全新出发!》中向全球开发者介绍了华为自研仓颉编程语言,并发布了HarmonyOS NEXT仓颉语言开发者预览版。这是华为首次公开发布仓颉编程语言。
倔强的石头
2025/01/02
1.8K0
一文带你入门仓颉编程语言(上)
应用软件开发的基础知识-编程语言的基本特性
从汇编到系统语言 C 到 java python js 等高级语言,从单片机版应用到运行在操作系统之上的应用,这些知识都是通用的。开发人员可以根据自己的需求和目标选择合适的知识来学习。
行者深蓝
2023/10/30
5530
bash脚本编程
编程语言: 编译器,解释器 编程语言:机器语言,汇编语言、高级语言 静态语言:编译型语言 强类型(变量) 关键字: 事先转换成可执行格式 c,c++,JAVA,C# 动态语言:解释型语言 on the fly 弱类型 边解释变执行 php,shell,python,perl(面向过程) ​ 面向对象:shell,c 面向对象:JAVA,Python,perl,C++ ​ bash:脚本解释器 编程能力: 脚本编程 变量:内存空间,命名的内存空间(可以回收) 内存:编址的存储
若与
2018/07/04
1.3K0
VS实用调试技巧
bug本意是“昆虫”或“虫子”,现在一般是指在电脑系统或程序中,隐藏着的⼀些未被发现的缺陷或 问题,简称程序漏洞。
用户11290648
2024/09/25
1080
VS实用调试技巧
Perl语言程序应用(资料汇总版)
为了更加方便、快捷的实现某些功能,Perl拥有很多其他的控制结构,这些结构也许不是必需的,但可以使程序更加简洁和具有逻辑性。
SYSU星空
2022/05/05
3.7K0
Perl语言程序应用(资料汇总版)
相关推荐
函数的强大之处
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档