全国2014年4月高等教育自学考试C++程序设计试题
温馨提示
亲爱的学员,您好!
11.如P是一指针类型表达式,则下列表达式中不是左值表达式的是
A.P B.*P
C.&P D.P+1
12.使用下列流格式控制符能输出一个换行符的是
A.dec B.oct
C.hex D.endl
13.下列表达式,能将P声明为常量指针的是
A.const int * P; B.int*const P;
C.const int * const P D.int * P
14.C++程序文件扩展名为
A..cpp B..h
C..lib D..obj
15.对C++中主函数描述正确的是
A.名称为main,可为多个 B.名称不限,可为多个
C.名称为main,必须有且只能有一个 D.名称不限,必须有且只能有一个
16.假定有char * P="Hello";,要输出这个字符串的地址值的正确写法是
A.cout<< *P B.cout<
C.cout<<&P D.cout<<(void *)P
17.下列描述错误的是
A.在没创建对象前,静态成员不存在
B.静态成员是类的成员,不是对象成员
C.静态成员不能是虚函数
D.静态成员函数不能直接访问非静态成员
18.对于友元描述正确的是
A.友元是本类的成员函数 B.友元不是本类的成员函数
C.友元不是函数 D.以上皆不正确
19.一个函数功能不太复杂,但要求频繁使用,则该函数适合作为
A.内联函数 B.重载函数
C.递归函数 D.嵌套函数
20.下列默认参数的声明不正确的是
A.int max(int a,int b,int c,int d=0);
B.int max(int a,int b,int c=0,int d=0);
C.int max(int a=0,int b,int c=0,int d=0);
D.int max(int a,int b=0,int c=0,int d=0);
非选择题部分
注意事项:
用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。
二、填空题(本大题共20小题,每小题1分,共20分)
21.C++程序的编译是以______为单位进行的。
22.默认参数是在______中说明的,默认参数可以多于一个。
23.通过C++语言中的______机制,可以从现存类中构建其子类。
24.拷贝构造函数使用______作为参数初始化创建中的对象。
25.基类的公有成员在通过公有派生得到的子类中访问权限是______。
26.要关闭一个输出流对象myFile,所用的C++语句是______。
27.执行下列代码:double pi=3.1415926;cout<
28.对象作为函数参数,就是将实参对象的______传递给形参对象,这种传递是单向的。
29.建立一个对象时,对象的状态是不确定的。为了使对象的状态确定,必须对其进行正确的______。
11.如P是一指针类型表达式,则下列表达式中不是左值表达式的是
A.P B.*P
C.&P D.P+1
12.使用下列流格式控制符能输出一个换行符的是
A.dec B.oct
C.hex D.endl
13.下列表达式,能将P声明为常量指针的是
A.const int * P; B.int*const P;
C.const int * const P D.int * P
14.C++程序文件扩展名为
A..cpp B..h
C..lib D..obj
15.对C++中主函数描述正确的是
A.名称为main,可为多个 B.名称不限,可为多个
C.名称为main,必须有且只能有一个 D.名称不限,必须有且只能有一个
16.假定有char * P="Hello";,要输出这个字符串的地址值的正确写法是
A.cout<< *P B.cout<
C.cout<<&P D.cout<<(void *)P
17.下列描述错误的是
A.在没创建对象前,静态成员不存在
B.静态成员是类的成员,不是对象成员
C.静态成员不能是虚函数
D.静态成员函数不能直接访问非静态成员
18.对于友元描述正确的是
A.友元是本类的成员函数 B.友元不是本类的成员函数
C.友元不是函数 D.以上皆不正确
19.一个函数功能不太复杂,但要求频繁使用,则该函数适合作为
A.内联函数 B.重载函数
C.递归函数 D.嵌套函数
20.下列默认参数的声明不正确的是
A.int max(int a,int b,int c,int d=0);
B.int max(int a,int b,int c=0,int d=0);
C.int max(int a=0,int b,int c=0,int d=0);
D.int max(int a,int b=0,int c=0,int d=0);
非选择题部分
注意事项:
用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。
二、填空题(本大题共20小题,每小题1分,共20分)
21.C++程序的编译是以______为单位进行的。
22.默认参数是在______中说明的,默认参数可以多于一个。
23.通过C++语言中的______机制,可以从现存类中构建其子类。
24.拷贝构造函数使用______作为参数初始化创建中的对象。
25.基类的公有成员在通过公有派生得到的子类中访问权限是______。
26.要关闭一个输出流对象myFile,所用的C++语句是______。
27.执行下列代码:double pi=3.1415926;cout<
28.对象作为函数参数,就是将实参对象的______传递给形参对象,这种传递是单向的。
29.建立一个对象时,对象的状态是不确定的。为了使对象的状态确定,必须对其进行正确的______。
30.C++类中的______函数在对象的生存期结束时被自动调用。
31.C++语言中的整数常量有四种:十进制常量、长整型常量、八进制常量和______。
32.UML中对象之间的静态关系是通过对象属性之间的连接反映的,称之为______。
33.声明一个常成员函数Fun,返回类型为char,第一个参数类型为int,第二个参数类型为double,则该函数的声明原型是______。
34.在C++语言中,利用向量类模板定义一个具有20个int类型且初值为1的向量C,实现此操作的语句是______。
35.执行下列代码:int a=123,b=321;cout<
36.将指向对象的指针作为函数参数,形参是对象指针,实参是对象的______。
37.vector类中用于返回向量中第一个对象的方法是______。
38.C++语言中动态分配内存的关键字是______。
39.C++类成员的访问权限有______、公有和保护三种。
40.写出声明一个复数对象num的语句,并使对象被初始化为单精度2.2+1.3i,此声明语句是______。
三、改错题(本大题共5小题,每小题4分,共20分)
下面的每题中有一处错误,请在答题纸上写出错误所在行并给出修改意见
41.#include
main ( ){
int x=5,y=6;
const int *p=&x;
* p=y;
cout<<*p<
}
42.#include
class f {
private:T x, y;
public:f1(T a,T b){x=a;y=b;}
T max( ){return(x>y)?x:y;}
};
main( ) {
f a;
a.f1(1.5,3.8);
cout<
}
43.#include
class point {
private:float x,y;
public:point(float a,float b){x=a;y=b;}
f( ){x=0;y=0;}
void getx( ){cout<
void gety( ){cout<
};
main( ) {
point a (3.5);
a.getx( );
}
44.#include
class f{
private:float x,y;
float get( ){return x+y;}
public:f1(float a,float b){x=a;y=b;}
};
main( ) {
f a;
a.f1(1,3.8);
cout<
}
45.#include
class testl{
private:Int x;
public:testl( ){x=2;}
void set(int a){x=a;}
void get(){cout<
};
class test2{
private:int x;
public:test2( ){x=3;}
void set(int a){x=a;}
void get( ){cout<
};
class test:public testl,public test2.{
private:int x;
public:void set(int a){x=a;}
void gettest( ){cout<
};
main( ) {
test a;a.get( );
}
四、完成程序题(本大题共5小题,每小题4分,共20分)
46.完成下面类中的成员函数的定义。
class point
{
private:
int m,n;
public:
point(int,int);
point(point&);
};
point::point(int a,int b)
{
m=a;
_____=b;
}
point::point(______)
{
m=t.m;
n=t.n;
}
47.#include
using namespace std;
class base
{
private:int x;
public:base(int a){x=a;}
int get( ){return x;}
void showbase( ) {cout<<"x="<
};
class Derived:public base
{private:int y;
public:Derived(int a,int b):base(a) {y=b;}
void showderived( )
{cout<<"x="<
if(! fout.is_open( ))
return;
for(int i=0;i<3;i=i+1)
fout<<"This is line"<
fout.close( );
fin.open("my.txt",ios::in);
if(! fin.is_open( ))
return;
char str[100];
while(______)
{
fin.getline(str,100);
cout<
}
fin.close( );
}
50.求两个浮点数之差的cha函数的原型声明、调用方法。
#include
using namespace std;
void main( )
{
float a,b;
______;∥函数cha的原型声明
a=12.5;
b=6.5;
float c=__________;∥调用函数cha
cout<
}
float cha(float x,float y)
{
float w;
w=x-y;
return w;
}
五、程序分析题(本大题共2小题,每小题5分,共1O分)
51.#lnclude
void func( );
void main( )
{
for(inti=0;i<6;i++)
{
func( );
}
}
void func( )
{
int x=0;
x ++;
static int y=0;
y ++;
cout<<"x="<
}
void main( )
{
A a,b;
a.Show( );
b.Show( );
}
六、程序设计题(本大题共1小题,共10分)
53.在三角形类tri实现两个函数,功能是输入三个顶点坐标判断是否构成等边三角形
#include
#include
class point { point
private:float x,y;
public:f(float a,float b){x=a;y=b;}
f( ){x=0;y=0;}
Void set(float a,float b){x=a;y=b;}
float getx( ){return x;}
noat gety( ){return y;}
};
class tri{
point x,y,z;
float s1,s2,s3;
public....settri(....);∥用于输入三个顶点坐标
....test(....);∥用于判断是否构成等边三角形
};
请写出两个函数的过程(如果需要形式参数,请给出形参类型和数量,以及返回值类型)
点击查看全部真题 >>
扫码登录
扫码关注“广东省自考网”微信公众号
即可查看全部内容
《广东自考网》免责声明:
1、由于考试政策等各方面情况的调整与变化,本网提供的考试信息仅供参考,最终考试信息请以省考试院及院校官方发布的信息为准。
2、本站内容部分信息均来源网络收集整理或来源出处标注为其它媒体的稿件转载,免费转载出于非商业性学习目的,版权归原作者所有,如有内容与版权问题等请与本站联系。联系邮箱:812379481@qq.com