注 意,宏替换是在编译时由预处理程序完成的,宏替换不占用运行的时间,而函数调用是在程序运行时进行的,在函数 的调用过程中需要占用一系列的处理时间。 (40)a 【解析】 本题的功能是顺序的读两个文本文件,依次输出。当打开文件时出现错误,fopen 函数将返回 null。 二、填空题 (1)【1】 可行性研究 【解析】 软件生命周期一般包括可行性研究与需求分析、设计、实现、测试、交付使 用以及维护等,还可以将软件生命周期分为三个阶段:①软件定义阶段:可行性研究和需求分析;②软件开发阶段:设 计、实现和测试;③软件运行维护阶段:交付使用和维护。 (2)【2】 完善性 【解析】 软件维护活动包括以下几类:改正性维护、适应性维护、完善性维护和预防性维护。 改正性维护是指在软件交付使用后,为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应 当进行的诊断和改正错误的过程;适应性维护是指为了使软件适应变化,而去修改软件的过程;完善性维护是指为了
满足用户对软件提出的新功能与性能要求,需要修改或再次开发软件,以扩充软件功能、增强软件性能、改进加工 效率、提高软件的可维护性;预防性维护是为了提高软件的可维护性、可靠性等,为以后的进一步改进软件打下良 好基础。 (3)【3】 非线性结构 【解析】 数据的逻辑结构有线性结构和非线性结构两大类。 (4)【4】 n+1 【解析】 在任意一棵二叉树中,度为 o 多结点(即叶子结点)总是比度为 2 多结点多一个。 (5)【5】 实体 【解析】 在 e-r 图中用矩形表示实体;椭圆形表示属性;菱形表示联系。 (6)【6】 3 【解析】 c 语言的语法规定:else 子句总是与前面最近的不带 else 的 if 相结合。因为 x 不大于 y, 所以执行 printf("%d",z);语句。 (7)【7】 852 【解析】 循环前,变量 y 的值为 9,其中,循环语句在 y 大于 0 情况下循环,每次循环后 y 的值都减 1。循环体是当 y 能被 3 整除时输出表达式--y,输出的是减 1 后的 y 值。这样,第一次循环因 y 为 9,能被 3 整除,输 出 8,y 也变成 8。
又经两次循环,y 的值变为 6,又让 y 减 1 变成 5,并输出 5;又经两次循环,y 的值变成 3,让 y 减 1 变 成 2,输出 2;再经两次循环后,y 的值变成 0,结束循环,所以程序输出 852。 (8)【8】 k<=n 【9】 k++ 【解析】 本题要求将一个 for 循环改成 while 循环。首先要保证循环条件相同,在 for 循环中,每次执行循环之后,循环控制变量 k 都会加 1,而 while 循环则没有,故需在循环体中增加改变 k 数值的语 句"k++;"。 9)【10】 60 【解析】 本题中,代码定义 3 行 2 列的二维数组 a,定义指向两个元素的一维数组指针 p,并让 p 指 向两维数组 a 的首行,则代码*(*(p+2)+1)中的 p+2 指向两维数组 a 的第三行 a[2],*(p+2)指向 a[2][0], *(p+2) +1 指向 a[2][1],*(*(p+2)+1)是引用 a[2][1],其值是 60 (10)【11】 ace 【解析】 在本题中,for 循环体每执行完一次,变量 i 的值自加两次。i 的初值为a,执行一次循 环后变为c,之后再变成e,当其变为g时,循环条件若不满足,循环终止,故本题共输出 3 个字符。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-28349-30.html
我们私下聊