初级软考-程序员 复习笔记


 
 
自己考试复习时做的笔记,用的"软考真题APP"刷题的。
评论区有一些小伙伴觉得这种方式很有效。大家也可以用自己的笔记积累出来。
已经考完啦,过还是比较稳的。

 
 

#1 程序语言基础

1.1 编程语言分类√

通用的编程语言有C语言、C++语言、Java语言、C#语言、PHP语言、Python语言、VB语言、JavaScript语言等。
标记语言是名称带有ML即MarkLanguage的语言
SQL为数据库语言
通用脚本语言包括 Python, Ruby, VBScript,PHP。

COBOL是面向事务处理的语言;
XML即可扩展标记语言;
PROLOG是逻辑式语言;
LISP是函数式语言

1.2 变量存放位置

变量实际上是存储位置的名字。
代码区存放指令,运行过程中不可修改。
全局变量的存储单元位于静态数据区
局部变量的存储单元位于栈区
根据需要进行动态申请和释放的动态变量存储空间在堆区

1.3 程序变量叙述

函数的调用和返回控制都是用来进行的,以保证运算逻辑的正确性。
函数的声明必须在该函数的调用之前,定义可以在函数调用之后。
动态绑定是程序运行过程中,把函数(或过程)调用与响应调用所需要的代码相结合的过程
连接程序是将来源不同的目标程序装配成一个可执行程序

程序的错误可以分为两类:语法错误和语义错误,语法描述语言的结构,语义表达语言的含义。语法错误会在编译阶段
 
 

#2 线性表√

2.1 串

串的模式匹配算法是指在串中查找指定的模式串是否出现及其位置
两个字符串比较时,按照对应字符(编码)的大小关系进行比较。
 
 

#3 软工&项管√

3.1 软件开发模型

RUP统一过程的商业版本,是用力和风险驱动、以架构为中心、迭代的增量开发过程。
XP是一种轻量级,高效,低风险,柔性,可预测的,科学的软件开发方式,不断迭代。
螺旋模型将开发过程分为几个螺旋周期,每个螺旋周期在前一个螺旋周期的基础上迭代进行开发。
瀑布模型适用于软件需求确定,开发过程能够以线性化的方式完成的那些软件开发项目。能否用于某个项目或者快速开发某个项目并不取决于所开发的软件项目的规模或开发团队的规模。而且只要软件需求确定,开发过程能够采用线性方式进行,现今的软件开发仍然可以使用瀑布模型。
V模型是瀑布模型的一种演变模型,将测试和分析与设计关联进行。
原形模型通过快速构建可运行的原型系统,然后根据运行过程中获取的用户反馈进行改进,特别适用于对软件需求缺乏认识的情况。

敏捷开发有:XP,SCRUM,水晶法
RUP属于统一开发过程

Mc Call软件质量模型从软件产品的运行、修整、转移三个方面确定了11个质量特性。
运行方面的特性包括正确性、可靠性、易使用性、效率和完整性;
产品转移方面特性包括可移植性、复用性和互用性;
产品修正方面特性包括可维护性、灵活性、可测试性;

CMM:
可重复级: 建立了基本的项目管理过程和实践来跟踪项目费用,进度和功能性。
已定义级: 所有项目都采用根据实际情况修改后得到的标准软件过程来开发和维护软件。
已管理级: 收集对软件过程和产品质量的详细度量,对软件过程和产品都有定量的理解和控制。
优化级: 过程的量化反馈和先进的新思想,新技术促使过程不断改进。

云计算: 用户所需的资源和调用方式对用户透明,向用户提供方便、灵活的服务。
 
 

#4 办公自动化 √

 
 

#5 中央处理器 CPU√

5.1 中央处理器的内部构成

中央处理器(CPU) 是指由 运算器(ALU)、控制器(CU)、寄存器组(Registers)、内部总线所组成
运算器算术逻辑单元(ALU)累加器数据缓冲寄存器状态条件寄存器组成
控制器程序计数器指令寄存器指令译码器时序产生器操作控制器组成
I/O总线是在内存与外设(显示器、打印机、扫描仪、外部存储设备等)间传送数据的通路
 
