c练习题(带答案)

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、选择题

1.C++语言属于( C )。

A)自然语言B)机械语言C)面向对象语言D)汇编语言

2.下面选项中不属于面向对象程序设计特点的是(C) 。

A)继承性B)多态性C)相似性D)封装性

3.可用作C++语言用户标识符的一组标识符是( B )。

A)void define +WORD B)a3_b3 _123 YN

C)for -abc Case D)2a DO sizeof

4.假定一个二维数组的概念语句为“int a[3][4]={{3,4},{2,8,6}};”,那么元素a[2][1]的值为(A)。

A)0 B)4 C)8 D)6

5.以下情形中,哪一种情形可不能挪用拷贝构造函数( B )

A)用派生类的对象去初始化基类对象时

B)将类的一个对象赋值给该类的另一个对象时

C)函数的形参是类的对象,挪用函数进行形参和实参结合时

D)函数的返回值是类的对象,函数执行返回挪用者时

6.以下哪一关键字可用于重载函数的区分(C)

A)extern B)static C)const D)virtual

7.以下有关数组的表达中,正确的选项是( B )

A)C++中数组的存储方式为列优先存储

B)数组名能够作为实参赋值给指针类型的形参

C)数组下标索引从1开始,至数组长度n终止

D)数组指针的语法形式为:类型名*数组名[下标表达式];

8.以下有关继承和派生的表达中,正确的选项是( C)

A)派生类不能访问通过私有继承的基类的珍惜成员

B)多继承的虚基类不能够实例化

C)假设是基类没有默许构造函数,派生类就应当声明带形参的构造函数

D)基类的析构函数和虚函数都不能够被继承,需要在派生类中从头实现

9.实现运行时多态的机制是( A )

A)虚函数B)重载函数C)静态函数D)模版函数10.如有下面的函数挪用:

fun(a+b, 3, max(n-1, b));

其中实参的个数是(A)

A)3 B)4 C)5 D)6

11.以下关于this指针的说法正确的选项是(B)

A)this指针存在于每一个函数当中

B)在类的非静态函数中this指针指向挪用该函数的对象C)this指针是指向虚函数表的指针

D)this指针是指向类的函数成员的指针

12.在以下关于C++函数的表达中,正确的选项是(C)

A)每一个函数至少要有一个参数B)每个函数都必须返回一个值

C)函数在被挪用之前必需先声明D)函数不能自己调用自己13.以下运算符中,不能重载的是(C)

A)&& B)!= C). D)->

14.下面程序的输出结果是(B)

#include

using namespace std;

int i = 0;

int fun(int n)

{

static int a = 2;

a++;

return a+n;

}

void main()

{

int k = 5;

{

int i = 2;

k += fun(i);

}

k += fun(i);

cout << k;

}

A)13 B)14 C)15 D)16

15.下面的程序段的运行结果为(D)

char str[] = "job", *p = str;

cout << *(p+2) << endl;

A)98 B)无输出结果C)字符’b’的地址D)字符’b’16.下面程序的输出结果是( C )

#include

using namespace std;

class A

{

public:

A (int i) { x = i; }

void dispa () { cout << x << “,”; }

private :

int x ;

};

class B : public A

{

public:

B(int i) : A(i+10) { x = i; }

void dispb() { dispa(); cout << x << endl; } private :

int x ;

};

void main()

{

B b(2);

();

}

A)10,2 B)12,10 C)12,2 D)2,2 17.下面程序的输出结果是(C)

#include

using namespace std;

class Base

{

public:

Base(int i) { cout << i; }

~Base () { }

};

class Base1: virtual public Base

{

public:

Base1(int i, int j=0) : Base(j) { cout << i; } ~Base1() {}

};

class Base2: virtual public Base

{

public:

相关文档
最新文档