当前位置:网站首页 > 技术博客 > 正文

计算机二级c语言视频教程



1.指令周期:计算机完成一条指令所花费的时间,指令周期越短指令执行就越快

2.外存储器中的数据要被读入内存储器中才能被cpu读取

3.cpu=运算器+控制器

运算器:对数据进行算数运算和逻辑运算

控制器:对程序规定的指令进行分析,控制并协调输出、输入操作或对内存的访问

4.整数在计算机内用补码存储

5.I/O方式:包括程序查询、程序中断、直接存储器存取、通道控制。

通道控制方式可以做到一个通道控制多台设备与内存进行数据交换,从而减轻了cpu的工作负担,增加了计算机系统的并行程度

6.宽带总线:总线的数据传输率,即单位时间内总线上传输数据的位数,通常用每秒传输信息的字节数来衡量

7.主机=中央处理区(cpu)+主存储器(内存储器)

8.外部设备:围绕主机设置的各种外部设备,例如输入输出设备、外部存储器(辅助存储器)、终端设备

9.终端设备是指用于与计算机系统进行交互设备,它允许用户输入命令和数据,并显示计算机系统的输出结果。常见的终端设备包括以下几种:

(1)键盘:用于输入字符和命令,是最常见的终端设备之一。

(2)鼠标:用于控制光标位置和进行图形界面操作,提供了更直观的交互方式。

(3)显示器:用于显示计算机系统的输出结果,可以是CRT显示器、液晶显示器等不同类型。

(4)打印机:用于将计算机系统的输出结果打印成纸质文档。

(5)扫描仪:用于将纸质文档转换为数字化的电子文件。

(6)触摸屏:结合了显示器和输入设备的功能,用户可以通过触摸屏直接进行操作。

(7)扬声器和耳机:用于播放计算机系统的音频输出。

10.总线按功能层次分为片内总线(芯片内部的总线)、系统总线、通信总线

11.计算机工作的本质:取指令、分析指令、执行指令

12.阻塞态满足相应条件后转为就绪态,进程一旦创建就转为就绪态,运行状态的进程在分配给它的时间片用完后进入就绪态,就绪态的进程一旦分配到cpu就转为运行状态

13.机器周期:cpu读取一个指令字的最短时间,cpu执行一条指令最少需要占用一个机器周期(读取指令需要较长时间所以需要一个机器周期,分析指令和执行指令有时不需要较长时间,故最少需要占用一个)

14.机器周期的同步标准:cpu访问存储器一次所需要的时间

15.当一个进程在运行过程中释放了系统资源后要调用唤醒进程原语(此处是调用同一个进程)

当一个进程在运行过程中释放了系统资源后紧接着进入就绪状态,要调用唤醒原语

16.唤醒原语:把进程从等待队列里移出到就绪队列,并转化为就绪状态(刚释放就紧接着要用,唤醒)

17.冯.诺依曼思想中计算机硬件组成:运算器、控制器、存储器、输入设备、输出设备

18、系统在创建一个进程时要调用创建原语

19.进程调度仅负责对cpu进行分配

20.实时操作系统:对外界数据和数据进行实时反馈,具有快速响应能力。主要分为过程控制系统、信息查询系统、事务处理系统,例如:飞机的飞行控制系统、机器人控制系统

21.动态地址重定位:不要求程序装入连续固定的内存空间,是在程序执行期间运行的,并且允许程序在内存中再次移动,可以部分装入程序运行,便于多个作业共享同一程序

22.静态地址重定位:要求程序必须装入连续固定的内存空间,是在程序执行之前运行的

23.分时操作系统:允许多个联机用户同时使用一台计算机系统进行计算,将cpu的时间划分为时间片分给各个用户、

24.带符号的定点数:正数的原码、反码、补码都相同,

     负数的原码除符号位全部去反—>反码,反码+1—>补码

     偏移码=补码的符号位取反

25.计算机系统=硬件系统+软件系统

      软件系统=系统软件+应用软件

26.计算机的功能取决于硬件系统+软件系统

27.计算机内部只能用二进制表示指令和数据

28.需要将编好的程序和原始数据事先存入存储器中,再启动计算机工作

29.冯.诺依曼计算机结构=存储程序控制的计算机结构

