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

澳门银河赌城官网

发布时间:2018-04-19 编辑:一米澳门银河赌城官网

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<<”truen”;

else

cout<<”falsen”;

}

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

第一题:(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

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

大学《微积分基础》期末试题及答案【银河国际网址】
大学《微积分基础》期末试题及答案【银河国际网址】
一、单项选择题(每小题4分,本题共20分) 1.函数, 的定义域是( ). A.(1,+) B.(0,1)U(1,+oo) C.(1,2)U(2,+) D.(0,2)U(2,+) 2.曲线 在z一2处切线的斜率是( ). 3.下列函数在指定区间(一,+oo)上单调减少的是( ). 4若等...
《学前儿童语言教育试题》试题及参考答案
《学前儿童语言教育试题》试题及参考答案
考试方式:半开卷 一、判断题(每小题1分,共20分) 1、独词句的出现和从独词句到双词句,这是儿童学话过程中关键的两步。 2.语言发展最重要的生理基础是人类的神经系统特别是大脑的发展。 3.对于孩子而言,早期阅读活动就是看图讲...
学前教育学试题及答案【银河国际网址】
学前教育学试题及答案【银河国际网址】
一、选择题 (每小题2分,共20分) 1、瑞士教育家裴斯泰洛齐的代表作是( D )。 A、《大教学论》 B、《世界图解》 C、《理想国》 D、《林哈德与葛笃德》 2、陈鹤琴创建的我国第一所公立幼稚师范学校是(D)。 A、南京鼓楼幼稚园 B、劳工幼稚园 C、...
2018大学试题及答案汇总【银河国际网址】大学期末考试题及答案
2018大学试题及答案汇总【银河国际网址】大学期末考试题及答案
大学生试题及答案网为您精心整理提供历年期末考试题及参考答案,期末复习试卷及答案,供各位同学参考复习,了解考试题型和参考内容,做到有目的的复习巩固,努力的人成绩不会太差,包括理工科、文科、计算机、材料、土木、文学、经管、外语、医学、数学等专业精选试题,...
《幼儿园课程论》试题及答案【银河国际网址】
《幼儿园课程论》试题及答案【银河国际网址】
一、选择题 (每题均有一个或一个以上的正确答案,多选、漏选、错选均不得分。每小题2分、共10分) 1、在幼儿园课程中运用精神分析理论,会(AB)。 A、强调早期儿童人格的培养 B、强调学龄儿童心理健康的重要性 C、强调教师的直接教...
《中级财务会计》试题及答案【银河国际网址】
《中级财务会计》试题及答案【银河国际网址】
一、选择题 1、某企业认购普通股1000股,每股面值10元,实际购买价11000元,佣金100元,共计11100元,其中购买价含有已宣告未发放的股利500元,则该股票的入帐成本为(C)元。 A 10000 B 11100 C 10600 D 11000 2、在固定资产清理过程中发...

 

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