二级C++笔试-403
(总分83,考试时间90分钟)
一、选择题
1. C++中运算符优先级由高到低排列正确的是
A) ::++ + || B) < *|| ,
C) sizeof %+:: D) ,&& new sizeof
2. 以下程序执行后的输出结果是( )。
#include <iostream>
using namespace std;
void try(int,int,int,int);
int main ( )
int x,y,z,r;
x=1;
y=2;
try(x,y,z,r);
cout<<r<<end1;
return 0;
void try(int x,int y, int z,int r)
z = x+y;
x = X*X;
y = y*y;
r = z+x+y;
A) 18 B) 9 C) 10 D) 不确定
3. 下列对变量的引用中,错误的是
A) int a; int &p=a; B) char a; char &p=a;
C) int a; int &p;p=a; D) float a; float &p=a;
4. 下列字符串中可以用作C++语言标识符的是
A) 1234
B) foo~ ~bar
C) virtual
D) 34var
5. 下列程序的执行结果是______。
#include<iostream.h>
#include<stdlib.h>
class TestClass
public:
int x,y;
TestClass () x=y=0;
TestClass (int a,int b)x=a;y=b;
void disp()
cout<<"x="<<x<<",y="<<y<<end1;
void main()
TestClass s1(2,3);
s1.disp();
A) x=2,y=2 B) x=2,y=3
C) x=3,y=2 D) x=3,y=3
6. 在面向对象的程序设计中,下列叙述中错误的是
A) 任何一个对象构成一个独立的模块
B) 一个对象不是独立存在的实体,各个对象之间有关联,相互依赖
C) 下一层次的对象可以继承上一层次对象的某些属性
D) 上述三种说法都正确
7. 有下列程序:
#include<iostream>
using namespace std;
class TestClass
protected:
TestClass()cout<<'x';
TestClass(char c)cout<<c;
;
class TestClassl:public TestClass
public:
TestClassl(char c)cout<<c;
;
int main()
TestClass1 d1('y');
retum 0;
执行这个程序屏幕上将显示输出( )。
A) y B) yx C) xy D) yy
8. 有如下程序:
#include<iostream>
using namespace std;
class Obj
static int i;
public:
Obj( )i++
~Obj( )i--;
static int getVal( )return i;
;
int Obj::i=0;
void f( )Obj ob2;cout<<ob2.getVal( );
int main( )
Obj obl;
f( );
Obj*ob3=new Obj;cout<<ob3->getVal( );
delete ob3;cout<<Obj::getVal( );
return 0;
程序的输出结果是
A) 232 B) 231 C) 222 D) 221
9. 数据库管理系统是______。
A.操作系统的一部分 B.在操作系统支持下的系统软件
C.一种编译系统 D.一种操作系统
10. 下面关于构造函数和析构函数的描述中,错误的是( )。
A.析构函数可以声明为虚函数
B.对虚析构函数的调用可以采用动联编
C.一个类的虚函数仅对派生类中重定义的函数起作用,对其他函数没有影响
D.构造函数可以声明为虚函数
11. 下面是关于派生类声明的开始部分,其中正确的是( )。
A.class virtual B:public A B.virtual class B:public A
C.class B:public A virtual D.class B:virtual publicA
12. 以下有关类与结构体关系的叙述不正确的是
A) 结构体中只包含数据;类中封装了数据和操作
B) 结构体的成员对外界通常是开放的;类的成员可以被隐蔽
C) 用struct不能声明一个类型名;而class可以声明一个类名
D) 结构体成员默认为Public;类成员默认为private
13. 在表达式x-y中,“-”是作为非成员函数重载的运算符。若使用显式的函数调用代替直接使用运算符“-”,这个表达式还可表示为( )。
A.x.operator-(y) B.operator-(y,x) C.y.operator-(x) D.operator-(x,y)
14. 执行下列语句序列:
int i=0;while(i<25)i+=3;cout<<i;
输出结果是( )。
A.24 B.25 C.27 D.28
15. 下列关于线性链表的描述中正确的是( )。
A) 存储空间不一定连续,且各元素的存储顺序是任意的
B) 存储空间不一定连续,且前件元素一定存储在后件元素的前面
C) 存储空间必须连续,且各前件元素一定存储在后件元素的前面
D) 存储空间必须连续,且各元素的存储顺序是任意的
16. 对建立良好的程序设计风格,下面描述正确的是
A) 程序应简单、清晰、可读性好 B) 符号名的命名只要符合语法
C) 充分考虑程序的执行效率 D) 程序的注释可有可无
17. 下列函数中,哪项是正确的递归函数( )。
A int Fun(int n)
if(n<1) return 1;
else return n*Fun(n+1);
B) int Fun(ira n)
if(abs(n)<1) return 1;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论