30.高速缓冲存储器——缓存(Cache),用于解决cpu与内存(主存)之间速度不匹配的问题,速度与cpu相当,价格高,容量小

31.虚拟存储器:采用一定的方式将一定的外存模拟成内存,同时对程序进出内存的方式进行管理,从而对主存进行扩展

32.虚拟存储器的空间大小与计算机的地址结构、可用磁盘容量有关

33.cpu不能直接访问内存和各种输入输出设备,需要通过总线来访问

34.cpu的计算器和控制器都有存储器或缓冲区域

35.分布式计算机系统:由多台计算机通过网络互联而成的系统,系统的处理和控制分布在各个计算机上

36.寄存器是高速存储区域,用来存放参与运算的数据和运算结果,是访问速度最快的存储器 

37.寻址方式:指令寻址、数据寻址

     数据寻址:立即寻址(指令的地址码部分直接给出操作数)、直接寻址(指令的地址码部分给出操作数在存储器中的地址)、隐含寻址(操作数的地址隐含在指令的操作码或者某个寄存器中)、间接寻址(指令中的地址码部分给出操作码地址的地址)

38.虚拟存储器的空间大小取决于计算机的访存能力(计算机地址位数),而不是实际外存的大小

39.请求分页式存储管理、请求分段式存储管理、请求段页式存储管理都采用了虚拟存储管理系统

40.算法的空间复杂度:执行这个算法所需要的内存空间

  (1)输入的初始数据所占的空间大小

  (2)算法程序本身所占的空间大小

  (3)算法执行过程中所需要的空间大小

41.算法的时间复杂度执行算法所需要的计算工作量,是用执行算法所需要的基本运算次数来度量的

42.算法的时间复杂度和空间复杂度没有直接关系

43.原地工作算法:执行算法所使用的额外空间固定(不随算法所处理的数据空间大小的变化而变化)

44.解决同一个问题的不同算法的时间复杂度一般是不同的

45.数据的数据结构和对数据的不同处理都会影响算法的时间复杂度

46.线性结构只有一个根节点+每个节点只有一个前件9e88db2094984765885fff6ba8f423b0.png

(前件,节点) 

27196728a6dd4b7f8a7482ccb8f61940.png 

47. 没有根节点、没有叶子节点的数据结构一定是非线性结构

48.顺序存储不止用于线性结构,满二叉树和完全二叉树的层次遍历也是顺序存储

49.循环队列和循环链表都是线性结构

50.顺序程序具有顺序性、封闭性、可再现性

51.进程:可以并发执行的程序的执行过程

52.文件目录:将文件名转换为文件存储地址的结构,即文件名和文件物理位置之间的映射关系

53.计算机的缓冲技术用于提高主机和设备交换信息的速度

54.缓冲技术:为了协调吞吐速度相差很大的设备之间数据传输而采用的技术

55.进程活动:创建状态、就绪状态、运行状态、阻塞状态、终止状态

     进程在就绪状态下获得cpu会转化为运行状态

56.进程的属性:动态性、独立性、共享性、制约性、并发性

57.进程控制块PCB是进程存在的唯一标志

58.文件属性:文件类型、文件名称、文件长度、文件的物理地址、文件的创建时间等......

59.一个正在运行的进程由于所申请的资源得不到满足要调用阻塞进程原语

60.一个进程在运行状态下结束时要调用撤销进程原语

61.cpu不经过总线能直接访问寄存器

62.操作系统的功能和任务:进程管理(处理机管理)、存储管理、设备管理、文件管理、用户接口

63.连续存储管理系统(系统和用户作业都以分区为单位享用内存)=固定分区存储管理+可变分区存储管理

64.I/O方式中的程序查询方式:程序主动查询输入/输出设备是否准备好

65.I/O方式中的程序中断方式:当出现异常情况时,cpu将暂时停止当前程序的执行,转向执行相应的服务程序

66.进程一旦创建便进入就绪状态

67.多道程序环境下,程序和计算机执行程序的活动不再一一对应

68.I/O方式中的DMA方式:I/O设备与主存之间由硬件组成的直接数据通路,用于组成数据传送

69.分时操作系统的特点:交互性、独立性、及时性、同时性

