2022年软考-程序员考前拔高综合测试题(含答案带详解)第100期

上传人:壹****1 文档编号:456357799 上传时间:2024-01-25 格式:DOCX 页数:24 大小:1.15MB
返回 下载 相关 举报
2022年软考-程序员考前拔高综合测试题(含答案带详解)第100期_第1页
第1页 / 共24页
2022年软考-程序员考前拔高综合测试题(含答案带详解)第100期_第2页
第2页 / 共24页
2022年软考-程序员考前拔高综合测试题(含答案带详解)第100期_第3页
第3页 / 共24页
2022年软考-程序员考前拔高综合测试题(含答案带详解)第100期_第4页
第4页 / 共24页
2022年软考-程序员考前拔高综合测试题(含答案带详解)第100期_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《2022年软考-程序员考前拔高综合测试题(含答案带详解)第100期》由会员分享,可在线阅读,更多相关《2022年软考-程序员考前拔高综合测试题(含答案带详解)第100期(24页珍藏版)》请在金锄头文库上搜索。

1、2022年软考-程序员考前拔高综合测试题(含答案带详解)1. 单选题右图是求数组A中最大元素的程序流程图,图中共有( )条路径。假设数组A有5个元素(n=5),输入序列(即数组A的元素)为( )时, 执行过程不能覆盖所有的语句。问题1选项A.1B.2C.3D.4问题2选项A.1,2,3,4,5B.2,1,3,4,5C.3,1,4,2,5D.5,4,3,2,1【答案】第1题:C第2题:D【解析】本题考查软件工程软件测试的基础知识。很容易看出来本题的流程图中包含3条路径(循环的只计算1次),分别对应YN,YYN,YNN,因此第一空选择C。而第二空是要满足覆盖所有的语句,前3个选项测试用例都有AjA

2、k的情况,此时,第二个判断为Y,会执行语句k=j,而选项D给出的测试用例在第二个判断均为N,不会执行k=j这条语句。2. 单选题某计算机系统页面大小为4K,进程P的页面变换表如下表所示。若中某数据的逻辑地址为十六进制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位十六进制

3、)来表示页面大小,所以在逻辑地址(4位十六进制表示下)中:后3位为页内地址,前1位为页号。因此:逻辑地址为十六进制2C18H,其页号为2,页内地址为 C18H。查页表后可知:页号为2的页会存储到物理块号为5的页内,所以该地址经过变换后,其物理地址应为物理块号5拼上页内地址C18H,即十六进制5C18H。3. 案例题阅读以下说明和C代码,填补C代码中的空缺,将解答写在答题纸的对应栏内。【说明】【C代码】【答案】(1) fabs(x)本题考查C程序基本运算和流程控制的应用。函数cubeRoot(x)根据给定的公式计算x的立方根。根据精度要求,绝对值小于1e-6的数,其立方根为0,因此,空(1)处应

4、填入“fabs(x)n,x2对应公式中的xn+1,每次循环时,需要将x2传给x1,再计算出新的x2,因此空(2)处应填入“x2”,空(3)处应填入“x/(x1*x1)”。在满足精度要求时结束循环,即空(4)处应填入“(x2-x1)/x1 ”。根据题干部分的说明,显然空(5) 处应填入“x+=0.1”或其等效形式。4. 单选题以下关于信息的描述,错误的是( )。问题1选项A.信息具有时效性和可共享性B.信息必须依附于某种载体进行传输C.信息可反映客观事物的运动状态和方式D.无法从数据中抽象出信息【答案】D【解析】本题考查信息化基础知识。信息的主要特征包括:可识别性、时效性、动态性、普遍性、可存储

5、性、可压缩性、可转换性、可度量性和可共享性。可识别性是信息主要特征之一,不同的信息源有不同的识别方法,并从数据中抽象出信息。会通过数据收集、处理和分析,从而从数据中获取信息,进行有效决策。5. 单选题以下关于汇编语言的叙述中,正确的是( )。问题1选项A.汇编语言源程序只能由伪指令语句构成B.汇编语言源程序都是通过对某高级语言源程序进行编译而得到的C.汇编语言的每条指令语句可以没有操作码字段,但必须具有操作数字段D.汇编语言的每条指令语句可以没有操作数字段,但必须具有操作码字段【答案】D【解析】本题考查程序语言中汇编语言的基础知识。汇编语言(Assembly Language)是一种低级语言,

