软考软件设计师模拟试题及答案解析.docx
- 文档编号:3038391
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:7
- 大小:19.18KB
软考软件设计师模拟试题及答案解析.docx
《软考软件设计师模拟试题及答案解析.docx》由会员分享,可在线阅读,更多相关《软考软件设计师模拟试题及答案解析.docx(7页珍藏版)》请在冰豆网上搜索。
软考软件设计师模拟试题及答案解析
2020年软考软件设计师模拟试题及答案解析
41.不是C语言提供的合法关键字是(46)
(45)A.switch
B.begin
C.case
D.default
参考答案:
(46)B。
解析:
因C语言的关键字表中没有begin,它不是C语言的关键字。
所以解答是B。
42.下列字符列中,能作为单个标识符是(47)
(47)A.?
a
B.a=2
C.a.3
D.a___3
参考答案:
(47)D。
解析:
在C语言中,规定标识符是这样一种字符序列,由英文字母或下线字符开始,后接任1个英文字母、下线字符和数字符组成。
所以问题所列的字符列只有a_3是标识符,其余都l是标识符,一个是由字符’?
’开头、一个中间有字符’=’,另一个有字符’.’。
所以解答是D。
43.在C语言中,下列说法中错误的是(48)
(47)A.函数定义能够分为两个部分:
函数说明部分和函数体
B.主函数能够调用任何非主函数
C.任何非主函数能够调用其它任何非主函数
D.程序能够从任何函数开始执行
参考答案:
(48)D。
解析:
每个C函数的定义分两部分,函数说明部分和函数体,所以叙述①是准确的叙述。
C语言中,函数能够递归调用,主函数能够调用程序中的任何函数,当然能够调用任何非主教的其它函数,所以叙述②是一个准确的叙述。
同样理由,叙述③也是准确的。
C语言规,C程序只有一个主函数,并总是从主函数开始执行,不能从非主函数开始执行。
所以,说程能够从任何函数开始执行是错误的。
所以解答是D。
44.为了直观地分析系统的动作,从特定的视点出发描述系统的行为,需要采用动态分析的方法。
其中,
(49)适用于描述与分析相互独立、协同操作的处理系统,也就是并发执行的处理系统。
(49)A.状态迁移图
B.时序图
C.Petri网
D.HIPO图
参考答案:
(49)C。
解析:
为了直观地分析系统的动作,从特定的视点出发描述系统的行为,需要采用动态分析的方法。
常用的动态分析方法有状态迁移图、时序图和Petri网。
状态迁移图是描述系统的状态如何响应外部的信号实行推移的一种图形表示。
时序图用于对比在系统中处理时间的时序与相对应的处理时间,实行系统分析。
Petri网方法本来是表达异步系统的控制规则的图形表示方法,现在已经广泛地应用于硬件与软件系统的开发中,它适用于描述与分析相互独立、协同操作的处理系统,也就是并发执行的处理系统。
在结构化设计中,分层输入-处理-输出图(HIPO图)既能够描述软件总的模块层次结构,又能够描述每个模块的输入/输出关系、处理内容、模块的内部数据和模块的调用关系。
它是系统设计的重要成果,也是系统实施阶段编制程序设计任务书和实行程序设计的出发点和依据。
46.函数调用语句“f((el,e2),(e3,e4,e5));”中参数的个数是(51)
(51)A.1
B.2
C.4
D.5
参考答案:
(51)B。
解析:
上述函数调用中,(e1,e2)和(e3,e4,e5)是两个带括号的表达式,所以函数调用只提供两个实参,其中第一个实参先计算el的值,然后计算e2,并以e2的值为实参。
第二个实参顺序计算e3,e4,e5,并以e5的值为实参。
所以解答是B。
47.C语言中,函数的隐含存储类型是(52)
(52)A.auto
B.static
C.extern
D.无存储类别
参考答案:
(52)C。
解析:
因为C函数内不能再定义函数,C函数的存储类型只能是静态的或外部的之一。
若定义函数时不指定存储类型是静态的,则它的存储类型就是外部的(extern),即函数允许被程序的其它函数调用。
所以解答是C。
48.测试是保证软件质量的重要手段。
根据国家标准GB8566-88《计算机软件开发规范》的规定,应该在(53)阶段制定系统测试计划。
(53)A.需求分析
B.概要设计
C.详细设计
D.系统测试
参考答案:
(53)A
49.以下对C语言函数的相关描述中,准确的是(54)
(54)A.在C语言中,调用函数时,只能把实参的值传递给形参,形参的值不能传递给实参
B.C函数既能够嵌套定义,又能够递归调用
C.函数必须有返回值,否则不能定义成函数
D.C程序中,有调用关系的所有函数必须放在同一个源程序文件中
参考答案:
(54)A。
解析:
C语言规定,调用函数时,只能把实参的值传递给函数的形参。
函数调用时,形参从实参表达式得到初值,报参也是函数的一种局部变量,其值能够改变,但形参的值不能传回给对应的实参。
当函数设置非指针类型的形参时,实参能够是同类型的一般表达式;当函数设置指针类型的形参时,对应的实参也必须是同类型的指针表达式。
所以叙述A是准确的。
C语言虽能够递归调用,但同时规定,在函数内不能再定义函数,所以叙述B是错误的。
通常C函数会有返回值,但也能够没有返回值。
有很多情况,函数的执行是完成某种预定的工作,并没有返回值,所以叙述C是不准确的。
在C程序中,如函数未指定是静态的,则就是外部的,能让别的文件中的函数调用。
但函数要调用别的文件中的函数,在调用代码之前,需对它作说明,所以叙述D也是不准确的。
准确的解答只有A。
50.某软件产品在应用初期运行在Windows2000环境中。
现因某种原因,该软件需要在Linux环境中运行,而且必须完成相同的功能。
为适合该需求,软件本身需要实行修改,而所需修改的工作量取决于该软件的(55)。
(55)A.可复用性
B.可维护性
C.可移植性
D.可扩充性
参考答案:
(55)C。
解析:
软件的可复用性指软件或软件的部件能被再次用于其他应用中的水准。
软件复用性取决于其模块独立性、通用性和数据共享性等。
软件的可维护性是指一个软件模块是否容易修改、更新和扩展,即在不影响系统其他部分的情况下修改现有系统功能中问题或缺陷的水平。
软件的可移植性指将软件系统从一个计算机系统或操作系统移植到另一种计算机系统或操作系统中运行时所需工作量的大小。
可移植性取决于系统中硬件设备的特征、软件系统的特点和开发环境,以及系统分析与设计中关于通用性、软件独立性和可扩充性等方面的考虑。
软件的可扩充性指软件的体系结构、数据设计和过程设计的可扩充水准。
可扩充性影响着软件的灵活性和可移植性。
由以上分析可知,该软件产品从Windows2000环境中迁移到Linux环境中运行,为完成相同的功能,软件本身需要实行修改,而所需修改的工作量取决于该软件产品的可移植性。
51.进程的五态模型包括运行状态、活跃就绪状态、静止就绪状态、活跃阻塞状态和静止阻塞状态。
针对图5的进程五态模型,为了确保进程调度的正常工作,(a)、(b)和(c)的状态分别为(56)。
软件设计师练习试题及答案解析
图6进程的五态模型图
(56)A.静止就绪、静止阻塞和活跃阻塞
B.静止就绪、活跃阻塞和静止阻塞
C.活跃阻塞、静止就绪和静止阻塞
D.活跃阻塞、静止阻塞和静止就绪
参考答案:
(56)D。
解析:
在多道程序系统中,进程在处理器上交替运行,在运行、就绪和阻塞3种基本状态之间持续地发生变化。
因为进程的持续创建,系统资源(特别是主存资源)已不能满足进程运行的要求。
此时就必须将某些进程挂起,对换到磁盘镜像区,暂时不参与进程调度,以平衡系统负载的目的。
如果系统出现故障,或者是用户调试程序,也可能需要将进程挂起检查问题。
在图6具有挂起状态的进程状态及其转换图中,活跃就绪是指进程在主存并且可被调度的状态。
(1)空缺处各选项中,静止就绪是指进程被对换到辅存时的就绪状态,是不能被直接调度的状态,只有当主存中没有活跃就绪态进程,或者是挂起态进程具有更高的优先级,系统将把挂起就绪态进程调回主存并转换为活跃就绪。
所以,图6的(c)空缺处应填入“静止就绪”这个状态。
活跃阻塞是指进程在主存中。
一旦等待的事件产生,便进入活跃就绪状态。
所以,图6的(a)空缺处应填入“活跃阻塞”。
静止阻塞是指进程对换到辅存时的阻塞状态。
一旦等待的事件产生,便进入静止就绪状态。
故图6的(b)空缺处应填入“静止阻塞”。
由以上分析可知,(56)空缺处的准确答案是选项D。
另外,对于一张完整的进程五态模型图,则需在图3-4模型图中增加一条从“运行”态到“活跃阻塞”态的边,其状态转换原因是“等待”事件(如I/O请求)发生,以及增加一条从“运行”态到“静止就绪”态的边,其状态转换原因是“挂起”。
52.基于构件的开发(CBD)模型,融合了(57)模型的很多特征。
该模型本质是演化的,采用迭代方法开发软件。
(57)A.瀑布
B.螺旋
C.喷泉
D.快速应用开发(RAD)
参考答案:
(57)B。
解析:
螺旋模型是演化软件过程模型的一种,最早由Boehm提出,它将原型实现的迭代特征与线性顺序模型中控制的和系统化的方面结合起来,使软件增量版本的快速开发成为可能。
在螺旋模型中,软件开发是一系列的增量发布。
面向对象技术为软件工程的基于构件的过程模型提供了技术框架。
基于构件的开发模型融合了螺旋模型的很多特征。
它本质上是演化型的,要求软件创建迭代方法。
基于构件的开发模型是利用预先包装好的软件构件来构造应用的。
统一软件开发(RUP)过程是在产业界提出的一系列基于构件的开发模型的代表。
53.设有定义“inta=3,b,*p=&a;”,则下列语句中使b不为3的语句是(58)
(58)A.b=*&a;
B.b=*p;
C.b=a;
D.b=*a;
参考答案:
(58)D。
解析:
定义有inta=3,b,*p=&a;对b赋值的表达式有*&a、*p、a、*a。
引用变量。
的值有两种方法,一是直接引用a,二是通过a的指针间接引用a。
对于后者,又有多种表达方法,通过指向a的指针p,间接引用a的内容,如*p。
或通过求地址运算符由变量a得到其指针&a,再由这指针表达式间接引用a的内容,如*&a。
所以表达式*&a、*p和a都能引用变量a的值,而使b的值为3。
而表达式。
a是错误的,因为a不是指针变量,不能对它施行取内容运算符。
。
所以解答是D。
54.设指针x指向的整型变量值为万,则"printf("%d",++*x);"的输出是(59)
(59)A.23
B.24
C.25
D.26
参考答案:
(59)D。
解析:
若指针变量x指向某个变量,例如指向变量v,并且变量v的值是25,则表达式++*x的值是26。
这是因为表达式的计算顺序可加圆括号表达成(++(*x)),首先是*x,是对X所指变量V的引用,所以++*X就是++V。
++V是先让变量V增1,并以增至后的V的值为表达式++V的结果,所以其值是26。
所以解答是D。
55.若有说明:
“inti,j=7,*p=&i;”,则与“i=j;”等价的语句是(60)
(59)A.i=*p;
B.*P=*&j;
C.i==&j;
D.i=**p;
参考答案:
(60)B。
解析:
指针变量p指向变量i时,表达式i=*p等价于i=i;表达式*p=*&j等价于i=j;而表达式i=&j企图将整型变量的指针赋给整型变量,这是错误的;表达式i=**p也是一种错误的表达式。
p是指针,*p是p所指变量j,**p是企图将整型变量j当作指针,并想通过j
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 设计师 模拟 试题 答案 解析