根据希赛相关视频课程汇总整理而成,个人笔记,仅供参考。考点偏向于通用程序语言的基础概念。
程序语言基础概念
程序设计语言:
①低级语言
- 机器语言
- 汇编语言
汇编语言:指令语句/伪指令语句/宏指令语句
②高级语言
- Fotrane语言(科学计算,执行效率高)
- Pascal语言(为教学而开发,表达能力强,Delphi)
- C语言(指针操作能力强,高效)
- Lisp语言(函数式程序语言,符号处理,人工智能)
- C++语言(面向对象,高效)
- Java语言(面向对象,中间代码,跨平台)
- C#语言(面向对象,中间代码,Net)
- Prolog语言(程序型逻辑语言,逻辑推理,简洁性,表达能力,数据库和专家系统)
- Python语言(一种面向对象的脚本语言)
- PHP语言(脚本语言,比CGI或者Perl更快速地执行动态网页)
- HTML语言(脚本语言,静态网页)
- ASP、JSP、Ruby(面向对象的脚本语言)、Perl、javascript
*编译与解释
动态类型语言(动态绑定)
脚本语言,如PHP,javascript、ASP、JSP、PHP等等
静态类型语言(静态绑定)
C语言、Pascal、C++等等
使用变量前必须确定其类型
解释程序也就是源程序(.html)
在编译方式下,用户程序运行的速度更快(不需要边解析边执行)
编译是将高级语言源代码转换成目标代码的过程
编译过程
①中间代码生成和代码优化并不是每个编译器都必需的;
②若程序在运行时陷入死循环,则该情况属于(动态的语义错误)
将高级语言程序翻译为机器语言程序的过程中常引入中间代码,好处是(有利于进行与机器无关的优化处理)
程序语言的基本成分
表达式
前缀表达式(+ab)
中缀表达式(a+b)
后缀表达式(ab+) 逆波兰式 栈
解题思路:先构造二叉树,再后序遍历加括号,再移动运算符
传值与传址
传值调用(有去无回,改变xy,不改变ab)
传址调用(有去有回)