70.地址重定位是指建立用户程序的逻辑地址与物理地址之间的对应关系,需要对指令和指令中对应的逻辑地址部分进行修改

71.f79da23c5484431b846e41ccbf3dedba.png

(m+1)-m=1,故已经栈满,再入栈会报错 

72. 具有两个根节点的一定是非线性结构

73. 有序表是指表中元素按照某种规则已经排好了位置,即可以用顺序结构存在连续的空间内,也可以用链式存储存在不连续的空间内

74.二分法查找的条件=顺序存储结构+是顺序表

75.a516ca965c55429d85b267153e00a624.png

 0+m=m,故不可能等于m+1

 76.难点2f5d9db8e3bb41348f09941f2faa5796.png

 下标-1表示栈空,输入一个元素变为1,因为存储空间为【1:50】,0在存储空间内

77. 5a641e718f6c4576901665614783bb27.png

61-25=36 

78. 循环队列front==rear==1,有可能队满也有可能队空,此处还能正常插入元素,故为队空952d9417d206447d8d2bcbafef45e25c.png

79. 当front>rear,元素个数为rear(队头)-front(队尾)+m3c75dc742ef649dba340cf0170c54706.png

80.长度为n的有序链表进行查找,最坏情况需要比较n次

81.对长度为n的数组进行快速排序,最坏情况需要比较n(n-1)/2次

82.快速排序每经过一次数据交换后,能消除多个逆序

83. 对长度为n的数组进行简单插入排序,最坏情况需要比较n(n-1)/2次

84. 对长度为n的数组进行冒泡排序,最坏情况需要比较n(n-1)/2次

85. 对长度为n的数组进行二分查找,最坏情况需要比较次

86.循环链表无法通过头尾指针的动态变化来决定链表的长度

87.所有线性结构都可以采用顺序存储结构

88.快速排序没经过一次交换都会产生新的逆序

89.循环队列通过头尾指针的动态变化来决定链表的长度

90.采用顺序存储的完全二叉树还是属于非线性结构

91. 对长度为n的数组进行对分查找,最坏情况需要比较次

92. 对长度为n的数组进行堆排序,最坏情况需要比较次

93.算法的复杂度=时间复杂度+空间复杂度 

94.栈:后进先出,只能从栈顶插入数据

95.队列:先进先出 

96.算法:解决问题的操作步骤

97.程序可以作为算法的一种描述方式

98.数据的处理效率与数据的存储结构有关

99.向量、二维表、矩阵是线性结构

100.在具有n个元素的有序顺序表中插入一个元素,最坏情况下需要移动n个元素

101.d22488eb7beb45c6a542ca3eca15a2b6.png

       顺序表:采用顺序存储的线性表

    (1)表中所有元素所占的存储空间是连续的,每个数据元素所占字节数相同

    (2)各数据在存储空间中是按逻辑顺序依次存放的,元素的存储顺序与逻辑顺序一致

102.数据结构中的数据元素可以是另一数据结构

103.算法的有穷性:算法程序的运行时间是有限的

104.rear>front时,元素个数为rear-frontd57639eb01d34397affcf09f94bc2f42.png

105.向量是顺序存储的线性结构

106.循环链表有根节点也有叶子节点,表头为根节点,表尾为叶子节点,虽然它含有一个指向表头节点的指针,但是表头节点并不是它的一个后件

107.带链栈的栈底指针在栈空时值为null,不为空时指向栈底节点

108.链式存储:便于插入和删除操作

109.非完全二叉树不能采用顺序存储结构

110.d16cfe7e5be54dcca24513793e02f7b9.png

111. 6b523e582c93498da43e572ba8019c70.png

112. 链栈top==bottom==NULL说明栈空,top==bottom!=NULL时存在一个元素,因为存储空间不连续故其他情况无法判断f8986097026b44f992229e03d3056697.png

113. 因为存储空间不连续故其他情况无法判断4adaf5116dfb4f0180b593800545891e.png

114.希尔排序每经过一次数据交换后能消除多个逆序

115. 循环队列只有单一条件无法判断元素个数c5ace06f002d42fc840714b534164572.png

116. 0b64b87a5874428fb92ce1e44272c538.png

ca702b055e8349c583eb0ca0b09b989f.png 

