3.程序语言基础知识

主要议题:
在这里插入图片描述
掌握高级语言、低级语言的特点和应用场景;
程序编译,记词法、文法规则;
表达式主要考察中缀表达式和后缀表达式之间的相互转换;
传值与传址,分清特点,结合程序代码求值;

1.程序设计语言

机器语言:采用二进制方式编写的程序;
缺点:效率差(人手输入)、易出错;
优点:机器可以直接运行(运行效率高);
汇编语言:使用单词或字母缩写代替相关的指令;
汇编程序:用于写汇编语言的软件;
汇编语言程序:使用汇编语言写的代码;
在这里插入图片描述
高级语言种类较多,特点记下就行:
在这里插入图片描述
但凡产生目标程序,是编译器;比如.exe文件直接用就行,不需要它的源代码;
解释器不产生目标程序;需要源代码或者中间代码+解释器一起运行;

语义:语句运行时的含义;分为静态语义和动态语义;
语用:程序与用户之间的关系;

区分静态/动态类型语言:定义变量时,是否要明确它的数据类型;
在这里插入图片描述

2.程序编译

部分编译器没有中间代码生成、代码优化的过程,但是所有编译器都有词法分析、语法分析、语义分析、目标代码生成四个过程;
词法分析:从左往右扫描,识别一个个单词;
语法分析:查看代码是否符合语法规则;
语义分析:在编译过程中,只检查静态语义,即看看表达式的数据类型是否匹配,如int 1.0;错误;而动态语义是需要运行程序才能明确含义的;
符号表管理、出错处理,贯穿整个编译过程;
零除数、死循环都属于动态语义错误;
在这里插入图片描述
词法分析的语法,称为正规表达式;
全部掌握难度较大,只记住以下即可;
a|b 有a或b构成的字符串的集合;
(a|b)*:如空、a、b、aba、ab等;
在这里插入图片描述

自动机有两种类型,一种是确定的,一种是不确定的;
输入值后,从一个状态到另一个状态,则是确定的,反之则是不确定的;
考题一般要求将自动机转成正规式;
在这里插入图片描述

在这里插入图片描述

3.程序控制结构

考下列哪个不是程序控制结构;
在这里插入图片描述
下图仅考一次,看下就行;
在这里插入图片描述

4.表达式

在这里插入图片描述
在这里插入图片描述

5.传值和传址

定义函数时,为形参;
使用函数时,传给函数的值,即为实参;
传值调用会分配新的存储空间,给实际值的副本;
传址调用不会分配新的存储空间;
在这里插入图片描述

  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-玫瑰少年-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值