全国月自学考试C程序设计试题.docx

上传人:b****3 文档编号:3901032 上传时间:2022-11-26 格式:DOCX 页数:13 大小:19.80KB
下载 相关 举报
全国月自学考试C程序设计试题.docx_第1页
第1页 / 共13页
全国月自学考试C程序设计试题.docx_第2页
第2页 / 共13页
全国月自学考试C程序设计试题.docx_第3页
第3页 / 共13页
全国月自学考试C程序设计试题.docx_第4页
第4页 / 共13页
全国月自学考试C程序设计试题.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

全国月自学考试C程序设计试题.docx

《全国月自学考试C程序设计试题.docx》由会员分享,可在线阅读,更多相关《全国月自学考试C程序设计试题.docx(13页珍藏版)》请在冰豆网上搜索。

全国月自学考试C程序设计试题.docx

全国月自学考试C程序设计试题

全国1月高等教诲自学考试

C++程序设计试题

课程代码:

04737

一、单项选取题(本大题共20小题,每小题1分,共20分)

在每小题列出四个备选项中只有一种是符合题目规定,请将其代码填写在题后括号内。

错选、多选或未选均无分。

1.在C++中,头文献扩展名为()

A..cppB..h

C..1ibD..obj

2.下列符号中,不属于分隔符是()

A.,B./

C.;D.{}

3.可替代#definePI3.1415926语句是()

A.floatPI3.1415926;B.constfloatPI=3.1415926;

C.constPI(3.1415926);D.const3.1415926;

4.布尔类型标记符是()

A.voidB.short

C.longD.bool

5.下列不是C++语言基本数据类型是()

A.字符类型B.整数类型

C.逻辑类型D.枚举类型

6.C++容许在构造中定义函数,这些函数称为()

A.静态函数B.构造函数

C.析构函数D.成员函数

7.设函数voidinc(int)将形参加1,如有整型变量inti=10;则执行inc(i);后,i值为()

A.9B.10

C.11D.未知

8.下列哪种默认参数声明是不对的()

A.intmax(inta,intb,intc,intd=0);

B.intmax(inta,intb,intc=0,intd=0);

C.intmax(inta=0,intb,intc=0,intd=0);

D.intmax(inta,intb=0,intc=0,intd=0);

9.设int&max(int&,int&)返回两参数中较大者,如有两整型变量inta=10;intb=15;在执行max(a,b)++后,a,b值分别为()

A.10,15B.11,15

C.10,16D.1l,16

10.包括哪种语句函数不能声明为内联函数()

A.循环B.变量自增自减

C.if...else…D.变量声明

11.定义函数模板中使用参数类型标记符需使用下列哪组符号括起来()

A.<>B.“”

C.()D.{}

12.一种类拥有各种构造函数,则这些构造函数间为()

A.重载关系B.重复关系

C.拷贝关系D.无关系

13.对于拷贝构造函数point:

point(point&p),下列阐明对的是()

A.该函数只能访问P私有成员B.该函数不能访问P公有成员

C.该函数可以访问P私有和公有成员D.该函数不能访问P成员

14.使用delete[]删除对象数组时,描述对的是()

A.数组中各元素都调用析构函数B.数组中各元素都调用构造函数

C.不调用析构函数D.只有首元素调用析构函数

15.下列哪个指令属于条件编译指令()

A.#elifB.#error

C.#pragmaD.#include

16.设类Test中存在成员staticintx,则下列哪种初始化方式是对的()

A.Test:

intx=25;B.intx=25;

C.intTest:

x=25;D.intTestx=25;

17.下列关于友元描述错误是()

A.成员函数不可作友元B.类可以作友元

C.普通函数可以作友元D.静态函数可以作友元

18.在继承中,派生类拥有基类个数为()

A.0个B.1个

C.各种D.至少1个

19.基类中protected成员,通过public派生,其在派生类中可见性为()

A.不可访问B.private

C.protectedD.public

20.下列哪个不是面向对象核心要素()

A.抽象性B.构造性

C.封装性D.多态性

二、填空题(本大题共20小题,每小题1分,共20分)

请在每小题空格中填上对的答案。

错填、不填均无分。

21.在STL库中用于实现数组内容反转函数是______。

22.若要使用C++原则类库,需要指定相应命名空间,所用语句是______。

23.C++语言中整数常量有4种描述类型:

十进制常量、长整型常量、八进制常量和______。

24.声明一种名为a整型引用变量所使用语句是______。

25.重载运算符仍保存原有优先级、______和语法构造。

26.执行代码

intb=100;

cout<

程序输出成果是______。

27.带有纯虚函数类称为抽象类,它只能作为______来使用。

28.使用______作为函数参数,实参对象和形参对象代表同一对象,变化形参对象值就是变化实参对象值。

29.UML中对象之间静态关系是通过对象属性之间连接反映,称之为______。

30.如果一种模板声明列出各种参数,则各种参数之间必要使用逗号隔开,每个参数都必要重复使用核心字______。

31.C++类构造函数名与______名称同样,且没有返回值。

32.C++规定,当一种成员函数被调用时,系统自动向它传递一种隐含参数,该参数是一种指向调用该函数对象指针,该指针被称为______指针。

33.声明一种常成员函数Fun,其返回类型为char,第一种参数类型为int,第二个参数类型为double,函数Fun声明原型是______。

34.C++语言中“聚合”隐含了两种实现方式,一种是______,另一种是用一种类对象作为一种广义数据类型来定义整体对象一种属性。

35.简朴成员函数是指声明中不含const、______和static核心字函数。

