职业考证-软考-程序员模拟考试题含答案40

上传人:住在****他 文档编号:93689354 上传时间:2022-05-20 格式:DOCX 页数:22 大小:762.43KB
收藏 版权申诉 举报 下载
职业考证-软考-程序员模拟考试题含答案40_第1页
第1页 / 共22页
职业考证-软考-程序员模拟考试题含答案40_第2页
第2页 / 共22页
职业考证-软考-程序员模拟考试题含答案40_第3页
第3页 / 共22页
资源描述:

《职业考证-软考-程序员模拟考试题含答案40》由会员分享,可在线阅读,更多相关《职业考证-软考-程序员模拟考试题含答案40(22页珍藏版)》请在装配图网上搜索。

1、职业考证-软考-程序员模拟考试题含答案1. 单选题在( )中,要按照确定的计算关系来找到给定关键码的存储位置。问题1选项A.顺序表B.哈希表C.单向链表D.双向链表【答案】B【解析】本题考查数据结构哈希查找基础知识。在哈希表(散列表)中,通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫作散列函数,存放记录的数组叫作哈希表(散列表)。哈希查找的操作步骤:(1)用给定的哈希函数构造哈希表;(2)根据选择的冲突处理方法解决地址冲突;(3)在哈希表的基础上执行哈希查找。2. 单选题在面向对象程序设计语言中,对象之间通过( )方式进行通信。( )不是面向对象程序设计语言必须提

2、供的机制。问题1选项A.继承B.引用C.消息传递D.多态问题2选项A.支持被封装的对象B.支持类与实例的概念C.支持继承和多态D.支持通过指针进行引用【答案】第1题:C第2题:D【解析】第1题:第2题:本题考查面向对象的基础知识。在采用面向对象技术开发的系统中,最基本的运行时实体是对象,对象既包括数据(属性),又包括作用于数据的操作(行为),即对象把属性和行为封装为一个整体。对象之间通过发送消息进行交互,对象在收到消息时予以响应。面向对象程序设计语言满足面向对象程序设计范型,采用对象、类及其相关概念进行程序设计,即面向对象程序设计语言中提供对象及其引用、类、消息传递、继承、多态等机制,而并不限

3、定必须支持通过指针进行引用。3. 案例题阅读以下说明和C代码,填写程序中的空缺,将解答写入答题纸的对应栏内。【说明】规定整型数组a中的元素取值范围为0,N),函数usrSort( int n, int a )对非负整型数组a的前n个元素进行计数排序。排序时,用temp_arri表示i在数组a中出现的次数, 因此可以从0开始按顺序统计每个非负整数在a中的出现次数,然后对这些非负整数按照从小到大的顺序,结合其出现次数依次排列。例如,对含有10个元素0,8,5,2,0,1,4,2,0,1的数组a排序时,先计算出有3个0、2 个1、2个2、1个4、1个5和1个8,然后可确定排序后a的内容为0,0,0,

4、1,1,2,2,4,5,8。下面代码中用到的memset函数的原型如下,其功能是将p所指内存区的n个字节都设置为ch的值。void*memset (void *p, int ch, size_t n);【C代码】#include#include#include#define N 101void printArr(int a,int n);void usrSort(int n,int a);int main() int a10=0,8,5,2,0,1,4,2,0,1; printArr (a,sizeof(a)/sizeof(int); ( 1 ) _; /调用usrSort()对数组a进行升序

