1、脚本语言:python
2、面向对象语言:C++,C#,JAVA,Smalltalk
3、产生独立目标程序:编译器
不产生独立目标程序:解释器
4、编译器工作阶段
源程序->词法分析->语法分析->语义分析->中间代码生成->代码优化->目标代码生成->目标代码
词法错误:非法字符、关键字或标识符拼写错误
语法错误:语法结构出错,if...end if不匹配,缺分号
语义错误:死循环、零除数,其他逻辑错误
5、正规表达式和正规集
1 * 表示连接,可以省略 2 ab 表示字符串ab构成的集合 3 a|b 表示字符串a、b构成的集合 4 a* 表示由0个或多个a构成的集合 5 (a|b)* 表示所有字符a和b构成的串的集合 6 a(a|b)* 表示以a为首字符的a、b的集合 7 (a|b)*abb 表示以abb结尾的a、b的字符串的集合
6、表达式
前缀表达式:(+ab)运算符在操作数前
中缀表达式:(a+b)
后缀表达式:(ab-)逆波兰式,栈
例子:表达式(a-b)*(c+5)的后缀式是:ab-c5+*
第一步,按算数优先级加括号 [(a-b)*(c+5)]
第二步,将运算符写在括号外 [(ab)-(c5)+]*,擦括号即ab-c5+*
7、数据结构与算法
对于二维数组a[m][n],则a[i][j]的存储地址,按行存储为:a+(i*n+j)*len,按列存储为:a+(j*m+i)*len,下标1开始,i和j要减一,下标0开始不需要减一。
数据字典包括:数据流、数据项、数据存储、基本加工
8、多媒体基础知识
色泽三要素:亮度、色调、色饱和度
彩色空间:RGB彩色空间
声音的带宽:人耳 20Hz-20KHz
乐器 20Hz-20KHz
说话 300-3400Hz
采样频率应为声音最高频率的两倍
影响质量的三个要素:采样频率、量化精度、声道数
7、耦合
一般来说,模块之间的耦合有七种类型,根据耦合性从低到高为非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合和内容耦合。
数据耦合:若一个模块访问另一个模块时,彼此之间是通过数据参数(不是控制参数,公共数据结构或外部变量)来交换输入、输出信息。
标记耦合:模块通过参数表传递记录信息,两个以上的模块都需要其余某-数据结构子结构时,不使用全局变星方式,而是使用记录传递的方式。
控制耦合: 一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能。
内容耦合: 一个模块直接访问另一个模块的内部数据,或者通过非正常入口转入另一个模块内部,或者两个模块有一部分程序代码重叠, 又或者一个模块有多种入口。
8、排序算法
1、直接插入:O(n^2)稳定
2、冒泡排序:O(n^2)稳定
3、直接选择:O(n^2)不稳定
4、堆排序:O(nlog2n)不稳定
5、快速排序:O(nlog2n)不稳定
6、归并排序:O(nlog2n)稳定
7、基数排序:O(d(r+n))稳定