当前位置:主页 > 大学试题及答案 >

澳门银河赌城官网

发布时间:2017-11-24 编辑:一米澳门银河赌城官网

C++程序设计试题及答案

一、选择题

1、设有数组定义:char array[]=”China”;则数组array所占的空间为:(C)

A) 4个字节 B) 5个字节 C) 6个字节 D) 7个字节

2、下列选项中,与实现运行时多态性无关的是(C)。

A) 重载函数 B) 虚函数 C) 指针 D) 引用

3.若a是int类型变量,则计算表达式a=1000%999的值是:(B)

A) 0 B) 1 C) 2 D) 3

4.下面程序段中,for循环的执行次数是:(A)

int i=10;

for(i=1;i<10;i++)

cout << “*”;

A)9 B)10 C)8 D)7

5.有以下程序(A)

void main()

{

int a[3][3],*p,i;

p=&a[0][0];

for(i=0;i<9;i++)

p[i]=i;

for(i=0;i<3;i++)

cout << a[1][i];

}

程序运行后的输出结果是:

A)012 B)123 C)234 D)345

6.以下叙述中错误的是:(C)

A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出

B)数组名代表的是数组所占存储区的首地址,其值不可改变

C)程?蛑葱兄校??樵?氐南卤暝浇缡保?低掣??ldquo;下标越界”的出错信息

D)可以通过赋初值的方式确定数组元素的个数

7.有以下程序

void main()

{

int a[]={1,2,3,4,5,6,7,8,9,0},*p;

for(p=a;p<a+10;p++)

cout << *p << “,”;

}

程序运行后的输出结果是:(A)

A)1,2,3,4,5,6,7,8,9,0, B)2,3,4,5,6,7,8,9,10,1,

C)0,1,2,3,4,5,6,7,8,9, D)1,1,1,1,1,1,1,1,1,1,

8.有如下函数模板定义:(C)

template <class T>

T func(T x, T y)

{

return x*x + y*y;

}

在下列对func()的调用中,错误的是

A) func(3,5); B) func(3.0,5.5)

C) func(3,5.5) D) func((double)3,5.5)

9.有如下类声明:

class A

{

int x;

public:

A(int n)

{

x=n;

}

};

class B:public A

{

int y;

public:

B(int a,int b);

};

下列函数中哪一个是正确的构造函数(D)

A) B::B(int a, int b):x(a),y(b){}

B) B::B(int a, int b):A(a),y(b){}

B) B::B(int a, int b):x(a),B(b){}

D) B::B(int a, int b):A(a),B(b){}

10.类的析构函数的作用是(B)

A) 对象的初始化 B) 删除对象时的清理任务

C) 与一般成员函数一样 D) 类的初始化

二、填空题

1.若要访问指针变量p所指向的数据,应使用表达式__(1)__。

2.面向对象程序设计中的多态性包括静态多态性和动态多态性,前者由_(2)_机制支持,而后者则由__(3)___机制支持。

3.引入虚基类的目的是为了解决多重继承中的____(4)___和___(5)___问题。

4、有一种只在循环语句或switch 语句中使用的流程控制语句,表示该语句的关键字是___(6)_。

5.下面程序的功能是计算1-3+5-7+…-99+101的值存在s中,请填空。

#include <stdio.h>

main()

{

int i,t=1,s=0;

for(i=1;i<=101;__(7)__)

{

s=s+i*t;

t=_(8)__;

}

}

6.在C++语言中,逻辑假用___(9)___表示。

7.类的成员包括__(10)___和__(11)___两种,在面向对象的术语中,前者称为属性、后者称为方法。其访问权限有三种,由符号__(12)___、__(13)__和__(14)__指定,其中具有__(15)__权限的成员只有类中的成员函数才能访问、而具有__(16)__权限的成员在任何函数中都可访问。

8.构造函数是一个特殊的成员函数,其特殊性表现在创建对象时会___(17)___。构造函数名必须与__(18)__相同。

9.函数重载是指一组函数具有相同的__(19)___,在函数调用时,编译程序根据__(20)__个数和类型确定使用那一个版本。

参考答案:

1.*P

2. 静态联编, 动态联编

3. 同名隐藏, 多份拷贝

4. break

5. i+=2, -t

6. false

7. 数据抽象, 行为抽象

8. public, protected, private, protected, public

9. 被自动调用, 类

三、判断题

1.析构函数是一个函数体为空的成员函数。

2.函数重载可以实现动态多态,虚函数可以实现静态多态。

3.若有定义:doublex[3][5];则x数组列下标的上限是5,下限是1。

4.不能在类的构造函数中对其静态数据成员进行初始化。

5.在C++中,可以使用关键字struct定义类。

6.用class定义的类中,默认的访问权限是私有的。

7.一个类中必须要有公有成员和私有成员。

8.如果在一个程序块中有两个变量具有相同的名字,并且都有效,只是它们的作用域不同,则优先访问作用域较小的那个变量。

9.如果一个成员函数只访问一个类的静态数据成员,则可将该成员函数说明为静态成员函数。

10.构造函数不能重载。

参考答案:澳门银河赌城官网美文网 www.hljhxzm.com

1.× 2.× 3. × 4. √ 5. × 6. × 7. √ 8. √

四、写出程序的运行结果

1.写出程序运行结果

#include <iostream.h>

class Person

{

public:

Person()

{

cout << "Construct Person" << endl;

}

——Person()

{

cout << "Destruct Person" << endl;

}

};

class Student:public Person

{

public:

Student()

{

cout << "Construct Student" << endl;

}

——Student()

{

cout << "Destruct Student" << endl;

}

};

class Teacher:public Person