117. 7d9ce0434c5a4d6bb53f590687ea5cdb.png

118. 69a8b2a1b1584613b2b2c3784e9c2c5b.png

4aacc5d2813146e5a6335dac64c56224.png 

119. 二叉树:n0=n2+13423f2511f3a4fafb45aafda26745158.png

120. 树的节点数=所有节点的度数+15fb7b033fb2240afadf77570f29f393b.png

 25!=18*3+1*7

121. 对长度为n的数组进行简单插入排序,最坏情况需要比较n(n-1)/2次

122.对长度为n的数组进行希尔排序,最坏情况需要比较(1<r<2)次 

123. 深度为n的满二叉树的节点数为,第n层的节点数为64d28d08153b4b2baaead46dd7d020d9.png

124. 5a6ce835d515414bbe315eb2789fe716.png

efdbd12369f34c8b808e24018f91e31b.png 

125. 因为查找的元素有一半机会在表中,所以二分之一的情况下平均比较次数为n/2,二分之一情况下平均比较次数为n。总的平均比较次数为(n/2+n)/2=3n/4acb50e09a7194183b698821409d266fd.png

 126.eecf8a3389374e3eab7774d699a30b56.png

3+0+4+x=3*3+0*2+1*4+0*x+1

7+x=14

x=7

127. 完全二叉树度为1的节点只有0/1个4ddd819bd82b4c569fa5bfa9c0618ba3.png

128. 对排序二叉树(左子树值小于根节点,右子树值大于根节点)的中序序列为有序序列

129. 15acbc62a18f4d5292d85a4fd4674f3e.png

130. 堆排序=大根堆/小根堆f26c35b514c641b89a68adf667f2a66d.png

17d066002ab84fe9b0e3a0492d0a2cd0.png 

131.软件设计:概要设计+详细设计

132.需求分析的主要任务:确定软件系统的功能

133.数据字典中所定义的对象都包含于数据流图

134.数据字典的作用是对数据流图中出现的被命名的图形元素的确切解释

135.常见的软件设计工具:系统结构图、程序流程图、N-S图、PAD图、HIPO图、判定表、PDL

136.详细设计阶段常用的工具:程序流程图、N-S图、PAD图、PDL

137.程序流程图:7b3c10c3e40641f9a3aab55539a26893.png

138. 类是具有相同属性、共同方法的对象的集合,一个对象是其对应类的实例,类是对象的抽象

139.结构化程序设计强调程序的易读性

140.程序化程序的三种基本控制结构:顺序、选择、重复

141.对象是由描述该对象的属性和可以对这些数据进行的各种操作封装在一起的统一体,消息传递是对象之间通讯的手段

142.对象的成分: 对象名、属性、操作

143.结构化程序设计的原则:自顶而下、逐步求精、模块化、限制goto语句

144.需求分析解决软件做什么的问题

145.软件设计解决软件怎么做的问题

146.需求分析阶段使用DFD(数据流程图) 

147. 需求分析阶段产生的主要文档是需求规格说明书

148.软件详细设计阶段的任务:为软件结构图中的每一个模块确定实现算法和局部数据结构

149.最大扇入数:直接调用该模块上级模块的个数f5a510e05de84a259a85c5d28719a967.png

150. 对象实现数据和操作的结合,其实现的机制是封装

151.面向对象主要特征:抽象、封装、继承、多态

152. 1b841a6c557a4b1eb719bcac117a974b.png

153. 数据流图需要遵守的规则:

     (1)对加工处理建立唯一、层次性的编号,每个处理要求既有输入也有输出

     (2)数据存储之间不应该有数据流

     (3)数据流图的一致性

     (4)父图与子图关系与平衡规则

154.系统软件:操作系统、数据库管理系统、编译程序、汇编程序、网络软件

155.软件需求规划书内容:功能要求、性能要求、设计要求、接口要求

156.良好程序设计风格:

     (1)源文件文档化

     (2)注意数据说明的风格

     (3)语句构造应简单直接

     (4)对所有输入数据都要验证其合法性

157.对象的主要特征:

     (1)标识唯一性

     (2)分类性

     (3)多态性

     (4)封装性

     (5)模块独立性好

158. 继承:类之间共享属性和操作的机制

