《C++语言程序设计》模拟试卷

一、单选题(21分,每空1.5分)

1.在C++中,函数原型不能标识( )

A.函数的返回类型 B.函数参数的个数

C.函数参数类型 D.函数的功能

2.可以用p.a的形式访问派生类对象p的基类成员a,其中a是( )

A.私有继承的公有成员 B.公有继承的私有成员

C.公有继承的保护成员 D.公有继承的公有成员

3. 以下关于switch语句和break描述中

,

是正确的。

A. switch语句中必须用break语句

B. break语句只能用于switch语句

C. 在switch语句中,可以根据需要使用或不使用break语句

D. break语句是switch语句必须的一部分

4.

若以下语句,则正确描述是

char c1[]="boy";

char c2[]={'b','o','y'};

A. c1,c2数组等价

B. c1,c2数粗元素个数相同

C. c1数组元素个数大于c2数组元素个数

D. c1数组元素个数小于c2数组元素个数

5.派生类的对象对它的基类成员中

是可以访问的。

A.

公有继承的public成员。

B.

公有继承的private成员。

C.

公有继承的protected成员。

D. 私有继承的public成员。

6.若有语句: int x[]={1,2,3,4,5};

int *ptr;

ptr=x;

是对数组元素x[1]的正确引用。

A.

ptr+1 B.*ptr+1 C.*(ptr+1)

D.*ptr++

7.对于任意一个类,析构函数的个数最多为( )

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

8.

如执行以下语句,,循环结束后cout语句输出值是

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

sum=sum+i;

cout<< B>

A. 100 B.

99 C. 101 D.

102

9. 若有定义:int

a=8,b=5,C;,执行语句C=a/b+0.4;后,c的值为

A)

1.4 B)

1 C)

2.0 D) 2

10.

是析构函数的特征

A.

一个类中只能定义一个析构函数

B.

析构函数与类名相同

C.

析构函数的定义只能在类体中

D.

析构函数可以有一个或多个参数

11.通常拷贝构造函数的参数是

A. 对象 B.对象的引用

C.对象的成员 D. 对象的指针

12.一段程序的定义如下,在函数f(

)中将对象的成员n的值改为34的语句应该为

class A {

Private: int n;

public:

setn(int nl) {n=nl;}

A(int x) {n = x; }

};

int f( )

{A * ptr = new A(45);

... }

A、 A(34); B、

ptr.setn(34); C、

ptr->setn(34); D、setn(34);

13.

在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是

A) 地址传递

B)

单向值传递

C) 由实参传给形参,再由形参传回实参 D)

传递方式由用户指定

14.下列常量中,哪个的类型为float类型?

A 2.F  B .2L

C 0.2E100  D

0.0

二、填空题(10分,每空1分)

1、在堆中动态分配、释放内存,可以使用

和delete运算符。也可使用malloc( )和

函数。

2、表达式cout<< B>

3、 类的三大特点是:1)________ 2)______________ 3)_____________。

4、创建类对象时,系统自动调用________函数,在类对象生命期结束时,自动调用__________函数。

5.C++中语句const char * const

p=″hello″;所定义的指针p和它所指的内容都不能被_________。

6.定义类的动态对象数组时,系统只能够自动调用该类的_________构造函数对其进行初始化。

三、改错题(本大题共4小题,每小题3分,共12分)

1.指出下面程序段中的错误,并说明出错原因。

class A{

private:

int a,b;

public:

A(int aa,int bb)

{a=aa;b=bb;}

};

void main()

{

A x(2,3),y(4);

}

2.指出下面程序段中的错误,并说明出错原因。

#include

class A