6、亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。汇编语言不能直接由机器执行,需要通过汇编程序翻译为机器语言后再执行。汇编语句可以有四个组成部分:标号(可选),指令助记符(操作码,必需),操作数(通常是必需的),注释(可选)。6. 案例题阅读下列说明和C+代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】现如今线下支付系统可以使用现金(Cash)、移动支付、银行卡(Card)(信用卡 (CreditCard)和储蓄卡(DebitCard)等多种支付方式(PaymentMethod)对物品(Item) 账单(Bill)进行支付。图6-1是

7、某支付系统的简略类图。图6-1 类图【C+代码】#include#includevector#includestringusing namespace std;class PaymentMethod public: virtual void pay(int cents)=0;;/ Cash、DebitCard和Item实现略,Item中getPrice( )获取当前物品对象的价格class Card : public PaymentMethod private: string name, num;public: Card(string name, string num) this-name =

8、 name; this-num = num; string toString( ) return this-getType( ) + cardname = + name + ,num = + num + ; ) void pay(int cents) coutexecuteTransaction(cents); protected: virtual string getType( )=0; virtual void (1) =0:;class CreditCard (2) public: CreditCard(stringname, stringnum) (3) protected: stri

9、ng getType( ) return CREDIT ; void executeTransaction(int cents) coutclass Bill /包含所有购买商品的账单private: vector items; /包含物品的 vectorpublic: void add(Item* item) items.push_back(item); int getTotalPrice( ) /*计算所有item的总价格,代码略*/ void pay(PaymentMethod* paymentMethod) /用指定的支付方式完成支付 (4) (getTotalPrice( ); ;c

10、lass PaymentSystempublic: void pay( ) Bill* bill = new Bill( ); Item* item1= new Item1234,10); Item* item2 = new Item(5678,40); bill-add(item1); bill-add(item2); /将物品添加到账单中 (5) (new CreditCard(LI SI, 98765432101); /信用卡支付 ;Intmain( ) (6) = new PaymentSystem( ); payment-pay( ); return 0;【答案】(1)execute

11、Transaction(int cents)(2):public Card(3):Card(name,num)(4)paymentMethod-pay(5)bill-pay(6)PaymentSystem *payment【解析】(1)定义虚方法,在子类中实现,包含getType()和executeTransaction(int cents)两个。(2)CreditCard继承Card,所以这里填继承,用::public Card。(3)CreditCard内有构造方法,并将方法内的参数传递给父类的私有成员,填 :Card(name,num)。(4)利用paymentMethod对象调用pay

12、方法,并传入具体价格getTotalPrice,这里填paymentMethod-pay。(5)调用bill的pay方法,bill-pay。(6)通过PaymentSystem *payment=new PaymentSystem进行创建对象指针。7. 单选题If the stack is full and does not contain enough space to accept an entity to be pushed, the stack is then considered to be in a stack( )state.问题1选项A.emptyB.overflowC.und

13、erflowD.synchronized【答案】B【解析】如果栈满,没有足够的空间再容纳推进来的一个数据条目,该栈就处于( )状态。A.empty(空)B.overflow(溢出)C.underflow(下溢)D.synchronized(同步)8. 单选题C语言规定程序中的变量必须先定义(或声明)再引用,若违反此规定,则对程序进行( )时报错。问题1选项A.汇编B.编译C.链接D.运行【答案】B【解析】本题考查程序语言编译程序的基础知识。将C语言源程序翻译为可执行程序的过程为:首先进行编辑,编辑后进行预处理,之后进行编译形成目标代码(若目标代码为汇编语言形式,则需要进一步汇编),最后进行链接以生成可执行程序代码。如果没有对变量进行声明(定义)就使用,则在编译时会报错,属于语法错误, 只有不存在语法错误及静态语义错误的程序才能编译为目标代码。9. 单选题目前,云计算(clou

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

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

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