软考 – 软件设计师 – 二轮复习(2) – 程序设计语言(持续更新)
文章目录
- 软考 -- 软件设计师 -- 二轮复习(2) -- 程序设计语言(持续更新)
- 前言
- 一、编译、解释、基本控制结构
- 二、数据类型
- 三、变量和常量、逻辑表达式(短路:&&、||、!)
- 四、传值调用与传引用调用
- 五、符号表
- 六、词法、语句、语义 、目标代码生成
- 七、程序异常和错误
- 八、中间代码
- 九、正规式
- 十、xxx
- 十一、xxx
前言
考试时间:每年5月、11月,软件设计师每年都会开考。
考试条件:三不限
考试形式: 一共两门
计算机于软件工程基本知识--120分钟--机考--选择题--75分(45及格)
软件设计--120分钟--机考--简答题(4道必做,1道二选一做)--75分(45及格)
两门都得一次性及格才算通过,一共4小时考试时间。
推荐博客:http://t.csdnimg.cn/5VzY5
推荐bilibli博主:zst_2001
本博客二轮复习资源免费下载:https://download.csdn.net/download/weixin_44399264/89687484
一、编译、解释、基本控制结构
二、数据类型
数据类型的作用:
1、便于为数据合理分配存储单元;
2、便于对参与表达式计算的数据对象进行检查;
3、便于规定数据对象的取值范围及能够进行的运算。
三、变量和常量、逻辑表达式(短路:&&、||、!)
常量不可以修改,没有分配存储单元
变量可以修改,有分配存储单元
四、传值调用与传引用调用
传值调用:
1、将【实参】的【值】传递给【形参】,【实参】可以是【变量、常量和表达式】;
2、【不可以】实现形参和实参间【双向传递】数据的效果。
传引用(地址)调用:
1、将【实参】的【地址】传递给【形参】,【形参必须有地址】,【实参】不能是【常量(值),表达式】。因为只有变量才会分配
存储单元;
2、【可以】实现形参和实参间【双向传递】数据的效果,即改变形参的值同时也改变了实参的值。
1、采用引用的方式,则a(f) = x的值;
2、先走f()代码,a = 5,c=g(a);
3、g(a)中,m=x(址)*m = 10;x(址) = a(f) = m-1 = 9;c = x(址) + m = 19;
4、则可知a(f) = 9,c = 19,则值为28,选择D
错误原因:看到形式参数就以为是按值传递,没看题目
五、符号表
符号表: 不断收集、记录和使用源程序中一些相关符号的类型和特征等信息,并将其存入符号表中。
记录源程序中各个字符的必要信息,以辅助语义的正确性检查和代码生成。
六、词法、语句、语义 、目标代码生成
词法分析:
输入:源程序;
输出:记号流
词法分析阶段的主要作用是:分析构成【程序的字符】;
语法分析:
输入:记号流;
输出:语法树(分析树)
语法分析阶段可以发现程序中所有的语法错误
语法分析阶段的主要作用是:对各条【语句的结构】进行合法性分析;
语义分析:
输入:语法树(分析树)
语义分析阶段的主要作用是进行【类型分析】和【检查】
【语法分析阶段】【可以发现】程序中的所有【语法错误】
【语义分析阶段】【不能发现】程序中【所有的语义错误】
【语义分析阶段可以发现静态语义错误】
【不能发现动态语义错误】,【动态语义错误运行时才能发现】
目标代码生成:
目标代码生成阶段的工作与具体的机器【密切相关】
寄存器的分配工作处于【目标代码生成阶段】
七、程序异常和错误
八、中间代码
知识点:
1、常见的中间代码有:【后缀式、三地址码、三元式、四元式和树(图)】等;
2、中间代码【与具体的机器无关】(不依赖具体的机器);
3、可以将不同的高级程序语言翻译成同一种中间代码,【中间代码可以跨平台】;
4、因为与具体的机器无关,使用中间代码有利于进行与【机器无关的优化处理】和【提高编译程序的可移植性】。