{ public:

void fun( ){cout<

};

class B

{ public:

void fun(

){cout<

void gun( ){cout<

};

class C:public A,public B

{ private:

int b;

public:

void gun( )

{cout<

void hun( )

{fun( );}

};

3.要求下面循环体中的语句x+=3执行30次,请改正程序。

for(j=0; j<90; j++)

if(j/3=0) x+=3;

4.请指出程序片段的语法错误。

int * age_ptr;

int m = 3;

*age_ptr = &m;

四、判断题(10分)

1、_MyInt 是一个合法的变量名。( Y )

2、使用关键字class地定义的类缺省的访问权限是private。(

Y )

3、函数的原型说明和函数定义的作用不一样,可以进行多次的函数原型说明。(

Y  )

4、构造函数和析构函数都不可以重载。

( N )

5、

递归调用是指一个函数在执行时直接或间接的又调用该函数自身的调用过程。(

Y )

6、

各种类型的指针表示的是内存的地址,所以指针加1,总是内存的地址加1。( N )

7、 对于int a[10];

,a[5]与*(a+5)是同一个元素。( Y )

8、 友元的作用是实现数据的隐藏性。(

N )

9、

函数可能有左值(出现在=的左边),数组名不能够有左值。(

Y )

10、虚函数一定是类的成员函数。( Y )

五、简答题(7分,每小题4分)

1、

C++语言提供了那些分支语句?

break、continue的作用是什么?

2、

单一继承和多重继承的区别?列表显示基类的成员访问权限在公有继承,私有继承后的访问权限?

访问权限

继承方式

public

protected

private

公有继承

私有继承

六、读程序写出运行结果(16分)(每小题4分)

1.#include

using namespace std;

void main()

{

char

a[]="abcdabcabfgacd";

int

i1=0,i2=0,i=0;

while

(a[i]!='\0')

{

if (a[i]=='a') i1++;

if (a[i]=='b') i2++;

i++;

}

cout

<

cout<

}

}

2、写一个程序计算1!-2! +3! –4!+5!....-10!

(5分)

#include

void main()

{

int f=1,n,s=0,t=1;

n=10;

for(int i=1;i<=n;i++)

{ t= -t;

f=f*i*t;

s=s+f;

}

cout<< B>

}

4.(6分)#include

class Tdate

{

private:

int year;int month;int day;

public:

void Show();

void add();

Tdate(int y,int m,int d);

};

void Tdate::Show()

{

cout<

?<

}

void

Tdate::add(){ day++;}

Tdate:: Tdate(int y,int m,int d)

{ year=y;month=m;day=d; }

void main()

{  Tdate a(2005,3,23);

a.Show();

a.add();

a.Show();}

5.(8分)

#include

class complex

{

public:

complex() { real=imag=0; }

complex(double r, double i)

{ real = r,

imag = i;

}

complex operator +(const complex &c);

complex operator +(double c);

void

print();

private:

double

real, imag;

};

inline complex complex::operator +(const complex

&c)

{ return complex(real + c.real, imag + c.imag);}

inline complex complex::operator +(double c)

{ return complex(real + c, imag);}

void complex::print()

{

if(imag<0)

cout<

else

cout<

cout<< B>

}

void main()

{

complex a(2.0, 3.0), b(4.0, -2.0),c;

c=a+b;c.print();

c=a+4.2; c.print();

}

2005年编程题(40分)

1.输出以下图形:(必须用循环语句编写,不能用cout直接显示,否则不给分)

* * * * *

* * *

*

*

* * *

* * * * *

2.编写程序,输入10个double型数据,并对这10个数从小到大排序,最后显示排序结果。

3.编写程序,实现两个字符串比较的自定义版;

函数原形为:int strcmp(char * str1,char *str2)

//当str1>str2时,返回正数

//当str1= =str2时,返回0

//当str1时,返回负数

4.封装一个CStudent类,用来描述学生的属性和行为。

具体要求如下:

1)学生有姓名、籍贯、学号、年龄、成绩五个成员数据,编写构造函数,拷贝构造函数,同时编写Display()成员函数显示学生的信息;(6分)

2)编写“+”运算符重载函数,使类CStudent的两个对象相加返回两个对象总成绩相加的和;(4分)

3)编写主函数,定义两个CStudent类对象(初始化值任定),分别调用成员函数Display()显示两个对象的学生信息,同时显示两个对象相加的结果。(2分)

5.声明一个Shape抽象类,在此基础上派生出正方形和圆类,两者都由GetArea()函数计算对象面积,由GetPerim()函数计算对象的周长。

