二、单项选择题 (1*45) 1_下面关于编译系统和解释系统的观点中,错误的是: A_解释程序不产生目标代码,它直接执行源程序或源程序的内部形式 B_使用编译系统时会区分编译阶段和运行阶段 C_一般来说,解释系统比编译系统复杂,但是可移植性好 D_一般来说,建立在编译系统基础上的系统在运行速度上要优于建立在解释系统基础上的系统 2_对于#include <filename,h>和#include “filename,h”的说法错误的是: A_#include <filename,h>只搜索标准库路径 B_#include “filename,h”只搜索用户工作路径 C_#include <filename,h>搜索范围比#include “filename,h”小 D_两者可能等价 3_一下关于C++中析构函数的说法不正确的是: A_析构函数一定是函数体为空的成员函数 B_一个类中只能定义一个析构函数 C_析构函数不能带参数 D_析构函数不能指定返回类型 4_声明一个指向含有10个元素的数组的指针,其中每个元素是一个函数指针,该函数的返回值是int,参数是int*,以下正确的是: A_(int *p[10])(int *) B_int[10]*p(int *) C_int(*(p)[10])( int *) D_int(int*)[10]) *p 5.在()进制下,567 * 456 = 150216这个等式成立 A. 9 B.10 C.12 D.18 6.假设x, y是两个int值,下面()方法能够返回它们的最小值 A.y ^ ((x ^y )& - (x < y)) B. y ^ (x ^ y) C.x ^ (x ^ y) D.(x ^y ) ^ (y ^ x) 7.编译运行以下程序段的输出是:
int main(){ int i= 2012; int const *p= &i; p++; printf(“%d”, *p); return 0; } A.2013 B.无意义的数字 C.编译错误 D.以上均不正确 8.对于下述求幂递归定义,随着x的不断变大,调用power函数次数的变化趋势是:
int power(int e, int x){ if (x == 0) return 1; if( x%2 == 0) return power (e*e, x/2); return e*power (e*e, x/2); } A_线性增长 B_对数增长 C_指数增长 D_二次函数增长 9_下述C++程序的输出是: (程序略) 程序的大概意思是链表的就地逆置 A_ cbad B_badc C_dbca D_dcba 10下属代码的输出结果是: (程序略) A_ 65535,0 B_65536,1 C_65536,65535 D_65536,0 11_设有一个用数组Q[1,……表示的环形队列,约定f为当前队头元素在数组中的位置,r为对尾元素的后一位置(按顺时针方向),若队列非空,则计算队列中元素个数的公式应为: A_r-f B_(m+r-f) mod m B_(m-r+f) mod m D_(m-r-f) mod m 12_判断一个单向链表中是否存在环的最佳方法是: A_两重遍历 B_快慢指针 C_路径记录 D_哈希表辅助 13_在下列排序方法中,不稳定的方法有: A_归并排序和基数排序 B_插入排序和希尔排序 C_堆排序和快速排序 D_选择排序和冒泡排序 14_假设一棵二叉树的后序遍历序列为DGJHEBIFCA,中序遍历序列为DBGEHJACIF,则其前序遍历序列为: A_ABCDEFGHIJ B_ABDEGHJCFI C_ABDEGHJFIC D_ABDEGJHCFI 15.已知一个线性表{38,25,74,63,52,48}, 假定采用散列函数h(key) = key%7 计算算列地址,并散列存储在散列表A[0,1……中,若采用线性探测方法解决冲突,则在该散列表上进行等概率成功查找的平均长度为: A. 1.5 B. 1.7 C. 2.0 D 2.3 16.一棵3阶B树有2047个关键码,则此树的最大高度是: A 11 B. 12 C. 13 D. 14
|