全国1月自考C程序设计试题带答案.doc
《全国1月自考C程序设计试题带答案.doc》由会员分享,可在线阅读,更多相关《全国1月自考C程序设计试题带答案.doc(11页珍藏版)》请在冰豆网上搜索。
我自考网整理
全国2010年1月自考C++程序设计试题
课程代码:
04737
一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
B自考资料,自考白皮书
1.在C++中,头文件扩展名为(B)
A..cpp B..h
C..1ib D..obj
2.下列符号中,不属于分隔符的是(B)
A., B./
C.; D.{}
3.可替换#definePI3.1415926的语句是(B)
A.floatPI3.1415926; B.constfloatPI=3.1415926;
C.constPI(3.1415926); D.const3.1415926;
4.布尔类型标识符是(D)
A.void B.short
C.long D.bool
5.下列不是C++语言的基本数据类型的是(D)
A.字符类型 B.整数类型
C.逻辑类型 D.枚举类型
6.C++允许在结构中定义函数,这些函数称为(D)
A.静态函数 B.构造函数
C.析构函数 D.成员函数
7.设函数voidinc(int)将形参加1,如有整型变量inti=10;则执行inc(i);后,i的值为(B)
A.9 B.10
C.11 D.未知
8.下列哪种默认参数的声明是不正确的(C)
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值分别为(C)
A.10,15 B.11,15
C.10,16 D.1l,16
10.包含哪种语句的函数不能声明为内联函数(A)
A.循环 B.变量自增自减
C.if...else… D.变量声明
11.定义函数模板中使用的参数类型标识符需使用下列哪组符号括起来(A)
A.<> B.“”
C.() D.{}
12.一个类拥有多个构造函数,则这些构造函数间为(A)
A.重载关系 B.重复关系
C.拷贝关系 D.无关系
13.对于拷贝构造函数point:
:
point(point&p),下列说明正确的是(C)
A.该函数只能访问P的私有成员 B.该函数不能访问P的公有成员
C.该函数可以访问P的私有和公有成员 D.该函数不能访问P的成员
14.使用delete[]删除对象数组时,描述正确的是(A)
A.数组中各元素都调用析构函数 B.数组中各元素都调用构造函数
C.不调用析构函数 D.只有首元素调用析构函数
Point*p=newPoint[5];=>B
15.下列哪个指令属于条件编译指令(A)
A.#elif B.#error
C.#pragma D.#include
16.设类Test中存在成员staticintx,则下列哪种初始化方式是正确的(C)
A.Test:
:
intx=25; B.intx=25;
C.intTest:
:
x=25; D.intTestx=25;
17.下列关于友元的描述错误的是(A)
A.成员函数不可作友元 B.类可以作友元
C.普通函数可以作友元 D.静态函数可以作友元
18.在继承中,派生类拥有的基类个数为(D)
A.0个 B.1个
C.多个 D.至少1个
19.基类中的protected成员,通过public派生,其在派生类中的可见性为(C)
A.不可访问 B.private
C.protected D.public
20.下列哪个不是面向对象的关键要素(B)
A.抽象性 B.结构性
C.封装性 D.多态性
二、填空题(本大题共20小题,每小题1分,共20分)
请在每小题的空格中填上正确答案。
错填、不填均无分。
21.在STL库中用于实现数组内容反转的函数是__reverse____。
P14
22.若要使用C++标准类库,需要指定相应的命名空间,所用的语句是___usingnamespacestd;___。
23.C++语言中的整数常量有4种描述类型:
十进制常量、长整型常量、八进制常量和__十六进制常量____。
24.声明一个名为a的整型引用变量所使用的语句是___int&a;___。
类外?
25.重载的运算符仍保留原有的优先级、_结合性_____和语法结构。
26.执行代码
intb=100;
cout<程序的输出结果是__64____。
27.带有纯虚函数的类称为抽象类,它只能作为___基类___来使用。
28.使用__对象引用____作为函数参数,实参对象和形参对象代表同一对象,改变形参对象的值就是改变实参对象的值。
29.UML中对象之间的静态关系是通过对象属性之间的连接反映的,称之为__实例连接____。
30.如果一个模板声明列出多个参数,则多个参数之间必须使用逗号隔开,每个参数都必须重复使用关键字__class____。
(或typename)
31.C++类的构造函数名与___类___名称一样,且没有返回值。
32.C++规定,当一个成员函数被调用时,系统自动向它传递一个隐含的参数,该参数是一个指向调用该函数的对象的指针,该指针被称为__this____指针。
33.声明一个常成员函数Fun,其返回类型为char,第一个参数类型为int,第二个参数类型为double,函数Fun的声明原型是__charFun(int,double)const;____。
34.C++语言中的“聚合”隐含了两种实现方式,一种是__独立的定义____,另一种是用一个类的对象作为一种广义的数据类型来定义整体对象的一个属性。
35.简单成员函数是指声明中不含const、_volatile_____和static关键字的函数。
36.在派生类中继承的基类成员的初始化,需要由派生类的构造函数调用基类的__构造函数____来完成。
37.在C++中,利用向量类模板定义一个具有20个int的向量,其所有元素被置为1,实现此操作的语句是__vectorv(20,1);____。
38.vector类中用于获取无需再次分配内存就能容纳的对象个数的方法是__capacity()____。
P156
39.动态联编是程序运行到需要的语句处才动态确定的,这称为___运行时___多态性。
(注意:
动态联编)
40.C++重载“=”运算符的函数名是__operator=____。
三、改错题(本大题共5小题,每小题4分,共20分)B自考资料,自考白皮书
下面的每题中有一处错误,请用下横线标出错误所在行并给出修改意见
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分)B自考资料,自考白皮书
46.将下面程序补充完整,使程序计算100以内所有可被7整除的自然数之和。
#include
voidmain()
{
intx=1;
intsum=0;
while(true)
{
i