C++语言程序设计全真模拟试卷,《C++语言程序设计》模拟试卷相关推荐

  1. C++语言程序设计全真模拟试卷,2017年全国计算机二级C++语言程序设计考试试题...

    2017年全国计算机二级C++语言程序设计考试试题 一.选择题(每小题1分,共40分) 1有如下程序: #include using namespace std; class Base{ protec ...

  2. python是一种汇编类型的语言_python全栈开发学习_day2_语言种类及变量

    一.编程语言的分类及python相对其他语言的优势 1)三大语言种类及细分 1.机器语言(低级语言):直接用计算能够理解的二进制进行编写,直接控制计算机硬件. 优点:执行效率高. 缺点:开发效率低,跨 ...

  3. 湖北c语言二级考试真题,湖北省C语言二级考试训练题.ppt

    <湖北省C语言二级考试训练题.ppt>由会员分享,可在线阅读,更多相关<湖北省C语言二级考试训练题.ppt(48页珍藏版)>请在人人文库网上搜索. 1.湖北省C语言二级考试训练 ...

  4. 全国计算机等级考试二级c语言考试什么时候改革成多套试卷,,2020年全国计算机等级考试二级C语言全真模拟试卷及答案(共四套).docx...

    2020年全国计算机等级考试二级C语言全真模拟试卷及答案(共四套) 2020年全国计算机等级考试二级C语言全真模拟试卷及答案(一) 一.选择题 在下列各题的A).B).C).D)四个选项中,只有一个选 ...

  5. 江苏省计算机二级vb知识点,江苏省2019年9月计算机等级二级考试教程:VB上机考试新版题库+全真模拟试卷(共2本)...

    &nbsp&nbsp[导读]:江苏省2019年9月计算机等级二级考试教程:VB上机考试新版题库+全真模拟试卷(共2本),更多江苏等级考试计算机等级考试用书,请访问易考吧江苏等级考试栏目 ...

  6. 全国计算机等级全真模拟二级,《全国计算机等级考试二级笔试全真模拟试卷》.pdf...

    国 计 算 机 等 级 考 试 实战冲刺全真模拟试卷 (二级Visual FoxPro 语言程序设计) 全国计算机等级考试命题研究中心 编 容提要] 书紧扣国家教育部考试中心 2004 年制定的最新全 ...

  7. 让数组的左边全为奇数C语言,2015年全国计算机等级考试全真模拟考场_二级C语言试卷四.docx...

    2015年全国计算机等级考试全真模拟考场_二级C语言试卷四 全国计算机等级考试全真模拟试卷(4) 二级C (考试时间l20分钟,满分100分) 一.选择题(每小题1分,共40分) (1)算法是指( ) ...

  8. 中职计算机应用综合试题精选,2015中职计算机应用专业全真模拟试卷(一).doc...

    2015中职计算机应用专业全真模拟试卷(一) 2014年计算机全真模拟试卷(一) 一.是非选择题:本大题共15小题,每小题1分,共15分.对每小题的命题作出选择,对的选A,错的选B. 1.CMOS是微 ...

  9. c语言求成绩中的最高分辨率大约是,一级msoffice全真机试试卷.docx

    一级msoffice全真机试试卷.docx 第1套全真机试试卷一.选择题(120)每小题1分,共20分.下列A.B.C.D四选项中,只有一个选项是正确的.1)办公室自动化(OA)是计算机的一项应用,按 ...

最新文章

  1. JSP内置对象-exception
  2. UITableView当数据很少的时候,去掉多余的cell分割线
  3. tcpdump一些选项的使用
  4. wrf_input文件解析(PART1)未完
  5. autojs定时可以选定日期吗_Excel工作表中的7个“一键完成”,你真的都了解、掌握吗?...
  6. ubuntu安装pytorch镜像修改及下载
  7. 玩转oracle 11g(5):表空间的作用
  8. 如何关闭小娜进程_Python多进程之进程间通信 - Pipe amp; Queue
  9. 微信小程序API之getSystemInfo
  10. html——float与clear详解(深度好文)
  11. jQuery-zTree插件使用
  12. Smart3D倾斜摄影建模教程
  13. 蓝牙耳机测试软件apk_蓝牙耳机电量显示app下载
  14. 微信小程序-区分版本:开发版、体验版和正式版
  15. 阿里巴巴达摩院发布2019十大科技趋势:语音AI在特定领域通过图灵测试
  16. win10如何截屏_Win10隐藏秘技大公开
  17. Jest enzyme 进行react单元测试
  18. mysql 按记录编号_告别硬编码,mysql 如何实现按某字段的不同取值进行统计
  19. JSTL引发的内存泄露
  20. 【考研数学】数一-数学概念anki卡片合集-547张-23000字-22电子科大考研上岸整理

热门文章

  1. Eclipse:The selection cannot be launched,and there are no recent.
  2. EasyExcel在项目中的应用-在web中导出带下拉框和批注的excel文件
  3. AVFoundation播放音视频(五)
  4. drf之day06:自动生成路由,action装饰器,登录接口的编写,局部认证,全局认证
  5. SAP License:守护企业 “ SAP ERP系统数据资产安全 ”
  6. [device tree] How to decompile a compiled .dtb (device tree blog) into .dts (device tree source).
  7. 腾讯云分布式高可靠消息队列CMQ架构
  8. 非全日制研究生可以考公务员吗?
  9. Linux 安装JDK详解
  10. 记:瞎搞东西——电源的调制