2022年软考-程序员考试题库(难点、易错点剖析)附答案有详解40

上传人:大米 文档编号:456949867 上传时间:2023-08-08 格式:DOCX 页数:20 大小:461.65KB
返回 下载 相关 举报
2022年软考-程序员考试题库(难点、易错点剖析)附答案有详解40_第1页
第1页 / 共20页
2022年软考-程序员考试题库(难点、易错点剖析)附答案有详解40_第2页
第2页 / 共20页
2022年软考-程序员考试题库(难点、易错点剖析)附答案有详解40_第3页
第3页 / 共20页
2022年软考-程序员考试题库(难点、易错点剖析)附答案有详解40_第4页
第4页 / 共20页
2022年软考-程序员考试题库(难点、易错点剖析)附答案有详解40_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《2022年软考-程序员考试题库(难点、易错点剖析)附答案有详解40》由会员分享,可在线阅读,更多相关《2022年软考-程序员考试题库(难点、易错点剖析)附答案有详解40(20页珍藏版)》请在金锄头文库上搜索。

1、2022年软考-程序员考试题库(难点、易错点剖析)附答案有详解1. 单选题编译和解释是实现高级程序设计语言的两种基本方式,( )是这两种方式的主要区别。问题1选项A.是否进行代码优化B.是否进行语法分析C.是否生成中间代码D.是否生成目标代码【答案】D【解析】本题考查程序语言基础知识。解释程序和编译程序都是针对于高级语言进行处理的程序,两者在词法、语法和语义分析方面与编译程序的工作原理基本相同,但是在运行用户程序时,解释程序直接执行源程序或源程序的内部形式,并不产生源程序的目标代码,而编译程序一定会生成目标代码,因此是否生成目标代码是解释和编译程序的主要区别。2. 单选题假设有6个进程共享一个

2、互斥段N,如果最多允许3个进程同时访问互斥段N,那么利用PV操作时,所用信号量S的变化范围为( );若信号量S的当前值为-1,则表示系统中有( )个正在等待该资源的进程。问题1选项A.06B.-15C.-24D.-33问题2选项A.0B.1C.2D.3【答案】第1题:D第2题:B【解析】第1题:第2题:本题考查操作系统进程管理同步与互斥方面的基础知识。系统中有6个进程共享一个互斥段N,如果最多允许2个进程同时进入N,那么信号量S的初值应设为3。假设6个进程依次进入N,那么当第一个进程进入N时,信号量S减1,等于2;当第二个进程进入N时,信号量S减1,等于1;当第三个进程进入N时,信号量S减1,

3、等于0;当第四个进程进入N时,信号量S减1,等于-1;当第五个进程进入N时,信号量S减1,等于-2;当第六个进程进入N时,信号量S减1,等于-3。可见,信号量的变化范围是-33。根据PV操作定义,当信号量的值小于0时,其绝对值表示等待资源的进程数,所以试题中,信号量S的当前值为-1,则表示系统中有1个进程请求资源得不到满足。3. 单选题针对C语言源程序进行编译的过程,下面说法中正确的是( )。问题1选项A.需对未定义的变量报告错误B.需判断变量的值是否正确C.需计算循环语句的执行次数D.需判断循环条件是否正确【答案】A【解析】本题考查计算机系统的基础知识。对C语言源程序进行翻译的过程包括预处理

4、、编译、链接等过程,编译过程中需要进行词法分析、语法分析、语义分析、中间代码生成、优化和目标代码生成,以及出错管理和符号表管理等。程序的语义包括静态语义和动态语义,编译过程中可以处理静态语义,动态语义在运行时处理。未定义的变量可在编译时报告,关于变量的值、循环条件的值及循环体语句的执行次数等都属于动态语义。4. 单选题某班数学考试平均成绩初步算得为86.7分,事后复查发现有两个错误,一个学生的成绩实为69分,却错误录入成96分,另一个学生的成绩实为98分,但错误录入成89分,纠正了这些错误后全班平均成绩为86.3 分。据此可推断该班级共有( )人。问题1选项A.40B.45C.48D.50【答

5、案】B【解析】本题考查应用数学的基础知识。设该班级共有n人,这次考试实际总分应为86.3n分,但两次错误录入导致总分变成86.7n分,使总分增加了(86.7-86.3)n=0.4n分。其中对一个学生错误地增加了96-69=27分,对另一个学生错误地减少了98-89=9分,所以两次错误导致总分增加了27-9=18分。0.4n=18,从而n=45。5. 单选题对象收到消息予以响应时,不同类型的对象收到同一消息可以进行不同的响应,从而产生不同的结果,这种现象称为( )。问题1选项A.继承B.绑定C.聚合D.多态【答案】D【解析】本题考查面向对象基础知识。在采用面向对象技术开发的系统中,对象之间通过发

6、送消息进行交互,对象在收到消息时予以响应。在继承关系的保证下,不同类型的对象收到同一消息可以进行不同的响应,产生完全不同的结果,这种现象叫作多态。在使用多态的时候,用户可以发送一个通用的消息,实现细节由接收对象自行决定。接收消息的对象在继承层次关系中处于较低层次,实现不同行为,有调用时,将需要执行的行为的实现和调用加以结合,即绑定,绑定不同代码也就产生对消息不同响应的效果。聚合是对象之间整体与部分的关系。继承是类与类之间的关系。6. 案例题阅读以下说明和C代码,填补C代码中的空缺,将解答写在答题纸的对应栏内。【说明】【C代码】【答案】(1) fabs(x)本题考查C程序基本运算和流程控制的应用

