一起答

2012年9月全国计算机等级考试二级C++语言程序设计笔试试卷

  • 卷面总分:100分
  • 浏览次数:0
  • 测试费用:免费
  • 答案解析:是
  • 练习次数:614次
  • 作答时间:90分钟
试卷简介

2012年3月全国计算机等级考试二级C++语言程序设计笔试试卷总分100分;共有2类型题目。

  • 单项选择题
  • 填空题
部分试题预览
  1. 有如下程序:

    #include

    using namespace std;

    class Point{

    double x, y;

    public:

    Point(double xx=0.0, double yy=0.0): x(xx), y(yy){}

    double getX( )const{return x;}

    double getY( )const{return y;}

    void show( )const{cout<<'('<

    }

    class Line{

    Point p1, p2;

    public:

    Line(Point pp1, Point pp2): p1(pp1), p2(pp2){}

    Point LeftMost( )const{

    if(p1.getX( )<=P2.getX( ))return p1;

    return p2;

    }

    }

    int main( ){

    Line line(Point(3.1, 5.2), Point(8.2, 4.4));

    line.LeftMost( ).show( );

    return 0;

    }

    运行这个程序的输出结果是__________。

  2. 有如下程序:

    #include

    using namespace std;

    template

    T Add(Tv1, Tv2){return v1+v2;}

    int main( ){

    cout<

    return 0;

    }

    运行这个程序的输出结果是__________。

  3. 有些运算符既可以作为成员函数重载,也可以作为非成员函数重载。若在一个重载的运算符函数的定义中成功地使用了this指针,说明它是作为__________重载的。

  4. 有下列程序的输出结果是2334,请将横线处缺失部分补充完整。

    #include

    using namespace std;

    class Base{

    int m;

    public:

    Base(int k):m(k){}

    int getM( )const{return m;}

    }

    class Derived:public Base{

    int n;

    public:

    Derived(int k): __________ , n(k){}

    int getN( )const{return n;}

    }

    int main( ){

    Derived d1(3),d2(4);

    cout<

    return 0;

    }

  5. 在C++中,编译时的多态性是通过模板或函数__________实现的。

  6. 有如下程序: 

    #include

    using namespace std;

    void fun(int&x, int y){

    y=y+x;

    x=y/4;

    x++;

    }

    int main( ){

    int x=4, y=5;

    fun(x,y);

    cout<

    return 0;

    }

    运行这个程序的输出结果是__________。

  7. 有如下程序: 

    #include

    using namespace std;

    class A{

    public:

    A( ){cout<<1;}

    A(const A&){cout<<2;}

    ~A( ){cout<<3;}

    };

    int main( ){

    A obj1;

    A obj2(obj1);

    return 0;

    }

    运行这个程序的输出结果是__________。

  8. 若下列程序的输出结果是20,请将横线处缺失部分补充完整。 

    #include

    using namespace std;

    class MyClass{

    public:

    MyClass(int x=)10:value(x){}

    void SetValue(int x){value=x; cout<

    private:

    int value;

    };

    int main( ){

    MyClass*ptr=new MyClass;

    __________//通过对象指针ptr调用SetValue函数

    delete ptr;

    return 0;

    }

  9. 若有定义语句“int x=10;”,则表达式“x<=10?20:30”的值为__________。

  10. 下列语句的作用是计算正整数n的各位数字之和,例如:n=123,sum=1+2+3,请将下列语句补充完整。 

    do{

    sum+=__________;

    n=n/10;

    }while(n1=0);