159.软件生命周期: 软件产品从提出、实现、使用、维护、停止使用、退役的过程,或为定义阶段、开发阶段、维护阶段

160.定义阶段:问题定义、可行性研究、需求分析

161.开发阶段:概要设计、详细设计、实现、测试

162.软件危机的表现:软件开发进度难预测、软件开发成本难以掌控、用户对产品内容难以满足、软件产品质量无法保证、软件产品难以维护、软件缺少适当的文档资料

163.软件的特点:

(1)软件是一种逻辑实体,具有抽象性

(2)没有明显的制作过程

(3)使用期间不存在老化、磨损问题

(4)对硬件和环境具有依赖性

(5)复杂性高,成本昂贵

(6)涉及诸多社会因素

164.软件是程序、数据、相关文档的集合

165.软件工程三要素:方法、工具、过程

166.软件设计阶段产生的文档:概要设计说明书、详细设计说明书、测试计划初稿

167.对象唯一性:对象是可区分的

168.软件过程:把输入转化成输出的一组彼此相关的资源和活动

169.集成测试的目的:发现设计阶段产生的错误,依据是概要设计说明书

170.白盒测试:根据程序的内部逻辑来设计测试用例,检查程序中的逻辑是否正确

171.单元测试:对模块进行正确性检验的测试,主要设计的文档为编码、详细设计说明书,检验模块的接口、局部数据结构、出错处理功能

172.软件测试:追溯到需求、严格执行测试计划、排除试验的随意性、充分注意测试中的群集现象,是为了发现错误而执行程序的测试

173.软件测试的对象是源程序

174.软件测试的四个步骤:单元测试、集成测试、确认测试(验收测试)、集成测试

175.系统结构图的宽度:横向最大模块数ddbdebf339b941deadd36a134e62d98c.png

3de24dcb1eb54df085eada9d7feb9482.png176.软件应该先满足用户的功能需求

177.黑盒测试:测试软件功能,测试依据需求规划说明书

178.原子模块:没有从属节点的模块

179.扇入:指调用一个指定模块的模块个数

180.结构图:描述软件系统结构的图形工具

181.深度指控制的深度

182.黑盒测试方法:等价类归纳法、错误推测法、因果图

183.白盒测试方法:逻辑覆盖测试(语句、路径、判定、条件、判断—条件覆盖)、基本路径测试

184. 扇出数:一个模块直接调用其他模块的个数38d9e821bf2c48f2ab80d9d01e239133.png

185. 软件需求规格说明书内容:明确软件的功能、性能、数据、界面

186.数据流图的作用:支持软件系统功能建模

187.软件测试用例:输入数据、预期输出结果

188.代码编写阶段可进行的软件测试:单元测试(模块测试)

189.需求分析阶段任务:需求获取、需求分析、需求规格说明书编写、需求评审

190.软件需求规格说明书的内容:

     (1)便于用户、开发者的理解和交流

     (2)反映出用户问题的结构

     (3)作为确认测试和验收的依据

     (4)为成本估算和编制计划进度提供基础

     (5)软件不断改进的基础

191.软件设计中模块划分应遵循的准则:高内聚低耦合

192.模块独立性:抽象、模块化、信息屏蔽、局部化的直接结果

193.程序调试的任务:诊断和改正程序中的错误

194.在黑盒测试方法中,设计测试用例的主要依据是程序外部功能

195.软件设计准则:

     (1)提高模块独立性

     (2)模块规模应该适中

     (3)深度、宽度、扇入、扇出都应适当

     (4)模块作用域应在控制域之内

     (5)降低模块接口之间的复杂度

     (6)设计单入口、单出口的模块

     (7)模块功能应该可以预测

196.关系数据模型可以表示实体间1:1、1:m、m:1、m:n的联系

197.数据独立性:物理独立性+逻辑独立性

        物理独立性:数据的物理结构的改变,包括存储结构的改变,存储设备的更换,获取方式的改变不会影响到数据库的逻辑结构,也不会引起应用程序的改变

        逻辑独立性:数据库的总体逻辑的改变,如改变数据模式,增加新的数据结构,修改数据间的联系等,不会引起相应应用程序的改变