7、。函数cubeRoot(x)根据给定的公式计算x的立方根。根据精度要求,绝对值小于1e-6的数,其立方根为0,因此,空(1)处应填入“fabs(x)n,x2对应公式中的xn+1,每次循环时,需要将x2传给x1,再计算出新的x2,因此空(2)处应填入“x2”,空(3)处应填入“x/(x1*x1)”。在满足精度要求时结束循环,即空(4)处应填入“(x2-x1)/x1 ”。根据题干部分的说明,显然空(5) 处应填入“x+=0.1”或其等效形式。7. 单选题某C程序中含有下面语句,其执行后,tmp的值是( )。问题1选项A.0B.2C.4D.8【答案】D【解析】本题考查C程序语言的基础知识。逗号表达式

8、的求值过程为:从左至右依次处理由逗号运算符“,”连接的运算对象,先对左侧的表达式求值,结果丢弃,最后保留右侧表达式的值。对tmp的赋值结果来自逗号表达式(x=2,y=4,z=8),该表达式最后的结果为8,因此tmp的值为8。8. 单选题利用( )可以对软件的技术信息、经营信息提供保护。问题1选项A.著作权B.专利权C.商标权D.商业秘密权【答案】D【解析】商业秘密权是指当事人可以依法对商业秘密享有占有、使用、收益和处分的权利。商业秘密权具有知识产权的本质特征,是对创造性成果给予保护的权利形态,可以对软件的技术信息、经营信息提供保护。9. 单选题某高校教学管理系统中的院系关系Department

9、和学生关系Students的模式分别 为:Department (院系号,院系名,负责人,办公电话),学生关系Students (学号,姓名,身份证号,院系号,联系电话,家庭住址)。Department中的“院系号”唯一标识 一个院系,Students中的“学号”能唯一标识一名学生,“家庭住址”可进一步分为邮编、 省、市、街道。根据以上描述可知,关系Students的候选键为( ), “家庭住址” 为( )。创建Students的SQL语句如下,请填补其中的空缺。CREATE TABLE Students(学号 CHAR(8) PRIMARY KEY,姓名 CHAR(16), 身份证号CHAR

10、(18),院系号CHAR(4), 联系电话CHAR(13),家庭住址CHAR(30) FOREIGN KEY ( );问题1选项A.学号B.身份证号和院系号C.学号和身份证号D.学号和院系号问题2选项A.简单属性B.复合属性C.多值属性D.派生属性问题3选项A.(联系电话)REFERENCES Department (办公电话)B.(院系号)REFERENCES Department (院系号)C.(院系号)REFERENCES Students (院系号)D.(负责人号)REFERENCES Students (学号)【答案】第1题:C第2题:B第3题:B【解析】本题考查数据库基础知识。在关

11、系模型中,候选键又称候选码(英语:candidate key),是某个关系变量的一组属性所组成的集合,它需要同时满足下列两个条件:1.这个属性集合始终能够确保在关系中能唯一标识元组。2.在这个属性集合中找不出合适的真子集能够满足条件。在这里,学生的候选键有身份证号和学号。家庭住址是复合属性。该题为外键的考查,院系号作为院系关系的主键,所以在学生关系中院系号是外键。10. 单选题采用直线和曲线等元素来描述的图是( )。问题1选项A.点阵图B.矢量图C.位图D.灰度图【答案】B【解析】矢量图是根据几何特性、通过多个对象的组合生成图形,矢量可以是一个点或一条线。矢量文件中的图形元素称为对象。每个对象

12、都是一个自成一体的实体,它具有颜色、形状、轮廓、大小和屏幕位置等属性。位图也称为点阵图、像素图等,构成位图的最小单位是像素,位图就是由像素阵列的排列来实现其显示效果的,每个像素有自己的颜色信息,在对位图图像进行编辑操作的时候,可操作的对象是每个像素,可以改变图像的色相、饱和度、明度,从而改变图像的显示效果。对位图进行缩放时会失真。11. 案例题阅读以下说明和C代码,回答问题,将解答写入答题纸的对应栏内。【说明】函数bubbleSort(int arr, int n, int (*compare)(int,int)的功能是根据调用时传递的比较函数compare对数组arr的前n个元素进行排序。【

13、C代码】#define swap(a, b) a = ab; b = ab; a = ab; /交换a与b的值int less(int x,int y) return (xy) ? 1 : 0);void bubbleSort(int arr , int n, int (*compare)(int,int) int i,j; int swapped = 1; for( i=0; swapped; i+) swapped = 0; for(j=0; j【问题】设有如下数组定义:int data1 = 4, 2, 6, 3, 1; int data2 = 4, 2, 6, 3, 1; int data3 = 4, 2, 6, 3, 1;请分别给出下面的函数调用执行后,数组data1、data2和data3各自的元素序列。 (1)bubbleSort(data1, 5, less); (2) bubbleSort(data2, 5, larger); (3) bubbleSort(data3, 3, larger); 【答案】(1)1,2,3,4,6(2)6,4,3,2,1(3)6,4,2,3,1【解析】swap函数是将两元素值进行相互交换。less函数是判断x和y的关系,如果xy,则函

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号