计算机技术与软件专业技术资格考试初级程序员真题精选.docx
- 文档编号:813138
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:25
- 大小:311.24KB
计算机技术与软件专业技术资格考试初级程序员真题精选.docx
《计算机技术与软件专业技术资格考试初级程序员真题精选.docx》由会员分享,可在线阅读,更多相关《计算机技术与软件专业技术资格考试初级程序员真题精选.docx(25页珍藏版)》请在冰豆网上搜索。
计算机技术与软件专业技术资格考试初级程序员真题精选
2019年计算机技术与软件专业技术资格考试(初级程序员)真题精选
[单项选择题]
1、商标法保护的对象是()。
A.商品
B.商标
C.注册商标
D.已使用的商标
参考答案:
C
参考解析:
本题考查的是标准化和知识产权的知识,商标法保护的对象是注册商标。
[单项选择题]
2、我国《计算机软件保护条例》是保护计算机软件的一项法规,是具有实施效用的法律文件,并非缺乏独创性。
但对它的考虑,首先是促使其自由传播和复制,以便使人们充分地了解和掌握,不在著作权保护范围内。
软件合法复制品(光盘)所有人不享有()。
A.软件著作权
B.必要的修改权
C.软件装机权
D.软件备份权
参考答案:
A
参考解析:
我国《计算机软件保护条例》是保护计算机软件的一项法规,是具有实施效用的法律文件,并非缺乏独创性。
但对它的考虑,首先是促使其自由传播和复制,以便使人们充分地了解和掌握,不在著作权保护范围内。
[填空题]
3阅读以下说明和C++代码,将应填入_____处的字句写在答题纸的对应栏内。
【说明】现需要统计某企业员工的月平均工资,即该企业本月发给员工的工资总和除以员工数。
假设企业本月发给员工的工资总和为sumSalary,该企业的员工总数为employeeNumber,下面的程序代码计算该企业员工本月的平均工资,其中需要处理employNumber为0的情况。
【C++代码】【问题1】程序运行时,若输入的员工工资总和为6000,员工数为5,则屏幕输出为:
请输入当月工资总和与员工数:
【问题2】若程序运行时,第一次输入的员工工资总和为6000,员工数为0,第二次输入的员工工资总和为0,员工数为0,则屏幕输出为:
请输入当月工资总和与员工数:
参考答案:
(1)0或y
(2)catch(3)Departmentd(4)catch(5)平均工资:
1200.00
参考解析:
一般而言,try语句块中编写正常工作的语句,catch语句块中主要编写用于处理异常情况发生时的语句,而finally块中则包含不论是否发生异常都需要执行的语句。
若输入的数据为6000和5,则整个程序能够计算出其平均值为1200,并且输出caculate中的输出语句,结果为"平均工资:
1200.0"。
若输入的数据为6000和0,则程序中caculate方法中的catch语句会首先捕获到average抛出的异常,要求重新输入数据,并再次调用average方法,由于输入的数据为0和0,所以average会再次抛出异常,这个异常将由main方法中的catch捕获。
[单项选择题]
4、商标法主要是保护()的权利。
A.商标设计人
B.商标注册人
C.商标使用人
D.商品生产权
参考答案:
B
参考解析:
商标法主要是保护商标注册人的权利。
[填空题]
5阅读以下说明和C++代码,将应填入_____处的字句写在答题纸的对应栏内。
【说明】已知类LinkedList表示列表类,该类具有4个方法:
addElement()、lastElement()、numberOfElement()以及removeLastElement()。
4个方法的含义分别如下。
voidaddElement(Obect):
在列表尾部添加一个对象。
ObjectlastElement():
返回列表尾部对象。
intnumberOfElement():
返回列表中对象的个数。
voidremoveLastElement():
删除列表尾部的对象。
现需要借助LinkedList来实现一个Stack栈类,C++代码1和C++代码2分别采用继承和组合的方式来实现。
【C++代码1】【C++代码2】【问题】若类LinkedList新增加了一个公有的方法removeElement(intindex),用于删除列表中第index个元素,则在用继承和组合两种实现栈类Stack的方式中,哪种方式下Stack对象可访问方法removeElement(intindex)?
__(5)__(A.继承B.组合)
参考答案:
(1)lastElement()
(2)removeLastElement()(3)LinkedListlist(4)lastElement()(5)A
参考解析:
栈是一种数据结构,是只能在某一端插入和删除的特殊线性表。
它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来),所以获取栈顶元素只需读出最后一个元素即可,因此
(1)、(4)处均应为lastElement()。
栈是允许在同一端进行插入和删除操作的特殊线性表,允许进行插入和删除操作的一端称为栈顶(top),另一端称为栈底(bottom),插入一般称为压栈(PUSH),删除则称为弹栈(POP)。
所以
(2)处进行弹栈操作时应删除最后一个元素,因此
(2)处应为removeLastElement()。
代码2中list没有声明,所以(3)处应为LinkedListlist。
对象可以直接访问的方法应该是本类中的所有方法或其父类的非私有方法,所以若类LinkedList新增加了一个公有的方法removeElement(intindex),则Stack对象可以通过代码1中的继承方式来访问该方法。
[单项选择题]
6、软件著作权的客体是指()。
A.公民、法人或其他组织
B.计算机程序及算法
C.计算机程序及有关文档
D.软件著作权权利人
参考答案:
C
[填空题]
7阅读以下说明和C++代码,将应填入____处的语句或语句成分写在答题纸的对应栏内。
某数据文件students.txt的内容为100名学生的学号和成绩,下面的程序将文件中的数据全部读入对象数组,按分数从高到低进行排序后选出排名前30%的学生。
【C++代码】
参考答案:
(1)intStudent
(2)voidStudent(3)getCredit()(4)getCredit()(5)newStudent(6)SortStudentss=newSortStudent
参考解析:
本题考查类和对象的概念。
类的成员函数在类外部进行定义,其格式为:
<返回类型><类名>:
:
<成员函数名>(<参数表>)。
同时返回类型应当与声明时的类型一致。
因此
(1)中应填"intStudent",
(2)中应填"voidStudent"。
(3)和(4)两空显然要填写成绩的信息,Student类中有两个成员可以获得成绩信息。
数据成员credit和成员函数getCredit()。
而数据成员credit是private权限的,只能由该类中的函数和友元函数访问。
从SortStudent类的定义中可以知道Student是其成员对象,因此可以访问public权限的成员函数getCredit()。
因此,(3)和(4)填"getCredit()"。
类的对象首次出现时,需要新建,因此(5)中填"newStudent"。
ss对象引用了sort函数,因此它应该是SortStudent类的对象,在使用前需要新建,因此,(6)填"SortStudentss=newSortStudent"。
[单项选择题]
8、下列选项中不受我国著作权法保护的作品是()。
A.计算机程序
B.Flash软件制作的动画
C.计算机文档
D.计算机软件保护条例
参考答案:
D
参考解析:
本题考查的是标准化和知识产权的知识,计算机软件保护条例不受我国著作权法保护。
[单项选择题]
9、李某购买了一张有注册商标的正版软件光盘,擅自将其复制出售,则该行为侵犯了开发商的()。
A.财产所有权
B.商标权
C.物权
D.知识产权
参考答案:
D
参考解析:
将他人的软件光盘占为己有,涉及的是物体本身,即软件的物化载体,该行为是侵犯财产所有权的行为。
如果行为人虽未占有这一软件光盘,(如借或租他人一张软件光盘,使用后返还),但擅自将该软件光盘复制出售,则该行为涉及的是无形财产,即软件开发商的思想表现形式(知识产品),属于侵犯知识产权行为。
[填空题]
10阅读以下说明和C函数,将应填入____处的语句或语句成分写在答题纸的对应栏内。
说明1:
函数deldigit(char*s)的功能是将字符串s中的数字字符去掉,使剩余字符按原次序构成一个新串,并保存在原串空间中。
其思路是:
先申请一个与s等长的临时字符串空间并令t指向它,将非数字字符按次序暂存入该空间,最后再复制给s。
【C函数】说明2:
函数reverse(char*s,intlen)的功能是用递归方式逆置长度为len的字符串s。
例如,若串s的内容为"abcd",则逆置后其内容变为"dcba"。
【C函数】
参考答案:
(l)strlen(s)
(2)s[i](3)t[k](4)len>1(5)s+1,len-2
参考解析:
函数deldigit(char*s)的思路是先申请一个与s等长的临时字符串空间并令t指向它,则
(1)完成该步骤。
s的长度用strlen()函数求得,这个函数在题"i 将非数字字符按次序暂存入该空间,则程序的for循环完成该步骤。 "*(s+i)>=’0’&&*(s+i)<=’9’"表示用ASCI码逐个判断s中的字符是否为数字,如果是非数字,则该字符暂存入该空间t。 因此 (2)中应填"s[i]"。 因为每次赋值之后,k都自动加1,所以,设置串尾结束符时,k不必再加1,直接将(3)填为"t[k]"。 函数reverse(char*s,intlen),函数中又有reverse函数,说明本程序是个递归函数。 那么需要判断该串是否为只含有1个字母的串。 当长度大于1时,才需要继续递归,因此,(4)中应填"len>1"。 本函数逆置字符串的做法是将串的第一字符和最后一个字符对换。 然后递归剩下的字符串。 因此,(5)中应填"s+1,len-2"。 [单项选择题] 11、用户提出需求并提供经费,委托软件公司开发软件。 但在双方商定的协议中未涉及软件著作权的归属,则软件著作权属于()所有。 A.软件用户 B.软件公司 C.用户与软件公司共同 D.社会公众 参考答案: B 参考解析: 依据我国《著作权法》、《计算机软件保护条例》,委托开发的软件,可归属于委托方,也可归属于受托方,或者由委托方和受托方双方共有。 具体情况由双方订立的合同约定来确认软件著作权的归属。 如果委托方和受托方之间签订了书面的委托开发合同,并对委托开发的软件著作权的归属有明确约定的,那么该委托开发软件著作权应依照合同的约定确认著作权归属关系。 对于在委托开发软件活动中,委托方和受托方之间没有签订书面的委托开发合同,或者虽然签订了书面的委托开发合同,但是合同中对该委托开发软件著作权的归属约定不明确的,那么根据法律的规定,该委托开发软件的著作权则属于受托者所有,但是委托人可以享有该软件的使用权。 法律的这种规定主要是考虑了受托人是软件的实际开发者,是软件真实的智力投资者,符合开发者享有软件著作权的一般原则。 所以,本题涉及的软件著作权应属于软件公司。 [填空题] 12下面代码的设计意图是: 将保存在文本文件data.txt中的一系列整数(不超过100个)读取出来存入数组arr[],然后调用函数sort()对数组arr的元素进行排序,最后在显示屏输出数组arr的内容。 【C代码】问题: 以上C代码中有三处错误(省略部分的代码除外),请指出这些错误所在的代码行号,并在不增加和删除代码行的情况卜进行修改,写出修改正确后的完整代码行。 参考答案: 14行,应改为"FILE*fp"19行,应改为fscanf(fp,"%d’’,&arr[num++]);21行,应改为sort(arr,num); 参考解析: 中fp为文件打开后的指针
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机技术 软件 专业技术资格 考试 初级 程序员 精选