软件设计师模拟题及答案解析第三十五套.docx
- 文档编号:25609537
- 上传时间:2023-06-10
- 格式:DOCX
- 页数:13
- 大小:22.32KB
软件设计师模拟题及答案解析第三十五套.docx
《软件设计师模拟题及答案解析第三十五套.docx》由会员分享,可在线阅读,更多相关《软件设计师模拟题及答案解析第三十五套.docx(13页珍藏版)》请在冰豆网上搜索。
软件设计师模拟题及答案解析第三十五套
软件设计师模拟题及答案解析第三十五套
●MPEG视频中的时间冗余信息可以采用_
(1)_的方法来进行压缩编码。
(1)A.帧间预测和变换编码
B.霍大曼编码和运动补偿
C.变换编码和行程编码
D.帧间预测和运动补偿
●假定每一车次具有唯一的始发站和终点站。
如果实体“列车时刻表”属性为车次、始发站、发车时间、终点站、到达时间,该实体的主键是_
(2)_;如果实体“列车运行表”属性为车次、日期、发车时间、到达时间,该实体的主键是_(3)_。
通常情况下,上述“列车时刻表”和“列车运行表”两实体型间_(4)_联系。
(2)A.车次 B.始发站 C.发车时间 D.车次,始发站
(3)A.车次 B.始发站 C.发车时间 D.车次,日期
(4)A.不存在 B.存在一对一 C.存在一对多 D.存在多对多
参考答案:
1.D2.A3.D4.C
OMT定义了三种模型来描述系统。
_
(1)_可以用状态图来表示;_
(2)_可以用数据流图来表示。
_(3)_为上述两种模型提供了基本的框架。
(1)A.对象模型 B.功能模型 C.动态模型 D.类模型
(2)A.对象模型 B.功能模型 C.动态模型 D.类模型
(3)A.对象模型 B.功能模型 C.动态模型 D.类模型
●采用动态规划策略求解问题的显著特征是满足最优性原理,其含义是_(4)_。
(4)A.当前所做出的决策不会影响后面的决策 B.原问题的最优解包含其子问题的最优解
C.问题可以找到最优解,但利用贪心法不能找到最优解 D.每次决策必须是当前看来最优的决策才可以找到最优解
参考答案:
CBAB
关系模式R(U,F),其中U=(W,X,Y,Z),F={WX→Y,W→X,X,→Z,yVw}。
关系模式R的候选码是_
(1)_,_
(2)_是无损连接并保持函数依赖的分解。
(1)A.W和Y B.WY
C.WX D.WZ
(2)A.ρ={R1(WY),R2(XZ)}
B.ρ={R1(WZ),R2(XY)}
C.ρ={R1(WXY),R2(XZ)}
D.ρ={R1(WX),R2(YZ)}
●类的实例化过程是一种实例的合成过程,而不仅仅是根据单个类型进行的空间分配、初始化和绑定。
指导编译程序进行这种合成的是_(3)_。
(3)A.类层次结构 B.实例的个数
C.多态的种类 D.每个实例的初始状态
●重置的基本思想是通过_(4)_机制的支持,使得子类在继承父类界面定义的前提下,用适合于自己要求的实现去置换父类中的相应实现。
(4)A.静态绑定 B.对象引用
C.类型匹配 D.动态绑定
参考答案:
ACAD
1.语句"printf("%d\n"strlen("ats\nol2\1\\"));"的输出结果是()
①11 ②10 ③9 ④8
2.函数调用“strcat(strcpy(strl,str2),str3)”的功能是()
①将字符串strl复制到字符串str2中后再连接到字符串str3之后
②将字符串strl连接到字符串str2中后再复制到字符率str3之后
③将字符串str2复制到字符串strl中后再将字符串str3连接到字符串strl之后
④将字符串str2连接到字符率strl之后再将字符串strl复制到字符串str3中
【解】字符串中的字符可以是一般的普通字符,也可以是由反斜杠字符开头的转义字符。
在字符串"abs\no12\11\\"中,有三个转义字符,它们是\n、\1、\\,所以该字符串的有效字符个数是9。
所以正确的回答是③。
【解】函数调用strcat(s1,s2)是将s2字符串复制连接到s1字符串之后,使s1字符串变得更长。
函数调用strcpy(s1,s2)是将s2字符串复制到s1,使s1字符串的内容与s2字符串的内容相同。
函数调用strcat(strcpy(strl,str2),str3)是先执行strcpy(strl,str2),然后再执行strcat(strl,str3),所以其功能是将字符串str2复制到字符串strl中,然后再将字符串str3复制连接到字符串strl之后。
正确的选择是③。
1.设有如下定义,则正确的叙述为()
charx[]={"abcdefg"};
chary[]={’a’,’b’,’c’,’d’,’e’,’f’,’g’};
①数组x和数组y等价
②数组x和数组y长度相同
③数组X的长度大于数组y的长度
④数组X的长度小于数组y的长度
2.根据变量定义“staticintb[5],a[][3]={1,2,3,4,5,6};”,b[4]=_____,a[1][2]
【解】不指定数组长度的字符数组定义,其所需要的字节数可由初始化中给出的值的个数确定。
字符数组可以用字符串初始化,也可用字符逐个给字符数组的元素初始化。
但用字符初始化时,尽管给出了字符串中的全部字符,还是不会自动有字符率结束字符。
但字符串初始化自动会含有字符串的结束标记符,字符串初始化所需要的字节个数会比用同样多的字符初始化多1个字节。
所以只有③才是正确的。
【解】系统规定,静态变量定义时,若末初始化,系统自动给定二进制代码全0的值。
所以态数组b的元素全为0,当然包括b[4]也为几静态数组a是二维数组,每行有三个元素,在初始化中结出了六个初值,所以数组a有2行。
由于数组的元素按行顺序存储,并按行顺序初始化。
前三个值是第一行,后三个元素[1][2]是第二行的第三列元素,也是a的最后一个元素,所以其值是6。
1.设有定义语句“staticinta[3][4]={{1},{2},{3}};”则a[l][l]值为_,a[2][1]的值为_。
2.若在程序中用到“putchar()”函数时,应在程序开头写上包含命令_____,若在程序中用到“strlen()”函数时,应在程序开头写上包含命令______。
【解】给二维数组初始化时,可按行给出初值,并且每行可以只给前面部分的元素给出初值。
系统规定,对哪些未给出初值的部分元素,系统自动置二进制代码全0的值。
由于定义语句只给a[0][0]给定初值l、a[l][0]给定初值2、a[2][0]给定初值3。
这样,其它元素都为0值。
所以,a[1][1]=0,a[2][1]=0。
【解】putchar()是系统提供的头文件stdio.h中定义的宏,所以程序要使用它,必须写上包含命令:
#include。
函数strlen()是系统提供的字符串处理函数之一,字符串处理函数的函数原型说明和它们用到的有关常量、数据结构等,在系统提供的头文件tring.h中定义,所以使用该函数的程序应在程序开头写上包含命令并include。
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图)既可以描述软件总的模块层次结构,又可以描述每个模块的输入/输出关系、处理内容、模块的内部数据和模块的调用关系。
它是系统设计的重要成果,也是系统实施阶段编制程序设计任务书和进行程序设计的出发点和依据。
45.图4中的程序由A、B、C、D和E等5个模块组成,表1模块之间的接口表中描述了这些模块之间的接口,每一个接口有一个编号。
此外,模块A、D和E都要引用一个专用数据区。
那么A和D之间耦合关系是(50)。
(50)A.标记耦合
B.内容耦合
C.数据耦合
D.公共耦合
图4
表2模块之间的接口表
编号
参数
返回值
1
数据项
数据项
2
数据项
数据项
3
功能码
无
4
无
5
无
参考答案:
(50)D。
解析:
由于模块A和模块D都引用了专用数据区的内容,因此,模块A和D之间的耦合关系是公共耦合。
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
解析:
根据国家标准GB8566-88《计算机软件开发规范》的规定,单元测试是根据详细设计阶段给出的“规格说明书”在编码阶段完成的测试工作;集成测试的计划是在概要设计阶段制订的;系统测试计划应该在需求分析阶段就开始制订,并在设计阶段细化和完善,而不是等系统编码完成后才制订测试计划;而验收测试则检测产品是否符合最终用户的需求。
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环境中运行,为完成相同的功能,软件本身需要进行修改,而所需修改的工作量取决于该软件产品的可移植性。
(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间接引用某个变量。
所以解答是B。
56.以下关于软件质量度量指标的叙述中,说法正确的是(61)。
(32)A.正确性就是用每千行代码的故障(fault)数来度量
B.软件完整性是指软件功能与需求符合的程度
C.软件维护的工作量比开发阶段的工作量小
D.可用性与用户的操作效率和主观评价有关
参考答案:
(61)D。
解析:
最主要的软件质量度量指标有正确性、可维护性、完整性和可用性。
软件的正确性是指软件完成所需功能的程度,尽管这种程度与每千行代码的故障数有关,但不完全等同。
软件完整性是指软件在安全方面抗攻击的能力。
软件维护的工作量比开发阶段的工作量大,通常的估计是,开发阶段的工作量占软件生命期整个工作量的40%,而维护阶段的工作量则占60%,甚至更多。
软件可用性用来度量软件的“用户友好性”,可以从①学会操作软件所需的体力和智力、②对系统的使用达到中等效率所需的时间、③当系统由一个中等效率的人使用时测量到的生产率增长值和④用户对系统的主观评价等4个方面来度量可用性。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 设计师 模拟 答案 解析 第三 十五