软考-初级-程序员-易混淆知识点总结

《计算机体系结构》

1、原码、反码、补码的运算

  • 原码:最高位是符号位,其余低位表示数值的绝对值(0 表示正数,1 表示负数)

  • 反码:正数的反码与原码相同,负数的反码是其绝对值按位取反(符号位不变)

  • 补码:正数的补码与原码相同,负数的补码是其反码末位加 1(符号位不变)

  • 移码:补码的符号位按位取反

        区别:正数的原、反、补码不变,而负数的反码是在原码不改变符号位的基础上,其余位取反,补码则是在反码的末位加 1。正数和负数的移码都是将符号位取反。

2、寻址方式的对比

  • 立即寻址方式

       特点:操作数直接在指令中,速度快,灵活性差

  • 直接寻址方式

        特点:指令中存放的是操作数的地址

  • 间接寻址方式

        特点:指令中存放了一个地址,这个地址对应的内容是操作数的地址。

  • 寄存器寻址方式

        特点:寄存器存放操作数

  • 寄存器间接寻址方式

        特点:寄存器内存放的是操作数的地址

        区别:五种寻址方式中,最为特别的是立即寻址方式,是将操作数直接存放在指令中,它也是寻址最快的一种寻址方式。其他的四项我们可以两两进行对比,将(直接寻址和间接寻址)与(寄存器寻址和寄存器间接寻址)进行比较,直接寻址和间接寻址:前者是指令存放的是地址,需要通过地址找到操作数,而后者是先通过指令的地址找到操作数地址,再通过操作数地址找到操作数,相当于多了一遍程序;寄存器寻址和寄存器间接寻址亦是如此,前者比较的是寄存器存放操作数,而后者表示为寄存器存放操作数地址,再通过操作数地址找操作数。

3、数据传输方式

  • 程序控制(查询)方式:分为无条件传送和程序查询方式两种。方法简单,硬件开销小,但I/O 能力不高,严重影响 CPU 的利用率。

  • 程序中断方式:与程序控制方式相比,中断方式因为 CPU 无需等待而提高了传输请求的响应速度。

  • DMA 方式:DMA 方式是为了在主存与外设之间实现高速、批量数据交换而设置的。DMA 方式比程序控制方式与中断方式都高效。

        区别:三种数据传输方式中,其中能够与 CPU 并行的是程序中断方式和 DMA方式,严重影响 CPU 利用率的为程序查询方式。

4、可靠性指标

平均无故障时间 → (MTTF)

平均故障修复时间 → (MTTR)

平均故障间隔时间 → (MTBF)

  • 可维护性可以用MTTR/(1+MTTR)来度量

  • 可靠性可以用MTTF/(1+MTTF)来度量。

  • 可用性可以用MTBF/(1+MTBF)来度量。

        区别:可靠性、可用性和可维护性,需要对应前面三者的名词解释,与修复有关的 MTTR 是可维护性;与整体没有故障的 MTBF 是可用性,没有故障代表系统可用;而与故障间隔 MTBF 有关的是可靠性。

《数据结构》

1、顺序表与链表对比

性能类别

具体项目

顺序存储

链式存储

空间性能

存储密度

=1,更优

<1,

容量分配

事先确定

动态变化,优

时间性能

查找运算

O(n)

O(n)

读运算

O(1),更优

O(n)

插入运算

O(n)

O(1)

删除运算

O(n)

O(1)

        区别:对于顺序存储而言呢,每个元素都是顺序存放的,所以查找运算(需要一个一个进行查询)、插入和删除(需要前移或后移元素)都为 On),而对于读运算,直接根据其数组位置找到其值为常量级的 O1);链式存储的情况,内存不一定连续,但是都得用链式来进行连接,对于查找运算和读运算呢,都需要一个一个跟着链式进行搜寻,对应时间复杂度为 On),而对于插入和删除运算只是改变两者之间链式的指向,为 O1)。

2、串的概念

  • 空串与空格串

        空串:长度为零,不包含任何字符。

        空格串:由一个或多个空格组成的串。虽然空格是一个空白字符,但它也是一个字符,在计算串长度时要将其计算在内。

  • 子串与子序列

        子串:由串中任意长度的连续字符构成的序列称为子串。含有子串的串称为主串。子串在主串中的位置是指子串首次出现时,该子串的第一个字符在主串中的位置。空串是任意串的子串。

        子序列:一个串的“子序列”(subsequence)是将这个串中的一些字符提取出来得到一个新串,并且不改变它们的相对位置关系。

        区别:空串是长度为 0 的字符串,而空格串是由空格组成的串,空格也属于一个字符;子串和子序列,子串要求连续,而子序列要求不改变相对位置即可,举例:ABC 的子串为 ABBC,而子序列可以为 AC

3、树的遍历

  • 前序遍历(根左右)
  • 中序遍历(左根右)
  • 后序遍历(左右根)
  • 层次遍历(从上到下,从左到右)

        区别:每个遍历的情况结构都不一样,首先对于前中后序遍历而言呢,所谓的前中后的序就是对根的前中后,左右位置不变,根分别遍布在前、中、后。层次遍历就是按照严格的遍历,从上到下,从左到右。