程序计数器用于存放下一条指令所在单元的地址。当执行一条指令时,首先需要根据PC中存放的指令地址,将指令由内存取到指令寄存器中,此过程称为 “取指令”。与此同时,PC中的地址或自动加1或由转移指针给出下一条指令的地址。此后经过分析指令执行指令
 
累加器用于暂时存放操作数和中间运算结果。
 
总线宽度分为地址总线宽度数据总线宽度
地址总线宽度决定了CPU可以访问的物理地址空间,简单地说就是CPU到底能够使用多大容量的内存。
CPU执行算术运算或者逻辑运算时,算术逻辑运算部件(ALU)将计算结果保存在累加器(AC)中。
 
数据寄存器用于暂时存放由内存读取的一条指令或数据字,反之,当向内存写入一个数据字时,也暂时将他们存放在数据缓冲寄存器中。

计算机的用途不同,对其不同部件的性能指标要求也有所不同。用作科学计算为主的计算机,其对主机的运算速度要求很高;用作大型数据库处理为主的计算机,其对主机的内存容量、存取速度和外存储器的读写速度要求较高:对于用作网络传输的计算机,则要求有很高的I/O速度

CPU对主存的访问方式属于随机存储。

连入计算机系统的设备都要进行编址以便进行访问,对于I/O设备,可以采用与内存统一编址的方式或独立的编址方式。若与内存单元统一编址,则访问I/O设备接口如同访问内存单元,在指令系统中就不需要加以区分(即不需要设置专门的访问I/O设备接口的指令);若采用独立的编址方式,则I/O设备接口的编号与内存单元的地址可能重叠,因此访问I/O设备接口的指令应该与访问内存单元的指令相互区分。

RISC(精简指令集计算机)指令系统的最大特点是:选取使用频率最高的一些简单指令,指令条数少; 指令长度固定,指令格式种类少;只有取数_/存数指令访问存储器,其余指令的操作都在寄存器之间进行。

CPU字长指CPU在单位时间内能一次处理的二进制数的位数
数据总线负责计算机中数据在各组成部分之间的传送.
 

5.2 寻址方式

直接寻址方式下,操作数在内存中,指令中给出操作数的地址,需要再访问一次内存来得到操作数。
立即寻址方式下,操作数在指令中,所以在取得指令时就得到操作数,是速度最快的。
寄存器寻址方式下,操作数在CPU的寄存器中。
寄存器间接寻址方式下,操作数的地址在CPU的寄存器中,还需要访问一次内存来得到操作数。
间接寻址下,间接寻址意味着指令中给出的地址A不是操作数的地址,二是存放操作数地址的主存单元的地址,简称操作数地址的地址。

无条件传送、程序查询和中断方式都需要CPU执行程序指令进行数据的输入和输出。DMA方式则是一种不经过CPU而直接从内存存取数据的数据交换模式。 在DMA模式下,CPU只需向DMA控制器下达指令,让DMA控制器来处理数据的传送,数据传送完之后再把信息反馈给CPU即可。
 
 

#6 数据库语言√

6.1 属性分类:

简单属性: 不能再划分的更小部分属性
复合属性: 可以在划分为更小部分,也就是可以在划分一下其他属性的属性
单值属性: 数据库中所定义的属性对于一个特定的实体来说只有一个单独的值
多值属性: 在某种情况下对某个特定的实体而言,一个属性可能对应一组值
派生属性: 可以从别的实体或相关属性派生出来

6.2 关系模型中有三类完整性约束:

实体完整性: 对主属性值域的约束
参照完整性: 对参照关系的外码属性值域的约束
( 如 果 一 个 关 系 中 的 一 个 属 性 是 另 外 一 个 关 系 中 的 主 码 则 这 个 属 性 为 外 码 。 外 码 的 值 或 为 空 , 或 为 其 对 应 的 主 码 中 的 一 个 值 ) \color{#696969}{(如果一个关系中的一个属性是另外一个关系中的主码则这个属性为外码。外码的值或为空,或为其对应的主码中的一个值)} ()
用户定义完整性: 对其他属性值域的约束

6.3 SQL语句补全

查询语句

//查询 零件名为P2, 供应商包含华德, 利润在1280~2500的 零件名,供应商以及利润(售价-进货价)
SELECT 零件名, 供应商, 售价 - 进货价 as 利润 
	FROM P
	WHERE 零件名 = 'P2' 
	AND 供应商 like '%华德%'
	AND 利润 Between 250 AND 500
	
//寻找比所有计算机系学生的年龄都小的其他系的学生 姓名及年龄
SELECT 姓名, 年龄 
	FROM 学生
	WHERE 年龄 < ALL( 
		SELECT 年龄 FROM 学生 WHERE 
		专业 = '计算机')
		AND 专业 <> '计算机';

//查询至少选择了四门课程的学生学号、姓名及平均成绩
SELECT 学号, 姓名, AVG(成绩) AS 平均成绩
	FROM Student GROUP BY 学号
	HAVING COUNT(课程号)>3

修改语句

//
UPDATE P
	SET 价格 = 价格*0.98
	WHERE 供应商 = 'S2';

插入语句

INSERT INTO EMP Values(10058, '黄晓华' , '开发部')

建表语句

//
CREATE TABLE Emp(
	员工号 CHAR(4),
	姓名 CHAR(10),
	性别 CHAR(1) CHECK(性别 IN ('M','F')),
	部门 CHAR(4) REFERENCES Dept(部门),
	家庭住址 CHAR(30),
	PRIMARY KEY (员工号);

 
 

#7 面向对象技术 √

 
 

#8 应用数学

 
 

#9 数据的表示√

原码: 正数的符号位为0,负数的符号位为1
反码: 正数的反码等于他的原码。负数的符号位不变,其他位取反。
补码: 正数的补码等于他的原码。负数的补码等于反码+1。
移码: 补码符号位取反,数值位不变。
海明码: 利用奇偶性来检错和纠错的校验方法。海明码的构成方法是在数据位之间的确定位置上插入k个校验位,通过扩大码距来实现检错和纠错。
奇偶校验码: 通过增加一位校验位来使编码中“1”的个数横为奇数或偶数。
两个数值相同,亦或结果为0,两个数不同,亦或结果为1;
循环冗余校验码: 的基本原理是在尺位信息码后再拼接位的校验码,整个编码长度为N位。
数值中的小数点在硬件中不明确表示,二是采用约定位置的方式。

IEEE754浮点表示法中,阶码采用移码表示
 
 

#10 系统分析与系统设计

解释器模式: 定义一个语言的文法,并且建立一个解释器来解释该语言中的句子,这里的“语言“”是指使用规定格式和语法的代码

N-S盒图,PAD图和程序流程图主要用于表示软件模块的执行过程。
E-R图是在对系统进行数据建模时采用,用于表示实体与实体之间的联系。

面向对象分析结果主要是面向对象分析模型,当前主流的技术是采用面向对象建模语言来描述和表达。

程序模块设计的原则包括:规模适中,接口简单,单入口出口;
 
 

#11 存储器系统

 
 

#12 Windows基本操作√

 
 

#13 程序测试基础知识√

13.1 测试的分类

静态测试: 包括人工测试和计算机辅助静态分析。
动态测试: 通过运行程序发现错误。
**黑盒测试: ** 包括等价类划分,错误猜测,因果图等
**白盒测试(结构测试): **

路径覆盖: 要求每一条独立路径都执行过。
语句覆盖: 要求所有语句至少执行一次。
条件覆盖: 每个判断里的每个条件的可能取值至少执行一次
判定覆盖: 每个判断的取真分支和取假分支至少经历一次
 
 

#14 网络协议与标准

14.1协议的分类

TCP/IP协议簇中: TCP协议、IP协议、FTP协议、UDP协议、SLIP协议、PPP协议、ICMP协议、ARP协议DNS协议、SMTP协议等
应用层有: SMTP协议,FTP协议,SNMP协议,DNS协议
传输层有: TCP协议,UDP协议
网络层有: ICMP协议,TCP协议,IP协议

ARP协议 属于网络层,作用是由IP地址求MAC地址
RARP协议 作用由MAC地址求IP地址
UDP协议属于传输层,是简单不可靠信息传送服务
ICMP协议 属于网络层,用于传送有关通信问题的消息,封装在IP数据报中传送
SMTP协议 是用于发送邮件,下层采用TCP传输
POP3协议 从电子服务器上获取电子邮件

HTTP协议 的默认端口号是80

14.2 协议的特点

FTP应用层协议,支持上传和下载,使用2个端口号,报文通过TCP报文传送。
PING命令ICMP协议的一个应用,发出请求与响应类型的报文
0.0.0.0表示本机地址,只能作为源地址使用,不能作为目标地址使用

14.3 地址分类

10.110.33.224 是A类私网地址
172.16.17.18 是B类私网地址
192.168.22.35 是C类私网地址

14.4 地址的特点

私网IP地址区别于公网IP地址的特点是不能通过Internet访问

14.5 类型题

题型I: IP地址块192.168.80.128/27包含了( )个可用地址?
一共32位 /27剩下5个0,25 = 32 - 2 = 30个

题型II: IP地址块200.15.13.12/22包含了( )个可用地址?
一共32位 /22 剩下10个0
11111111 11111111 11111100 00000000 = 255.255.252.0

题型III: 假定子网掩码为255.255.255.224,( )属于有效的主机地址?
最后的224的二进制位 11100000,最后5位
那么有效的主机地址主要看最后5位是全0 则为子网地址,全为1则是广播地址

#15 处理机管理√

释放CPU,才放弃就绪状态。
CPU 运行 → 就绪:时间片到
就绪 → 运行:进程调度程序调度
运行 → 阻塞:进行了P操作
阻塞 → 就绪:I/0的完成

#16 树和二叉树√

#17 统一建模语言UML√

17.1 图的分类

动态交互图有:序列图,状态图,活动图,协作图,通信图。
静态交互图有:类图,对象图,组件图。

17.2 各个图的概念

序列图表现各个对象交互的时间顺序
协作图强调收发消息的对象之间的组织结构
类图展现了一组对象、接口、协作和他们之间的关系,描述系统的静态结构
对象图展现一组对象以及它们之间的关系
活动图是一种特殊的状态图,强调对象间的控制流程。展现了在系统内从一个活动到另一个活动的流程。
用例图用于描述系统与外部系统及用户之间的交互

17.3 其他概念

关联的多重度是指:一个类的实例能够与另一个类的多少个实例相关联
UML中的行为事物有:交互、状态机和活动
UML中的结构事物有:类,接口,构件

18 排序与查找

哈希查找对于数据较多的查找需求时有着很快的查询能力

各个排序方法时空间复杂度情况:
在这里插入图片描述
 
 

HTML语言√

表格边框的宽度由border属性指定

 
 

PS: 平时写的文章几乎没有人看的,这个是为了给同事看才发表的。考完了一看居然这么多评论哈哈哈

  • 24
    点赞
  • 152
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
软考初级程序员pdf是指软件考试中的初级程序员考试资料的电子书格式,可以通过电子设备阅读和学习。软件考试是指软件技术人员进行的一种专业水平认证考试,旨在评估程序员的基本编程能力和软件开发技术水平。初级程序员是软件开发领域中的最低级别,一般指对基本编程语言、数据库、系统分析和软件设计等方面有一定掌握的人员。 软考初级程序员pdf的特点是方便学习和备考。由于是电子书的形式,可以随时随地使用电子设备进行阅读和学习,不受时间和地点的限制。同时,pdf格式可以保留原版的排版和格式,使得阅读起来更加方便和舒适。此外,软考初级程序员pdf还可以进行文字搜索和书签标注,方便用户查找和复习重要内容。 软考初级程序员pdf的内容主要涵盖了初级程序员考试的各个知识点和技能要求。包括但不限于编程语言(如Java、C++、Python等)、数据库(如MySQL、Oracle等)、系统分析和设计、软件测试等方面的内容。通过学习软考初级程序员pdf,考生可以系统地了解并掌握这些知识和技能,为考试做好充分准备。 总之,软考初级程序员pdf是软考初级程序员考试的学习资料,具有方便学习和备考的特点。通过学习软考初级程序员pdf,考生可以提高自己的编程能力和软件开发技术水平,为软考初级程序员考试取得好成绩打下基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值