计算机二级C++ 笔试
(总分83,考试时间90分钟)
一、选择题
1. 不能重载的运算符是
    A) new    B) sizeof    C) .*    D) ++
2. 设a=1;b=2;,则(a++)+b和a+++b这两个表达式的值分别为(    )。
    A.3,3    B.3,4    C.4,3    D.4,4
字符串拷贝函数strcpy作用3. 设有以下说明和定义:
    #include<iostream. h>
    Void main()
    typedef union
   
    long i; int k[5]; char c;
   
    DATE;
    struct date
    int cat; DATE cow; double dog; too;
    DATE max;
    cout<<(sizeof(struct date)+sizeof(max))<<end1;
    A. 26                        B. 52
    C. 18                                    D. 8
4. 下列关于多态性的描述,错误的是(    )。
    A) C++语言的多态性分为编译时的多态性和运行时的多态性
    B) 编译时的多态性可通过函数重载实现
    C) 运行时的多态性可通过模板和虚函数实现
    D) 实现运行时多态性的机制称为动态绑定
5. t为int类型,进入下面的循环之前,t的值为0。
    while(t=1)...
    则以下叙述中,正确的是(    )。
    A) 循环控制表达式的值为0    B) 循环控制表达式的值为1
    C) 循环控制表达式不合法    D) 以上说法都不对
6. 下列描述中,(    )是抽象类的特性。
    A.可以说明虚函数    B.可以进行构造函数重载
    C.可以定义友元函数    D.不能说明其对象
7. 有如下程序:
    #include<lostreanl>
    using namespace std;
    elass MyClass
    public:
    MyClass( )++count;
    ~MyClass( )--count;
    static int getCount(  )return count;
    private:
    static int count;
    ;
    int MyClass::count=0;
    int main( )
    MyClass obj;
    cout<<obj.getCount( );
    MyClass*ptr=new MyClass;
    cout<<MyClass::getCount( );
    delete ptr;
    cout<<MyCiass::getCount( );
    return 0;
   
    程序的输出结果是
    A) 121    B) 232    C) 221  D) 122
8. 在下面的运算符重载函数的原型中,错误的是(    )。
    A) Volume operator-(double,double);
    B) double Volume::operator-(double);
    C) Volume Volume::operator-(Volume);
    D) Volume operator-(Volume);
9. 下列有关继承和派生的叙述中,正确的是
    A) 派生类不能访问基类的保护成员
    B) 作为虚基类的类不能被实例化
    C) 派生类应当向基类的构造函数传递参数
    D) 虚函数必须在派生类中重新实现
10. 下列关于getline()函数的描述,不正确的是______。
    A) getline()函数是用来从输入流中读取字符串的
    B) getline()函数读取字符串的长度是受到限制的
    C) getline()函数读取字符串时,遇到终止符时就停止
    D) getline()函数中所使用的终止符只能是换行符
11. 有如下程序:
    #include <iostream>
    using namespace std;
    class Music
   
    public:
    void setTitle(char* str) strcpy(title,str);
    protected:
    char type[10];
    private:
    char title[20];
    ;
    class Jazz:public Music
   
    public:
    void set(char* str)
   
    strcpy(type,"Jazz"); //①
    strcpy(title,str);  //②
   
    ;
    下列叙述中正确的是(    )。
    A.程序编译正确    B.程序编译时语句①出错
    C.程序编译时语句②出错    D.程序编译时语句①和②都出错
12. 软件工程的出现是由于
    A) 程序设计方法学的影响    B) 软件产业化的需要
    C) 软件危机的出现    D) 计算机的发展,
13. 假定a为一个整型数组名,则元素a[4]的字节地址为
    A) a+4    B) a+8    C) a+16    D) a+32
14. 如果表达式y*x++中,“*”是作为成员函数重载的运算符,“++”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为
    A) x.operator++(0).operator*(y);    B) operator*(x.operator++(0),y);
    C) y.operator*(operator++(x,0))    D) operator*(operator++(x,0),y)
15. 复审应该把重点放在系统的总体结构、模块划分、内外接口等方面。
    A) 详细设计    B) 系统设计
    C) 正式    D) 非正式
16. 继承机制的作用是
    A) 信息隐藏    B) 数据封装    C) 定义新类    D) 数据抽象
17. 下面的哪个选项不能作为函数的返回类型?
    A)void    B)int    C)new    D)long
18. 在下面的引用定义中,正确的是 ______。
    A) int x,&y;
      y=x;
    B) int x,&y=x;
    C) int &y=x,x;
    D) float z;
      int x,y=&z;
19. 下列关于new运算符的描述中错误的是
    A) 使用运算符new创建对象数组时必须定义初始值
    B) 使用运算符new创建对象时,会调用类的构造函数
    C) 运算符new可以用来动态创建对象和对象数组
    D) 使用new运算符创建的对象可以使用运算符delete删除
20. 已知一个类Sample,(    )是定义指向类Sample成员函数的指针,假设类有三个公有成员:voidf1(int),void f2(int)和int a。
    A.Sample*p
    B.Int Samale::*pc=&Sample::a
    C.Void(Sample::*Pa)()
    D.Sample*P[10]
21. 下列不属于软件工程3个要素的是(    )。
    A) 工具    B) 过程
    C) 方法    D) 环境
22. 有以下程序段:
    int k=0;
    while(k=1)k++;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。