198.概念数据模型:着重于客观世界复杂事物的描述及内在联系的刻画

199.逻辑数据模型:着重于数据库的实现

200.物理数据模型:数据模型在计算机上物理结构的表示

201.优化数据库系统查询性能的索引设计属于数据库设计的物理设计

202.逻辑设计的主要任务:将E-R图转换成关系模型

203.数据模型的三要素: 数据结构、数据操作、数据约束

204.在关系模式中,一个二维表称为一个关系

205.数据库:长期存储在计算机内的、有组织、可共享的数据集合

206.数据库管理技术的三个阶段:人工管理阶段(没有专门的软件对数据进行管理)、文件系统阶段、数据库系统阶段 

207.数据库存放的是数据和数据间的联系

208.数据库管理系统的主要功能:数据模式定义、数据存储的物理构建、数据操控、数据完整性和安全性的定义与检查、数据库的并发控制于故障恢复、数据的服务

209.数据库管理阶段数据库系统的特点:数据集成性和共享性高、冗余度低、数据独立性高、数据统一管理与控制

210.著名的概念模型:实体—联系模型、面向对象模型

211.概念模式(模式):数据库系统中全局数据逻辑结构的描述

212.外模式:用户的数据视图

213.内模式(物理模式):是数据物理模式与存储方式的描述,是数据在数据库内部的表示方式

214.将数据库的结构划分成多个层次,是为了提高数据库的数据独立性

215.用树形结构表示实体间联系的模型是层次模型

216.用网状结构表示实体间联系的模型是网状模型

217.关系模型采用二维表来表示关系

218.E-R图中用矩形表示实体,椭圆形表示属性,菱形表示关系

219.按传统的数据模型分类,数据库系统分为层次、网状、关系

220.29b41fd3deb54926b047bae57a414113.png

 221.f0c128d997bb4abaa569247dbf5d4666.png

222. 关系数据库中的键:能唯一标识元组的属性或属性集合

223.数据库应用系统的核心问题是数据库设计

224.数据库系统:数据库、数据库管理系统、数据库管理员、硬件平台、软件平台

225.数据定义语言:负责数据的模式定义与数据的物理存取构建

226.数据操纵语言:负责数据的增、删、改、查

227.数据控制语言:负责数据完整性、安全性的定义、检查以及并发控制、故障恢复等功能

228.数据库三级模式:外模式、概念模式、内模式

229.数据库结构被划分为用户级、概念级、存储级

230.一个数据库可以有任意多个外模式, 概念模式和内模式只能有一个

231.关系数据库规范化的目的是使关系结构更加合理、消除存储异常、使数据冗余尽量小、便于插入、删除、更新等操作

232.eaf63f15a0ed4b199e7d44f2349e8641.png

233. 4b3b6c840b0d4cd9b7c8f3c201cfde25.png

234. a3bc774c53a342168567c88233673bf3.png

235.<>不等于11d756810ab94106b68d1b378cd23a21.png 236.12cd859f24094611b1bb3aa5ec3e7f86.png

 237.ac518ffd5a6b4a7aae9a2814b992bf5f.png

238. 0cfc087c0e8d4cc58f248f67bdebef7d.png

239.08530389ea2140f898a9b28c50d9d224.png

 240.3798a51f8b944d16a2a14093f398af3e.png

241.c72f49ae7b5d46e3b2dcc5603c095322.png

242.

a6a64b176d65441ab074a2f4f476f465.png

243.e3f17943e5974ff78bf05d184cc2e7af.png244.数据库设计过程:需求分析、概念分析、逻辑设计、物理设计

245. 在需求分析阶段建立数据字典

 

 

 

 

版权声明


相关文章:

  • opencv copymakeborder2024-11-27 21:01:05
  • select语句例子2024-11-27 21:01:05
  • 跨域怎么理解2024-11-27 21:01:05
  • crc16计算方法2024-11-27 21:01:05
  • c语言中malloc函数2024-11-27 21:01:05
  • js原型链的应用场景2024-11-27 21:01:05
  • fs.createwritestream2024-11-27 21:01:05
  • 数组指针,指针数组2024-11-27 21:01:05
  • zipkin java2024-11-27 21:01:05
  • 树状数组简单易懂的详解2024-11-27 21:01:05