C. -(n-1)~1 D. -(n-2)~2 答案: D
15、编译和解释是实现高级程序设计语言的两种方式,其区别主要在于( )。
A. 是否进行语法分析 B. 是否生成中间代码文件 C. 是否进行语义分析 D. 是否生成目标程序文件 答案: D
16、下图所示的非确定有限自动机 (so为初态, S3为终态)可识别字符串( )。
A. bbaa B. aabb C. abab D. baba 答案: B
17、 表示\以字符a开头且仅由字符 a、b 构成的所有字符串\的正规式为( )。 A. a*b* B. (alb)*a C. a(alb)* D. (ab)* 答案: C
18、在单入口单出口的do...while 循环结构中, ( )。 A. 循环体的执行次数等于循环条件的判断次数 B. 循环体的执行次数多于循环条件的判断次数 C. 循环体的执行次数少于循环条件的判断次数 D. 循环体的执行次数与循环条件的判断次数无关 答案: A
19、将源程序中多处使用的同一个常数定义为常量并命名, A. 提高了编译效率 B. 缩短了源程序代码长度 C. 提高了源程序的可维护性 D. 提高了程序的运行效率 答案: C
)。 ( 20、函数main()、f()的定义如下所示。调用函数f()时,第一个参数采用传值 (call by value)方式,第二个参数采用传引用(call by reference )方式,main()执行后输出的值为( )。
A. 2 B. 4 C. 5 D. 8 答案: D
f(int x, int&a)函数中 x=2*2+1=5; a=5+3=8, 且a是引用,对应main()函数中x,所以x的值为8.
21、对于初始为空的栈S,入栈序列为a、b、c、d,且每个元素进栈、出栈各1次。若出栈序列的第一个元素为d,则合法的出栈序列为( ) A. d c b a B. d a b c C. d c a b D. d b c a 答案: A
22、对于下面的有向图,其邻接矩阵是一个(22)的矩阵。 采用邻接链表存储时,顶点0的表结点个数为 2,顶点3的表结点个数为0,顶点1的表结点个数为(23)。
A. 3×4 B. 4×3 C. 6×6 D. 7×7 答案: D 23、 A. 0 B. 1 C. 2 D. 3 答案: C
24、行为型设计模式描述类或对象如何交互和如何分配职责。(模式是行为型设计模式。 A. 装饰器(Decorator)
) B. 构建器(Builder) C. 组合(Composite) D. 解释器(Interpreter) 答案: D
25、在结构化分析方法中,用于行为建模的模型是( 25),其要素包括(26)。 A. 数据流图 B. 实体联系图 C. 状态-迁移图 D. 用例图 答案: A 26、 A. 加工 B. 实体 C. 状态 D. 用例 答案: A
27、有两个N*N的矩阵A和B,想要在微机 (PC 机)上按矩阵乘法基本算法编程实现计算 A*B。假设N较大,本机内存也足够大,可以存下A、B和结果矩阵。那么,为了加快计算速度, A和B在内存中的存储方式应选择( )。