高级程序设计模拟题C

发布 2021-04-24 20:44:28 阅读 9286

一、选择题。在题后括号内,填上正确答案代号。(本大题共10小题,每小题2分,共20分)

1、下列有关内联函数的叙述中,正确的是 ( d )

a、内联函数在调用时发生控制转移

b、使用内联函数有利于**重用。

c、必须通过关键字inline来定义

d、是否最后内联由编译器决定。

2、以下哪一关键字可用于重载函数的区分( c )

a、extern b、static c、const d、virtual

3、下列有关继承和派生的叙述中,正确的是( c )

a、派生类不能访问通过私有继承的基类的保护成员。

b、派生类不能访问通过保护继承的基类的公有成员。

c、派生类对象不能访问通过私有继承的基类的公有成员。

d、派生类对象不能访问通过公有继承的基类的公有成员。

4、以下哪个关键字对应的属性破坏了程序的封装性( b )

a、const b、friend c、public d、protected

5、在下列关于c++函数的叙述中,正确的是( c )

a、每个函数至少要有一个参数

b、每个函数都必须返回一个值。

c、函数在被调用之前必须先声明

d、函数不能自己调用自己。

6、对于类的常成员函数的描述正确的是( d )

a、 常成员函数不能访问类的数据成员。

b、常成员函数可以对类的数据成员进行修改。

c、常成员函数只能由常对象调用。

d、常成员函数不修改类的数据成员。

7、下列关于new运算符的描述中,哪个是错误的? (d )

a、它可以用来动态创建对象和对象数组;

b、使用它创建的对象或对象数组,可以使用delete删除;

c、使用它创建对象时要调用构造函数;

d、使用它创建对象数组时必须指定初始值。

8、下列运算符中,哪一个不能重载? (d )

a、<>cd、?

9、下列函数参数默认值定义错误的是( c )

a、 fun(int x,int y=0)

b、 fun(int x=100)

c、 fun(int x=0,int y)

d、 fun(int x=f( )假定函数f( )已经定义)

10、下列情况中,哪一种情况不会调用拷贝构造函数 ( b )

a、用派生类的对象去初始化基类对象时。

b、将类的一个对象赋值给该类的另一个对象时。

c、函数的形参是类的对象,调用函数进行形参和实参结合时。

d、函数的返回值是类的对象,函数执行返**用者时。

二、填空题。在题中“ ”处填上答案。(本大题共5小题,共10分)

1、类的三大基本特征是:类的封装性、多态性和。

2.在 c++中,不能为类定义对象。

3.在定义派生类时,默认的继承方式是。

4.构造函数中调用虚函数时,采用联编。

5、在ifstream的构造函数中其默认的打开方式为。

三、程序阅读。(每题5分,共20分)

1、下面程序的输出结果是。

#include

using namespace std;

int i = 10;

int fun(int n)

static int a = 6;

a++;return a+n;

void main()

int k = 8;

k +=fun(i);

cout <

2、下面程序的输出结果是。

#include

using namespace std;

void swap( int &v1, int &v2)

int temp ;

temp = v2;

v2 = v1;

v1 = temp;

void swap( int *v1, int *v2)

int temp;

temp= *v2;

*v2 = v1;

*v1 = temp;

void main()

int i = 18;

int j = 20;

swap(i,j);

swap(&i,&j);

cout<}

3、下面程序的输出结果是。

#include

using namespace std;

class base

public:

base(int i)

class base1: virtual public base

public:

base1(int i, int j=1) :base(j)

class base2: virtual public base

public:

base2(int i, int j=2) :base(j)

class derived : public base2, public base1

public:

derived(int a, int b, int c, int d):member1(a),member2(b),base1(c),base2(d), base(a)

private:

base1 member1;

base2 member2;

void main()

derived objd (3, 4, 5, 6);

4、下面程序的输出结果是。

#include

using namespace std;

class base

public:

virtual void f( )

void g( )

class derived : public base

public:

void f( )

void g( )

void main()

derived d;

base *p = d;

p->f();

p->g();

四、程序填空。(每空2 分,共 24 分)

1、下面是个cat类的声明与使用,请补充完整。

#include

using namespace std;

class cat

static int count;

public:

cat( )

~cat()

int main()

cat a, b, c;

return 0;

2、已知文件之间具有以下的包含关系(用#include指令); 包含 同时包含 包含 那么如下的文件缺少什么语句,请补充完整。

文件。#ifndef pointh

class point

#endif

3、使用命令行参数来编写主函数实现copy功能,编译完生成可执行程序在运行时指定需要拷贝的文件。

例如d:\

#include

#include

using namespace std;

void main(int count,(3

char c;

ifstream infile;

ofstream outfile;

if ((4cout<<"参数个数不对!";return;}

(ar**[1],ios::in);

if (!infile)

if (!outfile)

while (

4、下面程序是一个学生类的定义,可以使用一个已有的对象来初始化新的对象,请把程序补充完整。

#include

#include

using namespace std;

class student

private:

char *name;

public:

student(char *na构造函数。

name=new(8

高级语言程序设计模拟题

高级语言程序设计 模拟题。一。选择题。函数反回值的类型为 a 数值 b 字符串。c 变体 d 数值或字符串 视输入的数据而定 2.可以同时删除字符串前导和尾部空白的函数是 a ltrim b rtrim mid c trim d 3.如果在立即窗口中执行以下操作 a 8 是回车键,下同 b 9 pr...

C高级程序设计试卷

得分统计表 一 编程题 6小题,共100分 使用socket套接字类及类中提供的方法编写同步tcp程序,并完成服务器端和客户端的通信。注 服务器ip使用 127.0.0.1 端口号为 8889 程序最终运行效果如下图所示。服务器端程序最终效果 客户端程序最终效果 请完成如下操作 1 完成服务器端监听...

高级语言程序设计C

重庆理工大学考试试卷。学号姓名考试科目 c语言程序设计 a 卷共 8 页。注意 所有答案必须写在答题卷上,否则不能得分。一 单项选择题 共30题,每题1分,共30分。1.结构化程序设计的3种结构是。a 顺序结构 选择结构 循环结构 b 分支结构 等价结构 循环结构。c 多分支结构 赋值结构 等价结构...