您的当前位置:首页正文

计算机语言VC (2)

来源:个人技术集锦
一.单选题(共11题,29.7分)

1

决定C++语言中函数的返回值类型的是 。 • Areturn语句中的表达式类型

• B调用该函数时系统随机产生的类型

• C调用该函数时的主调用函数类型

• D在定义该函数时所指定的数据类型

正确答案: D

2

下面叙述不正确的是 。 • A派生类一般都用公有派生

• B对基类成员的访问必须是无二义性的

• C赋值兼容规则也适用于多重继承的组合

• D基类的公有成员在派生类中仍然是公有的

正确答案: D

3

所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体 也就是 。

• A类

• B对象

• C函数体

• D数据块

正确答案: A

4

在类中说明的成员可以使用关键字的是 。 • Apublic

• Bextern

• Ccpu

• DRegister

正确答案: A

5

下列字符串中可以用作C++标识符的是 。 • A_123

• Bfoo~bar

• Ccase

• D3var

正确答案: A

6

在int a[][3]={{1},{3,2},{4,5,6},{0}}中,a[2][2]的值是 。 • A3

• B2

• C6

• D4

正确答案: C

7

在类中说明的成员可以使用关键字 进行修饰。 • Aprivate

• Bextern

• Cauto

• Dregister

正确答案: A

8

下列关于指针运算的描述错误的是: 。 • A在一定条件下,两个指针可以进行关系运算

• B在一定条件下,两个指针可以相加

• C在一定条件下,指针可以为空

• D在一定条件下,两个指针可以相互赋值

正确答案: B

9

假定 AB 为一个类,则执行 AB x ;语句时将自动调用该类的 。 • A有参构造函数

• B无参构造函数

• C拷贝构造函数

• D赋值构造函数

正确答案: B

10

下述关于开关语句的描述中, 是正确的。 • A开关语句中default子句可以没有,也可以有一个;

• B开关语句中每个语句序列中必须有break语句;

• C开关语句中default子句只能放在最后;

• D开关语句中case子句后面的表达式可以是整形表达式。

正确答案: A

11

下列给字符数组进行初始化中, 是正确的。 • Achar s1[ ]=\"12345abcd\";

• Bchar s2[3]=\"xyz\";

• Cchar s3[][3]={ 'a', 'x', 'y'};