4、图的遍历

深度优先:

  1. 首先访问出发顶点V
  2. 依次从V 出发搜索V 的任意一个邻接点 W;

  3. 若W 未访问过,则从该点出发继续深度优先遍历;

它类似于树的前序遍历。

广度优先:

  1. 首先访问出发顶点V;

  2. 然后访问与顶点V 邻接的全部未 访问顶点 W、X、Y…;

  3. 然后再依次访问W、X、Y…邻接的未访问的顶点。

        区别:一个在于不断的去遍历临近的 1 个结点,直达临近结点遍历完成,才会有返回的过程。而另外一个呢,一次性遍历该结点的所有临近结点,依次类 推。回溯法对应深度优先,而分支限界法对应广度优先。

《多媒体基础知识》

1、多媒体的分类

  • 感觉媒体:直接用于人的感觉器官,使人产生直接感觉的媒体。

  • 表示媒体:传输感觉媒体的中介媒体,用于数据交换的编码。

  • 表现媒体:进行信息输入输出的媒体。

  • 存储媒体:用于存储表示媒体的物理介质。传输媒体:传输表示媒体的物理介质。

        区别:感觉媒体表示人的感觉的媒体,比方说:音乐(听觉),电视(视觉);表示媒体表示数据交换编码;表现媒体表示输入和输出设备,例如:打印机,鼠标,键盘等;而存储媒体用来存储数据的,如:内存;传输媒体用来传输数据,如:光纤。

2、图形和图像

图形(矢量图):基本元素为图元,用数学的方式来描述一幅图,放大、缩小、扭曲等变换后不会损失画面细节。存储空间小。(用于线框型图画、工程制图和美术字等)

图像(位图):基本元素为像素,用若干二进制位来指定像素的颜色、亮度和属性。放大后会失真。存储空间大,需进行压缩。主要参数有分辨率、色彩模 式、颜色深度。

        区别:图形是数学元素构成的一幅矢量图,如:三角形、圆形、矩形等;而图像呢则表示二进制构成像素的颜色,比方说:像素分辨率、颜色深度、色彩模式等等。

《程序设计语言》

1、编译程序与解释程序

编译型语言

解释型语言

共同点

高级语言程序

不同点

词法分析、语法分析、语义分析

翻译程序

编译器

解释器

是否生成目标代码

生成

不会生成

目标程序直接执行

直接执行

边解释边执行

翻译是否参与

不参与执行

解释器参与执行

执行效率

灵活性与可移植性

灵活性差,

可移植性差

灵活性好,可移植性

        区别:对应编译型语言而言,是需要生成目标代码的,执行效率高,由目标代码直接执行;而解释型语言需要生成中间代码,利用中间代码边解释边执行,执行效率低,但是能够适应不同的环境。

2、传值和传址调用

传递方式 主要特点

传值调用

形参取的是实参的值,形参的改变不会导致调

用点所传的实参的值发生改变

传址调用

形参取的是实参的地址,即相当于实参存储单元的地址引用,因此其值的改变同时就改变了

实参的值

        区别:传值调用形参不改变实参的值,传址调用形参改变实参的值。

《软件工程》

1、内聚性

内聚类型

描述

功能内聚

完成一个单一功能,各个部分协同工作,缺一不可

顺序内聚

处理元素相关,而且必须顺序执行

通信内聚

所有处理元素集中在一个数据结构的区域上

过程内聚

处理元素相关,而且必须按特定的次序执行

瞬时内聚

所包含的任务必须在同一时间间隔内执行

逻辑内聚

完成逻辑上相关的一组任务

偶然内聚

完成一组没有关系或松散关系的任务

        区别:在这里比较难以区别的是顺序内聚和过程内聚。顺序内聚强调处理相关元素,顺序执行;而过程内聚强调特定的次序。顺序执行表示了前面一步的输出是后面一步的输入,类似一条直线;而过程内聚按照特定的次序,却不一定是一条直线的输入,而是多个输出形式,只需要按照路线的特定次序即可。其余内聚可按照名词结合关键词进行记忆。

2、软件测试过程

  • 单元测试

模块编写完成且无编译错误后进行。由程序员对自己编写的模块自行测试,主要发现编程和详细设计中产生的错误,测试计划应该在详细设计阶段制 定。

  • 集成测试

把模块按系统设计说明书的要求组合起来进行测试。对由各模块组装而成的程序进行测试,主要目标是发现模块间的接口和通信问题。

  • 确认测试

检查软件的功能、性能和其他特征是否与用户的需求一致,它是以需求规格说明书作为依据的测试,软件确认测试首先要进行有效性测试及软件配置审查,然后进行验收测试。

  • 系统测试

把软件放在实际的硬件和网络环境中进行测试,主要测试软件的非功能需求和质量属性是否得到满足。

        区别:单元测试强调单个模块内部的测试,集成测试强调将各个模块组合之后的整体进行测试,确认测试相当于对用户的需求进行确认,测试该系统是否满足用户需求,而系统测试则是对系统功能进行测试,判断该系统是否稳定等其他因素。

3、软件维护类型