5、排序printArr ( a,sizeof(a)/sizeof(int) );return 0;void printArr (int a,int n) int i; for(i=0;ivoid usrSort(int n, int a) int i,k; int *temp_arr; /用temp_arri表示i在a中出现的次数 temp_arr=(int *)malloc(N*sizeof(int) ); if(!temp_arr) return; /将所申请并由temp_arr指向的内存区域清零 memset(_ (2) _); for(i=0;i_( 3 ) +; k=0; for(i=

6、0;i ( 4 ) ; while(cnt0) ak=i; /将i放入数组a的适当位置 ( 5 ) ; cnt-; free(temp_arr);【答案】(1) usrSort(10,a)或等效形式,a可替换为&a,&a0。(2) temp_arr,0,N*sizeof(int)或等效形式,其中N和sizeof(int)可替换为101、4。(3) ai或*(a+i)或等效形式(4) cnt = temp_arri或cnt= *(temp_arr+i)或等效形式(5)k+或+k或k=k+1或k+=1或等效形式【解析】本题考查考生对C程序基本结构、函数定义及调用和运算逻辑的理解和应用。根据空(1)

7、所在语句的注释,明确是对函数usrSort进行调用。usrSort的原型声明为“void usrSort(int n, int a),第一个参数表示需要排序的元素个数,第二个参数表示对哪个数组进行排序,题目中,需要对含有10个元素的数组进行排序,因此空(1)应填入“usrSort(10,a)” 或其等效形式。注意:第二个参数需要传入的数组(数组首地址),用数组名数组名或下标为0的数组元素取地址都可以,因此。空(2)所在语句是调用memset对申请的存储区域进行初始化。根据注释,要求将 temp_arr指向的内存区域清零,根据声明memset时的定义,void*memset (void *p,

8、int ch, size_t n); ,此处需要对temp_arr所指向的空间区域的元素值都设置为0,而总king就可以结合语句:temp_arr=(int *)malloc(N*sizeof(int) );,表示temp_arr占用空间为N*sizeof(int),可知函数调用为memset ( temp_arr , 0 , N * sizeof ( int ) ) 。空(3)所在的循环语句遍历数组a的所有元素,将元素ai作为temp_arr的下标, 从而使得temp_arrai表示了ai表示的值在数组a中出现的次数。例如:数组a中函数元素1,则需要temp_arr1的值+1,数组a中函数元

9、素5,则需要temp_arr5的值+1。空(4)、(5)主要是通过temp_arr中的元素取值情况来对数组a中元素进行重排,假设tem_arr0=3,则表示0元素出现了3次。首先用cnt保留元素出现的次数,可知空(4)处应设置cnt的初始值,为“temp_arri”。 当cnt0时,表示元素i出现的次数超过了1次,需要进行循环填入,每在数组中放入1个i元素后,cnt自减(表明还需要放置的次数要减1),而k需要自增(表明元素放置位置要往后一个),以给出下一个i要放入的数组位置,因此空(5)处应填入“k+”或其等效形式。4. 单选题计算机启动时CPU从( )读取硬件配置的重要参数。问题1选项A.S

10、RAMB.CMOSC.DRAMD.CD-ROM【答案】B【解析】本题考查计算机系统基础知识。SRAM(Static RandomAccess Memory,静态随机存取存储器)是指这种存储器只要保持通电,里面储存的数据就可以恒常保持。DRAM(Dynamic Random Access Memory,动态随机存取存储器)隔一段时间要刷新充电一次,否则内部的数据会消失。注意:SRAM和DRAM都是属于RAM,其内容断电之后会消失,每次开机后内容随机,不固定。CMOS(Complementary Metal Oxide Semiconductor,互补金属氧化物半导体)是指制造大规模集成电路芯片用

11、的一种技术或用这种技术制造出来的芯片,是计算机主板上的一块可读写的RAM 芯片,用来保存BIOS设置完计算机硬件参数后的数据,这个芯片仅用来存放数据。5. 单选题以下关于信息的描述,错误的是( )。问题1选项A.信息具有时效性和可共享性B.信息必须依附于某种载体进行传输C.信息可反映客观事物的运动状态和方式D.无法从数据中抽象出信息【答案】D【解析】本题考查信息化基础知识。信息的主要特征包括:可识别性、时效性、动态性、普遍性、可存储性、可压缩性、可转换性、可度量性和可共享性。可识别性是信息主要特征之一,不同的信息源有不同的识别方法,并从数据中抽象出信息。会通过数据收集、处理和分析,从而从数据中

12、获取信息,进行有效决策。6. 案例题阅读以下说明和Java代码,填写代码中的空缺,将解答写入答题纸的对应栏内。【说明】球类比赛记分系统中,每场有两支球队(Team)进行比赛(Game),分别记录各自的得分。图5-1所示为记分系统的类图。【Java代码】【答案】(1)int goals =0或int goals(2)this.name(3)goals+或+goals或等价表示(4)Team(5)new Game(t1,t2)【解析】本题考查考生应用Java语言进行程序设计的能力,涉及类、对象、方法的定义和相关操作。要求考生根据给出的案例和代码说明,阅读并完成程序填空。本题中涉及比赛和球队。根据说

13、明进行设计,题目给出了类图(图5-1类图所示)。图中类Game和Team之间是聚合关系。Game类有两个public的方法:getResults()和incrementGoal()分别表示获取比赛结果和某支球队进1球后增加比分;private属性是参加比赛的两支球队。Team类中有3个public方法,分别为本球队进1球后增加得分、获得本队得分和获得球队名称;private的属性为球队名称和得分。球队名采用String类型,得分信息从上下文可知是goals,用int类型。在Team对象创建时,初始化球队名称和得分。Java中,对象的属性若为基本数据类型int,自动初始化为0,如果有显式初始化执

14、行显式初始化;对象的属性若为引用类型String,自动初始化为null,所以需要在构造器中对球队名称加以显式初始化。其构造器接收球队名称,参数名称与对象的属性名均为name,用this关键字加以区分。其中this 关键字用来引用当前对象或类实例,可以用点取属性或行为,即:this.name = name;注:没有同名时是否有this.都表示名称所表示的对象属性。从方法getGoals()中return goals;判断,缺少属性goals来表示得分。再从上下文判断,方法increamentGoal()中,表示在比赛中某球队进1球,即goals的值增加1。创建Game对象表示两支球队的一场比赛。

15、构造器参数为两支球队,用以初始化 Game对象的两个属性。方法getResults()用于输出当前比分。方法incrementGoal()用于表示一球队进1球,具体是哪支球队由参数给定,所以参数类型为Team。主控逻辑代码在Game类中程序主入口main()方法中实现。在main()方法中,先创建两支球队(用new关键字),即两个Team类的对象,球队名称分别为“TA”和“TB”, 引用名称分别为t1和t2,即:Team t1 = new Team(TA);Team t2 = new Team(TB);以这两个对象引用名称为参数,创建一场比赛对象(用new关键字),引用名称为 football

16、,即:Game football = new Game(t1,t2);然后用:football.incrementGoal(t1);football.incrementGoal(t2);分别表示球队TA进一球,球队TB进一球。然后调用getResults()方法输出此时的比分,即:football.getResults();然后TB再进一球,再调用getResults()方法输出此时的比分,即:football.incrementGoal(t2);football.getResults();综上所述,空(1)需要定义表示一支球队的得分goals并初始化为0,题目代码中已经给出用分号结尾,所以空

17、(1)为int goals或int goals=0;空(2)需要表示Team对 象的name属性,即this.name;空(3)需要表示当前球队得分加1,因为只有一条语句,只要表示goals加1即可,即goals+或+goals(等价表示);空(4)需要表示参数类型为球队,即Team;空(5)处为创建Game类的对象football,需要两个Team类型对象的引用,从其后面语句可知,两个引用名称为t1和t2,即new Game(t1,t2)。7. 单选题在以用户界面(UI)层、系统交互(SI)层、问题领域(PD)层和数据管理(DM)层构成的软件架构中,业务实体和业务逻辑属于( )层。问题1选项

18、A.UIB.SIC.PDD.DM【答案】C【解析】本题考查软件工程的基础知识。业务实体和业务逻辑属于企业需要解决的实际问题的领域。8. 单选题目前,云计算(cloud computing)已成为信息化建设的主要形态。以下关于云计算 的叙述中,不正确的是( )。问题1选项A.云计算是基于互联网的相关服务的增加、使用和交付模式B.云计算将所有客户的计算都集中在一台大型计算机上进行C.云计算支持用户在任意位置使用各种终端获取相应服务D.云计算的基础是面向服务的架构和虚拟化的系统部署【答案】B【解析】本题考查网络新技术-云计算知识。云计算(Cloud Computing)是基于互联网的相关服务的增加、

19、使用和交互模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云是网络、互联网的一种比喻说法。云计算甚至可以让你体验每秒10万亿次的运算能力,拥有这么强大的计算能力可以模拟核爆炸、预测气候变化和市场发展趋势。用户通过电脑、笔记本、手机等方式接入数据中心,按自己的需求进行运算。“云”具有相当的规模,Google云计算已经拥有100多万台服务器, Amazon、IBM、微软、Yahoo等的“云”均拥有几十万台服务器。企业私有云一般拥有数百上千台服务器。“云”能赋予用户前所未有的计算能力。所以B错误。9. 单选题Good coding( )makes reading the code ea

20、sier.问题1选项A.testB.styleC.compilerD.debug【答案】B【解析】良好的编程( )使阅读代码更容易。A.test(测试)B.style(风格)C.compiler(编译器)D.debug(排错)10. 单选题以下关于高级程序设计语言的编译和解释的叙述中,正确的是( )。问题1选项A.编译方式和解释方式都是先进行语法分析再进行语义分析B.编译方式下先进行语义分析再进行语法分析C.解释方式下先进行语义分析再进行语法分析D.编译方式和解释方式都是先进行语义分析再进行语法分析【答案】A【解析】本题考查计算机系统的基础知识。用高级程序设计语言或汇编语言编写的程序称为源程序

21、,源程序不能直接在计算机上执行。如果源程序是用汇编语言编写的,则需要一个称为汇编程序的翻译程序将其翻译成目标程序后才能执行。如果源程序是用某种高级语言编写的,则需要对应的解释程序或编译程序对其进行翻译,然后在机器上运行。解释程序也称为解释器,它可以直接解释执行源程序,或者将源程序翻译成某种中间表示形式后再加以执行;而编译程序(编译器)则首先将源程序翻译成目标语言程序,将目标程序与库函数链接后形成可执行程序,然后在计算机上运行可执行程序。无论是编译还是解释方式,都需要对源程序依次进行词法分析、语法分析、语义分析。11. 单选题某计算机系统页面大小为4K,进程P的页面变换表如下表所示。若中某数据的

22、逻辑地址为十六进制2C18H,则该地址的页号和页内地址分别为( );经过地址变换后,其物理地址应为十六进制( )。问题1选项A.2和518HB.2和C18HC.5和518HD.5和C18H问题2选项A.2C18HB.4C18HC.5C18HD.8C18H【答案】第1题:B第2题:C【解析】本题考查分页存储管理的内容。根据题意,计算机的系统页面大小为4K,即212,表示需要用12位二进制(3位十六进制)来表示页面大小,所以在逻辑地址(4位十六进制表示下)中:后3位为页内地址,前1位为页号。因此:逻辑地址为十六进制2C18H,其页号为2,页内地址为 C18H。查页表后可知:页号为2的页会存储到物理

23、块号为5的页内,所以该地址经过变换后,其物理地址应为物理块号5拼上页内地址C18H,即十六进制5C18H。12. 单选题在需要保护的信息资产中,( )是最重要的。问题1选项A.软件B.硬件C.数据D.环境【答案】C【解析】本题考查信息安全的基础知识。在信息资产中,软件、硬件及环境都具有可重构性,数据则存在不可完全恢复的可能性,因此是最重要的。13. 单选题在电子邮件系统中,客户端代理( )。问题1选项A.通常都使用SMTP协议发送邮件和接收邮件B.发送邮件通常使用SMTP协议,而接收邮件通常使用POP3协议C.发送邮件通常使用POP3协议,而接收邮件通常使用SMTP协议D.通常都使用POP3协

24、议发送邮件和接收邮件【答案】B【解析】本题考查网络的基础知识。电子邮件传输原理如下:发信人使用主机上的客户端软件编写好邮件,同时输入发件人、收件人地址。通过SMTP协议与所属发送方邮件服务器建立连接,并将要发送的邮件发送到所属发送方邮件服务器。发送方邮件服务器查看接收邮件的目标地址,如果收件人为本邮件服务器的用户,则将邮件保存在收件人的邮箱中。如果收件人不是本邮件服务器的用户,则将交由发送方邮件服务器的SMTP客户进程处理。发送方邮件服务器的客户进程向收件人信箱所属邮件服务器发出连接请求,确认后,邮件按SMTP协议的要求传输到收件人信箱邮件服务器。收件人信箱邮件服务器收到邮件后,将邮件保存到收

25、件人的邮箱中。当收件 人想要查看其邮件时,启动主机上的电子邮件应用软件,通过POP3取信协议进程向收件人信箱邮件服务器发出连接请求。确认后,收件人信箱邮件服务器上的POP3服务器进程检查该用户邮箱,把邮箱中的邮件按POP3协议的规定传输到收信人主机的POP3客户进程,最终交给收信人主机的电子邮件应用软件,供用户查看和管理。14. 单选题软件从一个计算机系统或环境转移到另一个计算机系统或环境的难易程度是指软件的( )。问题1选项A.兼容性B.可移植性C.可用性D.可扩展性【答案】B【解析】本题考查软件工程基础知识。正确性(准确性):正确实现算法功能,最重要的指标, 是能否得到正确或相符的结果或效

26、果有关的软件 。可靠性:元件、产品、系统在一定时间内、在一定条件下无故障地执行指定功能的能力或可能性。友好性:具有良好的使用性。可读性:可读的、可以理解的,方便分析、修改和移植。健壮性:对不合理的数据或非法的操作能进行检查、纠正。效率:对计算机资源的消耗,包括计算机内存和运行时间的消耗。可移植性:软件从一个计算机系统或环境转移到另一个计算机系统或环境的难易程度。15. 单选题C语言程序中如果定义了名字都为a的全局变量和局部变量,则( )。问题1选项A.编译时报告名字a重复定义错误B.对a的引用固定指向全局变量C.对a的引用固定指向局部变量D.在局部变量a的作用域内屏蔽全局变量a【答案】D【解析

27、】本题考查程序语言的基础知识。通常来说,一段程序代码中所用到的名字并不总是有效可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域,包括静态作用域原则和最近嵌套原则。静态作用域原则是指编译时就可以确定名字的作用域,也可以说,仅从静态读程序可确定名字的作用域。当作用域形成嵌套关系时,如块包含在函数中,函数包含在文件中,则最接近引用处定义的名字有效。从名字被定义的代码位置开始,局部变量若是定义在复合语句中,则仅在其所定义的复合语句中可引用;若是定义在函数中,则在其所定义的函数中可引用。而全局变量则可在多个函数或多个程序语言中被引用。如果有相同名字的全局变量和局部变量a,则在引用名字a的代码

28、所在作用域中,局部变量a的作用域内屏蔽全局变量a。16. 单选题在Excel中,“工作表”是由行和列组成的表格,列和行分别用( )标识。问题1选项A.字母和数字B.数字和字母C.数字和数字D.字母和字母【答案】A【解析】本题考查Excel基础知识。“工作表”是用行和列组成的表格,列和行分别用字母和数字标识,单元格的标记为“列号+行号”,如A5(第一列第5行)、C2(第3列第2行)。17. 单选题编译和解释是实现高级程序设计语言的两种基本方式,( )是这两种方式的主要区别。问题1选项A.是否进行代码优化B.是否进行语法分析C.是否生成中间代码D.是否生成目标代码【答案】D【解析】本题考查程序语言

29、基础知识。解释程序和编译程序都是针对于高级语言进行处理的程序,两者在词法、语法和语义分析方面与编译程序的工作原理基本相同,但是在运行用户程序时,解释程序直接执行源程序或源程序的内部形式,并不产生源程序的目标代码,而编译程序一定会生成目标代码,因此是否生成目标代码是解释和编译程序的主要区别。18. 单选题数据库系统中,构成数据模型的三要素是( )。问题1选项A.数据类型、关系模型、索引结构B.数据结构、网状模型、关系模型C.数据结构、数据操作、完整性约束D.数据类型、关系模型、完整性约束【答案】C【解析】本题考查数据库基础知识。数据模型(Data Model)是现实世界数据特征的抽象,或者说是现

30、实世界的数据模拟。数据库中,用数据模型来抽象地表示现实世界的数据和信息。数据模型的三要素是:数据结构、数据操作及完整性约束条件。19. 单选题以下关于数据流图基本加工的叙述中,错误的是( )。问题1选项A.对数据流图中的每一个基本加工,应该对应一个加工规格说明B.加工规格说明必须描述基本加工如何把输入数据流转换为输出数据流的加工规则C.加工规格说明必须描述如何实现加工的细节D.加工规格说明中包含的信息应是充足的、完备的和有用的【答案】C【解析】本题考查软件工程结构化分析的基础知识。数据流图是结构化分析的核心模型,描述数据在系统中如何被传送或变换以及描述如何对数据流进行变换的功能(子功能),用于

31、功能建模。进行软件系统开发时,一般会建立分层的数据流图,不断细化对系统需求的理解。数据流图的基本要素包括外部实体、加工、数据流和数据存储。通过对加工的分解得到分级式数据流图,直到加工变成基本加工。此时应该对每个基本加工提供一个加工规格说明,描述基本加工如何把输入数据流转换为输出数据流的加工规则。 在说明中,信息应是充足的、完备的和有用的。但是加工规格说明不是算法实现,因此不需要描述如何实现加工的细节。20. 单选题函数main()、f()的定义如下所示。调用函数f()时,采用引用调用方式(all by reference),从函数f()返回后,main()中x的值为( )。问题1选项A.1B.2C.4D.5【答案】A【解析】本题考查程序语言的基础知识。引用调用是指在被调用函数中,形参是实参的引用(或别名),在被调用函数中对形参的操作即是对实参的操作,因此结束调用后对实参进行修改的结果得以保留。在本例中,形参a即main中的实参x,在f中a为本地变量x减去1,结果为1,main中的x被修改为1,因此最后输出为1。在具体实现中,引用参数的实现是将实参的地址传递给形参,借助指针实现对实参变量的访问。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!