• Dchar s4[2[3]={\"xyz\

正确答案: A

二.填空题(共8题,21.6分)

1

若函数的定义处于调用它的函数之前,则在程序开始可以省去该函数的____语句。 正确答案: 第一空: 声明

2

若要使用string类,需要引入的头文件是____。在函数前面用____保留字修饰时,则表示该函数表为内联函数。 正确答案: 第一空: string.h 第二空: inline

3

派生类的成员一般分为两部分,一部分是____,另一部分是自己定义的新成员。 正确答案: 第一空:

从基类继承的成员

4

C++程序中,一个基本语句的最后一个字符是____ 。 正确答案: 第一空: 分号(; )

5

一个C++程序的开发步骤通常包括编辑、____ 、____ 、运行和调试。 正确答案: 第一空: 编译 第二空: 链接

6

类的具体表现是通过定义____来操作的。 正确答案: 第一空: 成员函数

7

假定用户没有给一个名为MyClass的类定义构造函数和析构函数,则系统为其定义的默认构造函数形式为____,默认析构函数形式为____。

正确答案:

第一空: MyClass(){} 第二空: ~MyClass(){ }

8

描述命题\"A大于B或小于C\"的表达式为____ 正确答案: 第一空: A>B||A三.判断题(共14题,37.8分)

1

函数体内声明的静态变量,至多只会被初始化一次。

• •

正确答案:√

2

inline函数表示编译器一定会将函数体直接插入到调用此函数的地方,这样可以加快程序的运行速度。

• •

正确答案:×

3

将类A所有构造函数的可访问性都限制为私有的,那么在main函数中不可能得到类A的实例对象。

• •

正确答案:√

4

名字空间是可以多层嵌套的;对于类A中的函数成员和数据成员,它们都属于类名A代表的一层名字空间。

• •

正确答案:√

5

若在类Base和派生类Derived中,分别声明一个同名的整型成员变量int x; ,那么通过Derived类的实例对象,不可能输出基类Base中的变量x的值。

• •

正确答案:×

6

构造函数的初始化列表中的内容,不会影响构造对象中成员数据的初始化顺序。

正确答案:√

7

C++的继承性允许派生类继承基类的部分特性,并允许增加新的特性或重定义基类的特性。

• •

正确答案:√

8

C++ 程序中的变量,必须先定义 ( 声明 ) ,才能使用。

• •

正确答案:√

9

While循环语句的循环体至少执行一次。

• •

正确答案:×

10

double数据类型属于简单数据类型。

• •

正确答案:√

11

返回值类型、参数个数和参数类型都相同的函数也可以重载。

• •

正确答案:×

12

析构函数是函数体为空的函数。

• •

正确答案:×

13

C++中,当我们定义了数组 int a[5] ;则数组元素的下标从 1 到 5 。

• •

正确答案:×

14

就是某个变量的别名,对引用的操作,实质上就是对被引用的变量的操作。

• •

正确答案:√

四.程序阅读题(共2题,5.4分)

1

【程序阅读题】写出下列程序的运行结果。 #include

#include #include bool fun(long n); void main() {

long a=10,b=30,l=0; if(a%2==0) a++; for(long m=a;m<=b;m+=2) if(fun(m)) {

if(l++%10==0) cout <}

bool fun(long n) {

int sqrtm=(int)sqrt(n); for(int i=2;i<=sqrtm;i++) if(n%i==0) return false; return true;

}

正确答案:

11 13 17 19 23 29

2

【程序阅读题】写出下列程序的运行结果。 #include

void main() { int x=3,y=3; switch(x%2) {

case 1: switch (y)

{ case 0:cout<<\"First\\";

case 1:cout<<\"Second\\";break; default: cout<<\"Hellow\\"; }

case 2:cout<<\"Third\\n\"; }

}

正确答案:

Hellow Third

五.程序设计题(共2题,5.5分)

1

程序设计题 :

已定义一个Shape抽象类,在此基础上派生出矩形Rectangle和圆形Circle类,二者都有 GetPerim()函数计算对象的周长,并编写测试main()函数。 class Shape {public: Shape(){} ~Shape(){}

virtual float GetPerim()=0; }

正确答案:

class Rectangle:public Shape { public:

Rectangle(float i,float j):L(i),W(j){} ~Rectangle(){} float GetPerim() {

return 2*(L+W); } private: float L,W; };

class Circle:public Shape { public:

Circle(float r):R(r){} float GetPerim() {

return 3.14*2*R; }

private: float R; }; void main() { Shape * sp; sp=new Circle(10); cout<GetPerim ()<GetPerim()<2

程序设计题 :

定义并实现一个时钟类,要求能设置并显示时间。 正确答案:

#include using namespace std; class Clock { public:

void SetTime(int h=0,int m=0,int s=0); void ShowTime(); private:

int Hour,Minute,Second; };

void Clock::SetTime(int h,int m,int s) {Hour=h; Minute=m; Second=s; }

void Clock ::ShowTime() {

cout<}

void main() {

Clock MyClock; MyClock.SetTime(8,10,30); MyClock.ShowTime()

一.单选题(共13题,35.1分)

1

编写C++程序一般需经过的几个步骤依次是 。

A编辑、调试、编译、连接

• B编辑、编译、连接、运行

• C编译、调试、编辑、连接

• D编译、编辑、连接、运行

正确答案: B

2

决定C++语言中函数的返回值类型的是 。

Areturn语句中的表达式类型

• B调用该函数时系统随机产生的类型

• C调用该函数时的主调用函数类型

• D在定义该函数时所指定的数据类型

正确答案: D

3

下面叙述不正确的是 。

A派生类一般都用公有派生

• B对基类成员的访问必须是无二义性的

• C赋值兼容规则也适用于多重继承的组合

• D基类的公有成员在派生类中仍然是公有的

正确答案: D

4

所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体 也就是 。

A类

• B对象

• C函数体

• D数据块

正确答案: A

5

下列不能作为类的成员的是 。

A自身类对象的指针

• B自身类对象

• C自身类对象的引用

• D另一个类的对象

正确答案: B

6

使用地址作为实参传给形参,下列说法正确的是 。

A实参是形参的备份

• B实参与形参无联系

• C形参是实参的备份

• D实参与形参是同一对象

正确答案: D

7

下列字符串中可以用作C++标识符的是 。

A_123

• Bfoo~bar

• Ccase

• D3var

正确答案: A

8

在int a[][3]={{1},{3,2},{4,5,6},{0}}中,a[2][2]的值是 。

A3

• B2

• C6

• D4

正确答案: C

9

在类中说明的成员可以使用关键字 进行修饰。

Aprivate

• Bextern

• Cauto

• Dregister

正确答案: A

10

下列关于指针运算的描述错误的是: 。

A在一定条件下,两个指针可以进行关系运算

• B在一定条件下,两个指针可以相加

• C在一定条件下,指针可以为空

• D在一定条件下,两个指针可以相互赋值

正确答案: B

11

在C++语言中,对函数参数默认值描述正确的是:

A函数参数的默认值只能设定一个

• B一个函数的参数若有多个,则参数默认值的设定可以不连续

• C函数参数必须设定默认值

• D在设定了参数的默认值后,该参数后面定义的所有参数都必须设定默认值

正确答案: D

12

下述关于开关语句的描述中, 是正确的。

A开关语句中default子句可以没有,也可以有一个;

• B开关语句中每个语句序列中必须有break语句;

• C开关语句中default子句只能放在最后;

• D开关语句中case子句后面的表达式可以是整形表达式。

正确答案: A

13

下列给字符数组进行初始化中, 是正确的。

Achar s1[ ]=\"12345abcd\";

• Bchar s2[3]=\"xyz\";

• Cchar s3[][3]={ 'a', 'x', 'y'};

• Dchar s4[2[3]={\"xyz\

正确答案: A

二.填空题(共7题,18.9分)

1

每个对象都是所属类的一个____。

切换到文本模式 正确答案: 第一空:

实例

2

若函数的定义处于调用它的函数之前,则在程序开始可以省去该函数的____语句。

切换到文本模式 正确答案: 第一空: 声明

3

在C++中有两种参数传递方式: ____和____。

切换到文本模式 切换到文本模式 正确答案: 第一空: 传值

第二空: 传引用

4

C++程序中,一个基本语句的最后一个字符是____ 。

切换到文本模式 正确答案: 第一空: 分号(; )

5

一个C++程序的开发步骤通常包括编辑、____ 、____ 、运行和调试。

切换到文本模式 切换到文本模式 正确答案: 第一空: 编译

第二空: 链接

6

类的具体表现是通过定义____来操作的。

切换到文本模式 正确答案: 第一空: 成员函数

7

描述命题\"A大于B或小于C\"的表达式为____

切换到文本模式 正确答案: 第一空: A>B||A三.判断题(共13题,35.1分)

1

函数体内声明的静态变量,至多只会被初始化一次。

• •

正确答案:√

2

对于同一个类中的两个非静态成员函数,它们的函数的名称、参数类型、参数个数、参数顺序以及返回值的类型不能完全相同。

正确答案:√

3

inline函数表示编译器一定会将函数体直接插入到调用此函数的地方,这样可以加快程序的运行速度。

• •

正确答案:×

4

将类A所有构造函数的可访问性都限制为私有的,那么在main函数中不可能得到类A的实例对象。

• •

正确答案:√

5

虽然抽象类的析构函数可以是纯虚函数,但要实例化其派生类对象,仍必须提供抽象基类中析构函数的函数体。

• •

正确答案:×

6

构造函数的初始化列表中的内容,不会影响构造对象中成员数据的初始化顺序。

• •

正确答案:√

7

C++ 程序中的变量,必须先定义 ( 声明 ) ,才能使用。

• •

正确答案:√

8

C++中允许对数组进行动态定义。

• •

正确答案:×

9

double数据类型属于简单数据类型。

• •

正确答案:√

10

类中所提供的成员函数可以直接访问私有成员。

• •

正确答案:√

11

返回值类型、参数个数和参数类型都相同的函数也可以重载。

• •

正确答案:×

12

友元函数是类的成员函数,所以可以存取或修改该类中的私有成员。

• •

正确答案:×

13

就是某个变量的别名,对引用的操作,实质上就是对被引用的变量的操作。

• •

正确答案:√

四.程序阅读题(共2题,5.4分)

1

【程序阅读题】写出下列程序的运行结果。 #include class Test

{ int x,y; public:

Test(int i,int j=0) { x=i; y=j; }

int get(int i,int j) {

return i+j; } }; void main() {

Test t1(2),t2(4,6); int (Test::*p)(int,int=10); p=Test::get;

cout<<(t1.*p)(5)<cout<<(p1->*p)(7,20)<

填写答案 •

正确答案:

15 27

2

【程序阅读题】写出下列程序的运行结果。 #include

void main() {

int a = 50 , b(0) ; b = ++a;

cout<cout<

填写答案 •

正确答案:

2 5 8 11 14

五.程序设计题(共2题,5.5分)

1

程序设计题 :

已定义一个Shape抽象类,在此基础上派生出矩形Rectangle和圆形Circle类,二者都有 GetPerim()函数计算对象的周长,并编写测试main()函数。 class Shape {public: Shape(){} ~Shape(){}

virtual float GetPerim()=0; }

填写答案 •

正确答案:

class Rectangle:public Shape { public:

Rectangle(float i,float j):L(i),W(j){} ~Rectangle(){} float GetPerim() {

return 2*(L+W); } private: float L,W; };

class Circle:public Shape { public:

Circle(float r):R(r){} float GetPerim() {

return 3.14*2*R; } private: float R; }; void main() { Shape * sp; sp=new Circle(10); cout<GetPerim ()<GetPerim()<2

程序设计题 :

编写一个判断素数的函数,并输出100-300之间的全部素数之和。

填写答案 •

正确答案:

#include bool prime(int n); void main() { int sum=0;

for(int i=100;i<300;i++) if(prime(i)) sum+=i;

cout<<\"Sum=\"<bool prime(int n) {

for(int i=2;i} }

if (n%i == 0) {

return false; } return TRUE;

因篇幅问题不能全部显示,请点此查看更多更全内容