国家二级C++机试(选择题)-试卷2
(总分80,考试时间90分钟)
1. 选择题
1. 下列叙述中正确的是
A. 算法的效率只与问题的规模有关,而与数据的存储结构无关
B. 算法的时间复杂度是指执行算法所需要的计算工作量
C. 数据的逻辑结构与存储结构是一一对应的
D. 算法的时间复杂度与空间复杂度一定相关
2. 下列叙述中正确的是
A. 线性表链式存储结构的存储空间一般要少于顺序存储结构
B. 线性表链式存储结构与顺序存储结构的存储空间都是连续的
C. 线性表链式存储结构的存储空间可以是连续的,也可以是不连续的
D. 以上说法均错误
3. 某二叉树共有12个结点,其中叶子结点只有1个。则该二叉树的深度为(根结点在第1层)
A. 3 B. 6
C. 8 D. 12
4. 对长度为n的线性表作快速排序,在最坏情况下,比较次数为
A. n B. n-1
radius软件C. n(n-1) D. n(n-1)/2
5. 结构化程序设计中,下面对goto语句使用描述正确的是
A. 禁止使用goto语句 B. 使用goto语句程序效率高
C. 应避免滥用goto语句 D. 以上说法均错误
6. 下面不属于软件测试实施步骤的是
A. 集成测试 B. 回归测试
C. 确认测试 D. 单元测试
7. 下面不属于软件需求分析阶段主要工作的是
A. 需求变更申请 B. 需求分析
C. 需求评审 D. 需求获取
8. 一般情况下,当对关系R和S进行自然连接时,要求R和S含有一个或者多个共有的
A. 记录 B. 行
C. 属性 D. 元组
9. 有三个关系R、S和T如下:则由关系R和S得到关系T的操作是
A. 选择 B. 差
C. 交 D. 并
10. 有表示公司和职员及工作的三张表,职员可在多家公司兼职。其中公司C(公司号,公司名,地址,注册资本,法人代表,员工数),职员S(职员号,姓名,性别,年龄,学历),工作W(公司号,职员号,工资),则表W的键(码)为
A. 公司号,职员号 B. 职员号,工资
C. 职员号 D. 公司号,职员号,工资
11. 下列选项中,不是 C++ 关键字的是
A. const B. using
C. class D. final
12. 若有定义语句"double a=2/3.0;",则语句"cout<<a;"的输出结果是
A. 0.0 B. 0.666667
C. 0.7 D. 0
13. 下列语句中,与语句"(a<b?n=(b<c?1:0):n=0);"的功能等价的是
A. if(a<b<c) n=1; else n=0;
B. if(a>=b) n=0;
C. if(a>=b) n=0; else if (b>=c) n=1;
D. if(a<b&&b<c) n=1; else n=0;
14. 有如下语句序列: int x=10,&r=x; cout<<r<<'-'<<x<<endl;已知其中变量 x 的地址为 0x28ff48,变量 r 的地址为 0x28ff44,则执行该语句序列的输出结果为
A. 10-10 B. 10-0x28ff48
C. 0x28ff44-10 D. 0x28ff44-0x28ff48
15. 有如下程序: #include using namespace std; int main() { int x=4; do { x--; cout<<x; } while(--x); return 0; } 执行这个程序的结果是
A. 输出 31 B. 输出 20
C. 输出 3210 D. 死循环
16. 在一个程序文件中有如下语句: extern int var;关于这个语句,下列表述中错误的是
A. var 称为外部变量 B. var 定义在函数或类的外部
C. var 已在另一个程序文件中定义 D. 编译系统在处理这个语句时将为之分配空间
17. 已知一运算符函数没有参数。下列关于该运算符函数的表述中错误的是
A. 该运算符函数是成员函数 B. 该运算符是一元运算符
C. 由于无参数,使用该运算符时不需要操作数 D. 该运算符不是后缀++或后缀--
18. 有如下函数原型: int func(int **a, int *b, int &c int d);其中可称为引用参数的参数变量是
A. a B. b
C. c D. d
19. 若要在Viz类中将*重载为一元运算符,下列重载函数声明中肯定有错的是
A. Viz operator *();
B. Viz operator *(Viz);
C. int operator *(Viz);
D. Viz operator *(Viz, Viz);
20. 有如下程序: #include using namespace std; void _________ {int z=x; x=y; y=z;} int main() { int x=0,y=1; f(x,y); cout<<x<<y<<endl; return 0; }若要输出为 10,则横线处缺失部分为
A. f(int x, int y)
B. f(int *x, int *y)
C. f(int &x, int &y)
D. swap(int x, int y)
21. 有如下类定义: class MyClass { public: _____________ private: int data; };若要为 MyClass 类重载流输出运算符 <<,使得程序中可以"cout << obj;"这样的语句输出 MyClass 类的对象 obj 中成员变量 data 的值,则横线处应填入的语句是
A. friend ostream& operator << (ostream& os, MyClass a);
B. friend ostream& operator << (MyClass a, ostream& os);
C. ostream& operator << (ostream& os, MyClass a);
D. ostream& operator << ( MyClass a, ostream& os);
22. 下面是重载为非成员函数的运算符函数原型,其中错误的是
A. Fraction operator + (Fraction);
B. Fraction operator - (Fraction);
C. Fraction operator * (Fraction);
D. Fraction operator / (Fraction);
23. 下列关于 this 指针的叙述中,正确的是
A. 类的成员函数都有 this 指针
B. 类的友元函数都有 this 指针
C. 任何与类相关的函数都有 this 指针
D. 类的非静态成员函数都有 this 指针
24. 有如下类定义: class Sample { public: Sample(int x):ref(x) { } //① Sample():ref(0){ } //② private: static int val=5; //③ const int ref; //④ };上述程序段中,错误的语句是
A. ① B. ②
C. ③ D. ④
25. 有如下程序: #include using namespace std; class XB { int a; public: static int b; XB(int aa):a(aa) { b++; } ~XB() { b--; } int get() {return a;} }; int XB::b=0; int main() { XB d(2); int ()+XB(3).get(); cout<<n+XB::b<<endl; return 0; }运行时的输出结果是
A. 5 B. 6
C. 7 D. 8
26. 下列关于继承方式的表述中,错误的是
A. 如果不显式地指定继承方式,缺省的继承方式是私有
B. 采用公有继承方式时,基类中的公有成员在派生类中仍然是公有成员
C. 采用保护继承方式时,基类中的保护成员在派生类中仍然是保护成员
D. 采用私有继承方式时,基类中的私有成员在派生类中仍然是私有成员
27. 通过派生类的对象可直接访问的是
A. 公有继承基类的公有成员 B. 私有继承基类的公有成员
C. 公有继承基类的私有成员 D. 私有继承基类的私有成员
28. 有如下程序: #include using namespace std; class Point{ int x,y; public: Point(int x1=0, int y1=0):x(x1),y(y1) {} int get() {return x+y;} }; class Circle{ Point center; int radius; public: Circle(int cx, int cy, int r):center(c
x,cy),radius(r) {} int get() {()+radius;} }; int main() { Circle c(3,4,5); cout<&()<<endl; return 0; }运行时的输出结果是
A. 5 B. 7
C. 12 D. 9
29. 有如下类定义: class Cup{ public: void SetPrice(double val) { price=val; } _______________ //常成员函数 GetPrice 的声明 private: double price; };下列函数声明中,能够作为横线处缺失的常成员函数 GetPrice 的声明的是
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论