48.以下对C说话函数的有关描述中,正确的是()
A. 在C说话中,挪用函数时,只能把实参的值传递给形参,形参的值不能传递给实参
B. C函数既可以嵌套界说,又可以递归挪用
C. 函数必需有返回值,否则不能界说成函数
D. C轨范中,有挪用关系的所有函数必需放在统一个源轨范文件中
参考谜底:A。
解析:C说话划定,挪用函数时,只能把实参的值传递给函数的形参。函数挪用时,形参从实参表达式获得初值,报参也是函数的一种局部变量,其值可以改变,但形参的值不能传回给对应的实参。当函数设置非指针类型的形参时,实参可所以同类型的一般表达式;当函数设置指针类型的形参时,对应的实参也必需是同类型的指针表达式。所以论说A是正确的。C说话虽可以递归挪用,但同时划定,在函数内不能再界说函数,所以论说B是错误的。凡是C函数会有返回值,但也可以没有返回值。有良多情形,函数的执行是完成某种预定的工作,并没有返回值,所以论说C是不正确的。在C轨范中,如函数未指定是静态的,则就是外部的,能让此外文件中的函数挪用。但函数要挪用此外文件中的函数,在挪用代码之前,需对它作声名,所以论说D也是不正确的。正确的解答只有A。
49. 某软件产物在应用初期运行在Windows 2000情形中。现因某种原因,该软件需要在Linux情形中运行,而且必需完成不异的功能。为顺应该需求,软件自己需要进行改削,而所需改削的工作量取决于该软件的 () 。
A.可复用性
B.可维护性
C.可移植性
D.可扩充性
参考谜底:C。
解析E敉件的可复用性指软件或软件的部件能被再次用于其他应用中的水平。软件复用性取决于其模块自力性、通用性和数据共享性等。
软件的可维护性是指一个软件模块是否轻易改削、更新和扩展,即在不影响系统其他部门的情形下改削现有系统功能中问题或缺陷的能力。
软件的可移植性指将软件系统从一个计较机系统或操作系统移植到另一种计较机系统或操作系统中运行时所需工作量的巨细。可移植性取决于系统中硬件设备的特征、软件系统的特点和开发情形,以及系统剖析与设计中关于通用性、软件自力性和可扩充性等方面的考虑。
软件的可扩充性指软件的系统结构、数据设计和过程设计的可扩充水平。可扩充性影响着软件的矫捷性和可移植性。
由以上剖析可知,该软件产物从Windows 2000情形中迁移到Linux情形中运行,为完成不异的功能,软件自己需要进行改削,而所需改削的工作量取决于该软件产物的可移植性。 [NextPage]
50. 历程的五态模子搜罗运行状况、活跃停当状况、静止停当状况、活跃梗阻状况和静止梗阻状况。针对图5的历程五态模子,为了确保历程调剂的正常工作,(a)、(b)和(c)的状况分袂为 () 。

图6 历程的五态模子图
A.静止停当、静止梗阻和活跃梗阻
B.静止停当、活跃梗阻和静止梗阻
C.活跃梗阻、静止停当和静止梗阻
D.活跃梗阻、静止梗阻和静止停当
参考谜底:D。
解析:在多道轨范系统中,历程在措置器上交替运行,在运行、停当和梗阻3种根基状况之间不竭地发生转变。因为历程的不竭建树,系统资本(出格是主存资本)已不能知足历程运行的要求。此时就必需将某些历程挂起,对换登张逄镜像区,且则不介入历程调剂,以平衡系统负载的目的。如不美观系统呈现故障,或者是用户调试轨范,也可能需要将历程挂起检盘问题。
在图6具有挂起状况的历程状况及其转换图中,活跃停当是指历程在主存而且可被调剂的状况。(1)空白处各选项中,静止停当是指历程被对换到辅存时的停当状况,是不能被直接调剂的状况,只有当主存中没有活跃停当态历程,或者是挂起态历程具有更高的优先级,系统将把挂起停当态历程调回主存并转换为活跃停当。是以,图6的(c)空白处应填入“静止停当”这一状况。
活跃梗阻是指历程在主存中。一旦期待的事务发生,便进入活跃停当状况。是以,图6的(a)空白处应填入“活跃梗阻”。
静止梗阻是指历程对换到辅存时的梗阻状况。一旦期待的事务发生,便进入静止停当状况。故图6的(b)空白处应填入“静止梗阻”。
由以上剖析可知,(56)空白处的正确谜底是选项D。
此外,对于一张完整的历程五态模子图,则需在图3-4模子图中增添一条从“运行”态到“活跃梗阻”态的边,其状况转换原因是“期待”事务(如I/O请求)发生,以及增添一条从“运行”态到“静止停当”态的边,其状况转换原因是“挂起”。