姓名__________________ 专业名称__________________ 班号________________学号__________________教学中心_________________
…………………… …… … … … … …密………………… …… … … … … ……封……………… …… … … …线… … … …… … … ……………………
电子科技大学网络教育考卷(A卷)(20 年至20 学年度第 学期)
考试时间 年 月 日(120分钟) 课程 C++语言 教师签名_____
大题号 | 一 | 二 | 三 | 四 | 五 | 六 | 七 | 八 | 九 | 十 | 合 计 |
得 分 | |||||||||||
一、单项选择题(每小题1分,共30分)
1、一个类的友元函数能够访问该类的___________________。
①私有成员 ②保护成员 ③公有成员 ④所有成员
2、有关类和对象的说法不正确的是___________________。
①对象是类的一个实例
②一个类只能有一个对象
③任何一个对象只能属于一个具体的类
④类与对象的关系和数据类型与变量的关系相似
3、#include "iostream.h"
class A
{public:
A(){cout<<"A";}
~A(){cout<<"B";}
};
void main()
{A *p=new A[2];
delete [] p;
cout<<endl;
}
上面程序运行后的输出结果是___________________。
①编译时将出错 ②ABAB ③ABBA ④AABB
4、下列___________________不是构造函数的特征。
①构造函数的函数名与类名相同
②构造函数可以重载
③构造函数可以设置形式参数的默认值
④构造函数必须指定函数类型
5、cin是______________类的标准对象的引用。
①ostream ②istream ③stdout ④stdin
6、下面有关类说法不正确的是______________。
①一个类可以有多个构造函数
②一个类只有一个析构函数,且析构函数不能被指定参数
③一个类中public、protected和private三者说明的顺序可以任意,且可以被使用多次,也可以不使用
④在一个类中不能说明具有类类型的数据成员
7、说明虚函数的关键字为______________。
①inline ②virtual ③static ④define
8、若有float f=6.8;int i= int(f); 则i的值为______________。
①6 ②7 ③ 6.8 ④不确定
9、若有float f=1.8;int i= int(f); 则f的值为______________。
①1 ②2 ③ 1.8 ④不确定
10、说明内联函数的关键字为______________。
①inline ②virtual ③static ④define
11、已知类X中的一个成员函数说明如下:void Set(X & a); 其中,X & a的含义是___________________。
①指向类X的指针为a ②将a的地址赋给变量Set
③a是类X的对象引用,用来作为Set()的形参
④变量X与a按位相与作为函数Set()的参数
12、用成员函数重载一元运算符θ,则显示调用方式为______________。
①obj θ ②θ obj ③obj.operator θ() ④operator θ(obj)
13、以下______________没有函数返回类型,但又必须有return 语句。
①析构函数 ②类类型转换函数 ③运算符重载函数 ④构造函数
14、以下_______________是不正确的强制类型转换方式。
①(type表达式) ②(type)表达式 ③type(表达式)
④(type)(表达式)
15、关于对象成员的构造函数的调用顺序,说法正确的是___________________。
①与它们在成员初始化列表中给出的顺序相同
②与析构函数的调用顺序相同
③与它们在类中定义说明的顺序相同
④以上说法都不对
16、# include "iostream.h"
void main()
{int a=3;
int & b=a;
b=5;
cout<<a<<b<<endl;
}
上面程序的运行结果是___________________。
①33 ②35 ③53 ④55
构造函数可以被重载17、# include "iostream.h"
int a(1),b(2);
void f(int,int=a,int=a+b);
void main()
{f(3);
f(4,5);
f(6,7,8);
cout<<endl;
}
void f(int x,int y,int z)
{cout<<x+y+z<<",";}
上面程序的运行结果是___________________。
①7,15,31, ②9,15,31,
③6,17,28, ④7,12,21,
18、C++源程序文件的扩展名为___________________。
①.cpp ②.c ③.c++ ④.dll
19、关于虚函数,______________不正确。
①析构函数可以是虚函数 ②构造函数不可以是虚函数
③虚函数是类的私有成员函数 ④虚函数是类的公有成员函数
20、cout是______________类的标准对象的引用。
①ostream ②istream ③stdout ④stdin
21、空类就是没有______________的类。
①类名 ②任何成员 ③数据成员 ④成员函数
22、若在类外有函数调用X::func();则函数func是类 X的______________函数。
①私有静态成员函数 ②公有非静态成员函数 ③公有静态成员函数 ④友元函数
23、#include <iostream.h>
void main( )
{int x=25;
cout<<hex<<x<<dec<<x<<oct<<x<<endl;
}
上面程序的运行结果是______________
①252525 ②312519 ③192531 ④193125
24、# include "iostream.h"
void main( )
{int a=2;
# define A a+a
# define B A-A
const int M=a+a;
const int N=M-M;
cout<<3*B<<","<<3*N<<endl;
}
上面程序的运行结果是____________________
①0,0 ②0,8 ③8,0 ④8,8
25、new必须与__________________配对使用。
①delete ②close ③return ④exit
26、在main()函数中,若有函数调用func(…),而func在类A中定义,则func函数是A类的_______________函数。
①友元 ②构造 ③静态公有成员 ④析构
27、#include "iostream.h"
class A
{public:
A(int i,int j){x=i; y=j;}
operator int(){return x+y;}
private:
int x,y;
};
void main()
{A a(3,4);
cout<<a*2<<endl;
}
上面程序的运行结果是____________________
①编译时出错 ②10 ③11 ④14
28、说明友元函数的关键字为_______________。
①inline ②virtual ③friend ④define
29、若有X obj[100]; (X为类名),则调用构造函数的次数为_______________次。
① 0 ② 1 ③ 100 ④ 任意
30、说明静态成员函数的关键字为_______________。
①virtual ②static ③enum ④inline
二、判断题(正确的划√,错误的划×,每小题1分,共10分)
( )1、无论是公有派生或私有派生,都可以将派生类对象当作基类对象使用。
( )2、一个类的对象具有该类定义的所有数据成员的副本。
( )3、基类的公有成员函数在派生类中仍然是公有成员函数。
( )4、下面的类定义从语法上看是正确的:
class A
{ int x;
public:
static void f(){cout<<x<<endl;}
//……
};
( )5、下面的对象定义从语法上看是正确的:
class A
{ int x;
public:
A(int y){x=y;}
};
A obj1(3),obj[4];
( )6、static 成员的初始化必须在类外进行。
( )7、当一个单目运算符θ按成员函数方式重载时,其显式调用格式是:obj1.operator θ();
( )8、当一个双目运算符θ按友元函数方式重载时,其显式调用格式是:operator θ(obj1,obj2);
( )9、友元关系不可逆,不可继承,也不可传递。
( )10、数据成员变量用来描述对象的属性,成员函数用来描述对象的行为。
三、程序填空题(请在横线上填入适当的语句,把程序补充完整。每小题5分,共10分)
1、定义一个栈类
#include "iostream.h"
const int SIZE=30;
class stack
{private:
char stk[SIZE];
________________________________________________________________
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论