改正性维护:是指改正正在系统开发阶段已发生而系统测试阶段尚未发现的错误。

适应性维护:适应性维护是指使应用软件适应信息技术变化和管理需求变化而进行的修改。

完善性维护:这是为扩充功能和改善性能而进行的修改,主要是指对已有的软件系统增加一些在系统分析和设计阶段中没有规定的功能与性能特征。

预防性维护:为了改进应用软件的可靠性和可维护性,为了适应未来的软/硬件变化,应主动增加预防性的新功能。

        区别:改正性维护强调改正错误;适应性维护强调适应环境;完善性维护强调完善功能;预防性维护强调提前预防。

《面向对象技术》

1、UML 图中关系

  • 依赖关系:一个事物发生变化影响另一个事物。
  • 泛化关系:特殊/一般关系
  • 关联关系:描述了一组链,链是对象之间的连接。
  • 聚合关系:整体与部分生命周期不同。
  • 组合关系:整体与部分生命周期相同。
  • 实现关系:接口与类之间的关系

 区别:

依赖关系:例如:y=x+1,我们就说 y 依赖于 xy 的值随着 x 的值变化而变化。

泛化关系:父子关系,一般与特殊的关系,例如动物类和猫类。关联关系:两者之间用链进行连接,一般表示两个类进行通信。

聚合和组合关系:强调部分与整体关系,前者强调生命周期不同,后者强调生命周期相同,比如:大雁和翅膀属于组合关系,大雁和雁群属于聚合关系。

实现关系:是接口和类的关系。

《数据库系统》

1、ER 模型的属性

  • 简单属性和复合属性(如家庭住址,可以细分为更小的部分)
  • 单值属性和多值属性(一个属性对应的值的个数,职工亲属、电话)
  • Null 属性:无意义或不知道
  • 派生属性:可以通过其他属性得知(如参加工作时间和工作年限)

        区别:简单属性和复合属性相对,简单属性表示该属性是不可以再分的,而复合属性表示该属性可以继续再分;单值属性和多值属性相对,单值属性表示一个属性对应一个值,而多值属性表示一个属性对应多个值;NULL 属性表示没有意义的属性;派生属性表示可以通过其他属性计算得知,是一个累赘的属性,比方说:我可以通过你的出生年月计算你的年龄,那么年龄就是一个派生属 性。

《知识产权与标准化》

1、知识产权人确定

情况说明

判断说明

归属

作品软件

委托

开发

有合同约定,著作权归委托方

委托方

合同中未约定著作权归属

创作方

合作开发

只进行组织、提供咨询意见、物质条件

或者进行其他辅助工作

不享有著

作权

共同创作的

共同享有

商标

谁先申请谁拥有(除知名商标的非法抢注)同时申请,则根据谁先使用(需提供证据)

无法提供证据,协商归属,无效时使用抽签(但不

可不确定)

专利

谁先申请谁拥有

同时申请则协商归属,但不能够同时驳回双方的专利申请

        区别:委托开发与合作开发:委托开发有两种情况,合同约定说归属谁就归属谁,否则归属创作方,合作开发共同享有。

商标权:谁先申请谁拥有,无法协商时,抽签规定

专利权:谁先申请谁拥有(一般具体到某一天),同时申请就协商。

《计算机网络与信息安全》

1、对称加密、非对称加密和数字签名

对称加密技术:对称加密:Ke=Kd;

特点: 1、加密强度不高,但效率高; 2、密钥分发困难。

常见对称密钥(共享密钥)加密算法:DES、AES、 3DES(三重DES)、 RC- 5、IDEA 算法。

非对称加密技术:Ke ≠ Kd;密钥必须成对使用(公钥加密,相应的私钥解密)。

特点:加密速度慢,但强度高。

常见非对称密钥(公开密钥)加密算法: RSA、DSA、ECC

数字签名:发送者的私钥签名消息摘要,发送者的公钥验证的过程,然后将经过签名的消息摘要和没有经过签名的消息摘要进行对比,如果两者之间消息摘要相同,说明消息没有泄露。

        区别:三者算法强调,对称加密是加密和解密共用一个密钥非对称加密强调接收者的公钥加密,接收者的私钥解密数字签名是发送者公钥签名,发送者私钥验证的过程。

《Office 操作应用》

1、单元格引用

相对引用:公式在复制或移动时,公式和函数会根据移动的位置自动调节公式中引用单元格的地址,如 A1、B1、C1 等。

绝对引用:公式在复制或移动时,公式和函数中引用单元格的地址是固定不变的,公式的结果固定不变。需要在行号和列号前均加“$”符号。如$A$1 或$B$1等。

混合引用:公式在复制或移动时,公式中的相对地址部分会随位置变化,而绝对地址部分仍不变化。此时在单元格地址的行号或列号前加上“$”符号。如$A1 或B$1。

        区别:相对引用随着公式位置改变而改变,绝对引用在引用过程中单元格地址不发生变化,混合引用是指相对和绝对混用,列的位置是绝对的,行的位置是相对的或者列的位置是相对的,行的位置是绝对的。

你可能感兴趣的:(软考复习,#,初级程序员,职场和发展)