36.在派生类中继承基类成员初始化,需要由派生类构造函数调用基类______来完毕。

37.在C++中,运用向量类模板定义一种具备20个int向量,其所有元素被置为1,实现此操作语句是______。

38.vector类中用于获取无需再次分派内存就能容纳对象个数办法是______。

39.动态联编是程序运营到需要语句处才动态拟定,这称为______多态性。

40.C++重载“=”运算符函数名是______。

三、改错题(本大题共5小题,每小题4分,共20分)

下面每题中有一处错误,请用下横线标出错误所在行并给出修改意见

41.#include

#definePI3.14;

voidmain()

{

doublei;

intr;

cout<<″输入圆形半径:

″;

cin>>r;

i=2*PI*r;

cout<<″圆形周长=″<

i=PI*r*r;

cout<<″圆形面积=″<

}

42.#include

classA

{

private:

intx,y;

public:

A(inta=0,b=1);

voidShow();

};

A:

A(inta,intb)

{

x=a;

y=b;

}

voidA:

Show()

{

cout<<″x=″<

cout<<″y=″<

}

43.#include

classA

{

unsignedcharvar;

public:

A(unsignedcharx){

var=x:

}

voidprint(){

cout<<″var=″<

}

};

voidmain()

{

Aa(″x″);

a.print();

}

44.#include

classClass

{

public:

voidprint(inta,intb){

cout<<″int:

″<

cout<<″int:

″<

}

voidprint(char*a,char*b){

cout<<″string:

″<

cout<<″string:

″<

}

voidprint(char*a,unsignedintb){

cout<<″string:

″<

cout<<″int:

″<

}

};

voidmain()

{

Classcls;

cls.print(10,20);

cls.print(′c′,1);

cls.print(′x′,′y′);

cls.print(″Hello!

″,0);

}

45.#include

classClass

{

private:

intval;

public:

voidfunc(inta)

{

val=a;

}

};

voidmain()

{

Class*cls;

cls->func(10);

}

四、完毕程序题(本大题共5小题,每题4分,共20分)

46.将下面程序补充完整,使程序计算100以内所有可被7整除自然数之和。

#include

voidmain()

{

intx=1;

intsum=0;

while(true)

{

if(x>100){

______;

}

if(______){

sum=sum+x;

}

x++;

}

cout<

}

47.将下面程序补充完整,使程序执行成果为9。

#include

classClass{

public:

______{

x=a;

}

______{

returnx*x;

}

private:

intx;

};

voidmain()

{

Classa(3);

cout<

}

48.将下面程序补充完整,使程序对的初始化私有变量var及释放资源。

classClass

{

private:

int*var;

public:

Class(intnum);

~Class();

};

Class:

Class(intnum)

{

_______;

}

Class:

~Class()

{

_______;

}

49.将下面程序补充完整,使程序输出成果为:

ClassA:

Print

ClassB:

Print

程序如下:

#include

classBase

{

public:

virtualvoidPrint()const{

cout<<″Base:

Print″<

}

};

classClassA:

publicBase

{

public:

voidPrint()const{cout<<″ClassA:

Print″<

};

classClassB:

publicBase

{

public:

voidPrint()const{cout<<″ClassB:

Print″<

};

voidPrint(______)

{

______;

}

voidmain()

{

ClassAa;

ClassBb;

Print(a);

Print(b);

}

50.下列程序运营成果如下:

x=22,y=22

依照成果将程序补充完整。

#include

template<______>

voidf(______)

{

if(sizeof(T1)>sizeof(T2))

x=(T1)y;

else

y=(T2)x;

}

voidmain(){

doublex=134.2;

inty=22;

f(x,y);

cout<<″x=″<

}

五、程序分析题(本大题共2小题,每小题5分,共10分)

请给出下面程序输出成果

51.#include

classClass

{

public:

staticintvar;

Class()

{

var++;

}

};

intClass:

var=0;

voidmain()

{

cout<<″Class:

var=″<

var<

Classcl;

cout<<″cl.var=″<

Classc2,c3;

cout<<″c2.var=″<

}

52.#include

classA

{

public:

A();

voidShow();

~A();

private:

staticintc;

};

intA:

c=0;

A:

:

A()

{

cout<<″constructor.″<

c+=10;

}

voidA:

:

Show()

{

cout<<″c=″<

}

A:

~A()

{

cout<<″destructor.″<

}

voidmain()

{

Aa,b;

a.Show();

b.Show();

}

六、程序设计题(本大题共l小题,共10分)

53.运用LOCATION类,使用继承定义圆类CIRCLE,圆由圆心和半径构成。

提供得到圆心坐标和半径成员函数、以及计算圆周长和面积成员函数。

在主程序中创立两个圆A和B,圆心坐标分别为(0,3)、(3,7),按如下格式输出两个圆圆心坐标、周长和面积,并计算和输出两个圆圆心之间距离。

A:

(xl,y1,r1),Girth=g1,Area=a1

B:

(x2,y2,r2),Girth=g2,Area=a2

A(xl,y1),B(x2,y2),Distance=d

定义LOCATION类,该类没有“继承”等现象。

注意二维坐标点之间距离公式。

classLOCATION{

doublex,y;

public:

virtualdoublegetx()const{returnx;};

virtualdoublegety()const{returny;};

virtualdoubledist(LOCATION&s)const;

LOCATION(doublex,doubley):

x(x),y(y){};};

doubleLOCATION:

dist(LOCATION&s)const{

doublexd=s.x—x,yd=s.y—y;

returnsqrt(xd*xd+yd*yd);}

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 可爱清新

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1