04737C程序设计试题和答案解析10纸质.docx
《04737C程序设计试题和答案解析10纸质.docx》由会员分享,可在线阅读,更多相关《04737C程序设计试题和答案解析10纸质.docx(12页珍藏版)》请在冰豆网上搜索。
04737C程序设计试题和答案解析10纸质
2014年lO月高等教育自学考试全国统一命题考试
C++程序设计试卷
(课程代码04737)
本试卷共8页,满分l00分,考试时间l50分钟。
考生答题注意事项:
1.本卷所有试题必须在答题卡上作答。
答在试卷上无效,试卷空白处和背面均可作草稿纸。
2.第一部分为选择题。
必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。
3.第二部分为非选择题。
必须注明大、小题号,使用0.5毫米黑色字迹签字笔作答。
4.合理安排答题空间,超出答题区域无效。
第一部分选择题
一、单项选择题(本大题共20小题,每小题l分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”
的相应代码涂黑。
未涂、错涂或多涂均无分。
1.在编译指令中,宏定义使用的指令是
A.#includeB.#defineC.#ifD.#else
2.基类中的protected成员,通过哪种派生,其在派生类中的可见性为protected?
A.public和privateB.public和protected
C.protected和privateD.仅protected
3.基类中的public成员,通过public派生,基在派生类中的可见性为
A.不可访问B.privateC.protectedD.public
4.不同对象调用同名函数,但导致完全不同行为的现象称为
A.抽象B.封装C.继承D.多态性
5.头文件扩展名为
A.cppB.hC.ubD.ob
6.声明函数为内联使用的关键字为
A.constB.inlineC.shortD.signed
7.设类A中有静态数据成员x,两个A类对象a和b,若a.x=10,则b.x的值为
A.9B.10C.1lD.不能确定
8.C++允许在结构中定义函数,这些函数称为
A.静态函数B.构造函数C.析构函数D.成员函数
9.下列哪种类型的函数适合声明为内联函数?
A.函数体语句较多B.函数体逻辑较复杂
C.函数执行时间较长D.函数语句较少,执行速度要求高
10.析构函数的返回值类型为
A.voidB.boolC.intD.无类型
11.函数重载必须满足的条件是
A.函数名相同B.参数个数不同C.参数类型不同D.函数名不相同
12.下列表达式,哪个是声明P为指向常量的常量指针?
A.constint*PB.int*constP
C.constint*constPD.int*P
13.C++中函数中的return指令可以
A.只能有一条B.0或多条C.至少有一条D.只能主函数调用
14.类声明的内容用花括号括起来,在花括号后跟哪个符号表示类声明结束
A.:
B.;C.,D..
15.使用newPoint(5,7)创建对象,调用的是下列哪个构造函数?
A.Point:
:
Point()B.Point:
:
Point(int,int)
C.Point:
:
Creat()D.Point:
:
Creat(int,int)
16.类中的protected成员在何处访问?
A.只类自身成员函数中B.只子类成员函数中
C.类和子类的成员函数中D.通过对象类外访问
17.在类中使用static关键字修饰的成员函数称为
A.全局成员函数B.公有成员函数C.静态成员函数D.非静态成员函数
18.用于标识十六进制常量的前缀或后缀是
A.无B.后缀L或lC.前缀零D.前缀Ox
19.在定义结构时,为产生封装性,则需使用哪个关键字数据成员?
A.publicB.publishC.protectedD.private
20.函数模板templatevoidFunc(T,T)不能具有哪种实例化形式?
A.voidFunc(int,int)B.voidFunc(bool,bool)
C.voidFunc(double,int)D.voidFunc(char,char)
第二部分非选择题
二、填空题(本大题共20小题。
每小题l分,共20分)
请在答题卡上作答
21.在标准C++输入/输出方式中,用于设置转换基数为十进制的操控符是__dex_____。
22.在C++的类声明中,用public关键字声明的类成员的访问权限是___公有的____。
23.若类的成员函数用关键字static进行修饰,这样的成员函数称为___静态成员函数____。
24.虚函数类似于重载函数,但与重载函数的实现策略不同,对虚函数的调用使用___动态联编____。
25.执行下列代码
cout<程序的输出结果是___123.000____。
26.C++语言中用于释放动态分配内存的关键字是___delete____。
27.string类中用于查找字符串中是否含有某一字符串的成员函数的第l个参数是
___要查找的子字符串____。
28.C++类的构造函数名与____析构函数___名称一样,且没有返回值。
29.私有派生时,在派生类中基类的public权限变为___private____。
30.C++重载“=”运算符的函数名是___operator=____。
31.在使用strin9类的find成员函数来检索主串中是否含有指定的子串时,若在主串中不含指定的子串,find函数的返回值是___-1____。
32.类A有如下成员函数
在主函数中有ints=fun(6.0)+fun
(2),则执行该语句后s的值为___7____。
33.重载运算符保持其原有的操作符个数,___优先级____和结合性不变。
34.若一个程序中使用如下语句申请了一个对象数组:
point*prt=newpoint[2];
则在需要释放prt指向的动态数组对象时,所使用的语句是___delete[]prt____.
35.定义虚函数所用的关键字是___virtual____。
36.设要把一个文件输出流对象myFile与文件“f:
\myText.txt”相关联,所用的C++语句是___myFile.open(“f:
\myText.txt”)____。
37.为了使用C++语言标准程序库提供的string类,在程序中必须使用宏语句是___#include____。
38.C++函数中传递对象地址值时使用___对象指针____作为参数。
39.UML中实例连接反映对象之间的静态关系,消息连接描述对象之间的___动态____关系。
40.使用引用作为函数参数,实参对象和形参对象代表同一对象。
改变形参对象的值就是改变____实参___对象的值。
三、改错题(本大题共5小题,每小题4分,共20分)
请在答题卡上作答。
下面的类定义中有一处错误,请将错误所在行抄写到答题卡上,并给出修改意见
41.#include
classpoint{
private:
floatx,y;
public:
voidf1(floata,floatb){x=a;y=b;}
voidget(){
cout<};
main(){
pointa;
a.f1(2.2,3.3)
a.get();
}
42.答:
intx=0,y=0错误,数据成员声明时不能初始化
四、完成程序题(本大题共5小题,每小题4分,共20分)
请在答题卡上作答。
五、程序分析题(本大题共2小题,每小题5分,共10分)
请在答题卡上作答。
六、程序设计题(本大题共l小题,共l0分)
请在答题卡上作答。