{

public:

Teacher()

{

cout << "Construct Teacher" << endl;

}

——Teacher()

{

cout << "Destruct Teacher" << endl;

}

};

void main()

{

Student s;

Teacher t;

}

2.写出程序运行结果

#include <iostream.h>

class AA

{

public:

static int n;

AA() { n++; }

};

int AA::n=0;

void main()

{

cout<<”AA::n=”<<AA::n<< endl;

AA d1;

cout<<d1.n<< endl;

AA d2;

cout<<d2.n<< endl;

AA d3,d4;

cout<<d1.n<< endl;

cout<<d2.n<< endl;

}

四、写出程序的运行结果

1.Construct Person

Construct Student

Construct Person

Construct Teacher

Destruct Teacher

Destruct Person

Destruct Student

Destruct Person

2.AA::n=0

1

2

4

4

五、编程(根据要求填上程序缺少的部分)

1.数组a和数组b中的元素已按升序排好,下面程序将两个数组合并到数组c中,要求数组c仍然是按升序排列。请填空使程序能完成要求的功能。

#include <iostream.h>

#include <iomanip.h>

void main()

{

int a[10]={1,3,5,7,9,13,17,21,27,30};

int b[10]={2,4,6,8,10,12,14,16,18,20};

int c[20];

int i=0,j=0,k=0;

while( (j<10) && (k<10))

{

if(a[j] < b[k])

{

(1) ;

j++;

}

else

{

(2) ;

k++;

}

i++;

}

if(j<10)

{

while(j<10)

{

(3) ;

j++;

i++;

}

}

if(k<10)

{

while(k<10)

{

(4) ;

j++;

i++;

}

}

for(i=0;i<20;i++)

{

cout << setw(5) << c[i];

if(i == 9)

cout << endl;

}

}

2.两个复数只有当它们的实部和虚部分别相等时,才被认为它们相等。在空格处填入合适的内容,以完成下面的程序,使其重载运算符“==”能够比较两个复数是否相等。请在主函数中输出比较的结果,如相等输出true,不相等输出false。

#include <iostream.h>

class complex

{

private:

double real,imag;

public:

complex(double r,double i) { real=r; imag=i; }

bool operator==(complex &);

};

bool complex:: operator==(complex &com)

{

return ( ____(5)____ )

}

void main()

{

complex c1(12.3,32.5),c2(21.7,18.6);

if( _______(6)______ )

cout<<”true\n”;

else

cout<<”false\n”;

}

五、编程(根据要求填上程序缺少的部分)

第一题:(1) c[i]=a[j] (2) c[i]=b[k] (3) c[i]=a[j] (4) c[i]=b[k]

第二题:(5) ((real-com.real)&&(imag-com.imag))?1:0 (6) c1==c2

看过本文的人还喜欢以下文章

大学军事理论考试试题及答案
大学军事理论考试试题及答案
大学军事理论考试试题及答案 一、填空题 1、现代国防的类型,按照性质可分为 扩张型 和 自卫型 ,按照形式可分为 型 和 中立型 。 2、 学校国防教育 是国民国防教育的基础,是实施素质教育的重要内容。对小学,初中,高中,大学的国防教育提出了不同层次的要求。 3...
2018大学试题及答案汇总【银河国际网址】大学期末考试题及答案
2018大学试题及答案汇总【银河国际网址】大学期末考试题及答案
大学生试题及答案网为您精心整理提供历年期末考试题及参考答案,期末复习试卷及答案,供各位同学参考复习,了解考试题型和参考内容,做到有目的的复习巩固,努力的人成绩不会太差,包括理工科、文科、计算机、材料、土木、文学、经管、外语、医学、数学等专业精选试题,...
大学语文试题及答案
大学语文试题及答案
大学语文试题及答案 一、选择题 1下面哪项不属新月派三美理论(C) A音乐美 B建筑美 C语言美 D绘画美 2《乡愁》的作者是(D) A徐志摩 B郁达夫 C郭沫若 D余光中 3下面哪项不属知性散文的特点:(A) A语言辛辣,文笔犀利。 B文章旁征博引 C描摹人生活灵活现,讽刺世态...
2018《市场》试题及答案
2018《市场》试题及答案
《市场》试题及答案 一、选择题 1、企业活动中体现的社会价值观、伦理道德观,充分考虑社会效益,既自觉维护自然生态平衡,更自觉抵制各种有害,被称为(A)。 A、广义绿色 B、狭义绿色 C、整合 D、关系 2、企业在活动中,谋求消费者...
2017大学思修试题及答案银河国际网址-思想道德修养与法律基础期末考试题及答案
2017大学思修试题及答案银河国际网址-思想道德修养与法律基础期末考试题及答案
2017思修试题及答案 思想道德修养与法律基础期末试题及答案 一、填空题(每小题2分,共20分) 1、当代社会公共生活的特征主要表现在:(活动范围的广泛性、交往对象的复杂性、活动方式的多样性)。 2、在发展社会主义市场经济的条件下,在全面建设小康社会的进程中,依据我国...
数据结构试题及答案【银河国际网址】
数据结构试题及答案【银河国际网址】
数据结构试题 及答案【银河国际网址】 一、单选题(每小题 2 分,共 8 分) 1 、在一个长度为 n 的顺序存储的线性表中,删除第 i 个元素( 1 i n )时,需要从前向后依次前移 个元素。 A 1 一 i B n 一 i 十 1 C n 一 j 一 1 C i 2 、设一个广义表中结点的个数为 n ,则求广...

 

以上就是澳门银河赌城官网美文网为您精心整理提供的关于《C++程序设计试题及答案》全文,希望对您有所帮助。