【计算机类职业资格】二级C++分类模拟252及答案解析.doc
《【计算机类职业资格】二级C++分类模拟252及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++分类模拟252及答案解析.doc(20页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+分类模拟 252及答案解析(总分:63.50,做题时间:90 分钟)一、选择题(总题数:35,分数:63.50)1.数据库设计中反映用户对数据要求的模式是_。(分数:1.00)A.内模式B.概念模式C.外模式D.设计模式2.下列程序的输出结果是 #includeiostreamh void main( ) double d=3.2; int x,y; x=12; y=(x+38)/50; cout y * d end1;(分数:1.00)A.3B.3,2C.0D.3073.有如下类声明: class Pam int k; public: Pam(int n); void show()
2、constcoutk; ; 若要在类体外给出构造函数 Pam的定义,下列定义中正确的是_。(分数:2.50)A.Pam(int n):kin)B.Pam:Pam(int n):k(n)C.void Pam(int n):k(n)D.void Pam:Pam(int n):k(n)4.有以下程序: #include iostream using namespace std; class B private: int a,b; public: B() B(int i,int j); void printb(); ; class A B C; public: A() A(int i,int j);
3、void printa(); ; A:A(int i,int j) :c(i,j) void A:printa() c.printb (); B:B(int i, int j) a=i; b=j; void B: :printb() couta“, “bend1; int main () A m(7,8); m.printa(); return 0; 该程序运行后的输出结果是 _ 。(分数:1.00)A.5,6B.7,8C.8,9D.9,105.有如下程序: #includeiostream using namespace std; class Point int x,y; public: P
4、oint(int x1=0,int y1=0):x(x1),y(y1) int get()return x+y; ; class Circle Point center; int radius; public: Circle(int cx,int cy,int r):center(cx,cy),radius(r) int get()return center.get()+radius; ; int main() Circle c(3,4,5); coutc.get()endl; return 0; 运行时的输出结果是_。(分数:2.50)A.5B.7C.9D.126.有如下程序: #inclu
5、deiostream using namespace std; class Base public: Base(int x=0)coutx; ; class Derived:public Base public: Derived(int x=0)coutx; private: Base val; ; int main() Derived d(1); return 0; 程序的输出结果是_。(分数:2.00)A.0B.1C.01D.0017.将运算符重载为类成员函数时,其参数表中没有参数,说明该运算符是_。(分数:1.00)A.不合法的运算符B.一元运算符C.无操作数的运算符D.二元运算符8.以
6、下不能正确创建输出文件对象并使其与磁盘文件相关联的语句是_。(分数:1.00)A.ofstream myfile;myfile.open(“d:ofile.txt“);B.ofstream * myfile=new ofstream;myfile-open(“d:ofile.txt“);C.ofstream myfile(“d:ofile.txt“);D.ofstream * myfile=new(“d:ofile.txt“);9.若目前 D盘根目录下并不存在 test.txt文件,则下列打开文件方式不会自动创建 test.txt文件的是_。(分数:2.50)A.ifstream fin; f
7、in.open(“d:/test.txt“,los_base:in);B.fstream fio; fio.open(“d:/test.txt“,los_base:out);C.ofstream four; fout.open(“d:/test.txt“,ios_base:out);D.ofstream fout; four.open(“d:/test.txt“,los_base:app);10.关于 this指针的说明不正确的是(分数:1.00)A.不能在程序中修改 this指针B.this指针可以给其他指针赋值,但不能修改 this指针C.静态成员函数中没有 this指针D.this指针可
8、以被赋值11.需求分析阶段的任务是确定_。(分数:1.00)A.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能12.执行下列语句段后,输出字符“*”的个数是_。 for(int i=50;i1;I-=2)cout“*“;(分数:3.00)A.24B.25C.26D.5013.已知函数 fun的原型为 int fun(int,int,int); 下列重载函数原型中错误的是_。(分数:2.00)A.char fun(int,int);B.double fun(int,int,double);C.int fun(int,char*);D.float fun(int,int,int);1
9、4.函数定义为 Fun(int B.fun(20+n);C.fun(n);D.funD( int main() char a100; cina; couta“/n“; return 0;(分数:2.00)ATB.ThankC.Thank you very much!D.Thank you17.要建立文件流并打开当前目录下的文件 file.dat用于输入,下列语句中错误的是_。(分数:1.00)A.ifstream fin=ifstream.open(“file.dat“);B.ifstream*fin=new ifstream(“file.dat“);C.ifstream fin;fin.op
10、en(“file.dat“);D.ifstream*fin=new ifstream();fin-open(“file.dat“);18.类模板 templateclass Tclass x,其中友元函数 f对特定类型 T(如 int),使函数f(xint成为 xint模板类的友元,则其说明为_。(分数:1.00)A.fricnd voidf();B.friend voidf(xT);C.friend voidA:f();D.friend void CT:f(xT);19.有如下程序: #includeiostream using namespace std; class BASE publi
11、c: BASE()cout“BASE“;) ; class DERIVED:public BASE public: DERIVED()cout“DERIVED“; ; int main()DERIVED x;return 0; 执行后的输出结果是 _ 。(分数:2.00)A.BASEB.DERIVEDC.BASEDERIVEDD.DERIVEDBASE20.下列程序将 x、y 和 z按从小到大的顺序排列,横线处应添加语句 _ 。 templateclass T void fun (_) T a; if(xy) a=x;x=y;y=a; if(yz) a=y;y=z;z=a; if(xy) a=
12、x;x=y;y=a; (分数:2.00)A.Tx,Ty,TzB.Tx;y;zC.T ; 若耍为 Myclass类重载流输入运算符,使得程序中可以“cinobj;”形式输入 MyClass类的对象obj,则横线处的声明语句应为_。(分数:1.00)A.friend istream operator(istream is,MyClass-a);B.friend istreamoperator(istream is,MyClassa);C.istreamoperator(istreamis,MyClassa);D.istrcamoperator(istreamis,Myclass a);22.在下列
13、几种排序方法中,要求内存量最大的是 _ 。(分数:2.00)A.插入排序B.选择排序C.快速排序D.归并排序23.有如下类声明: class XA int x; public: XA(int n)x=n; ; class XB:public XA int y; public: XB(int a,int b); ; 在构造函数 XB的下列定义中,正确的是_。(分数:1.00)A.XB:XB(int a,int b):x(a),y(b)B.XB:XB(int a,int b):XA(a),y(b)C.XB:XB(int a,int b):x(a),XB(b)D.XB:XB(int a,int b)
14、:XA(a),XB(b)24.已知一函数的形参说明为 int arr56,则与此等效的形参说明为(分数:2.00)A.int arrB.int5C.int*a6D.int(*a)625.下列语句中,输出与众不同的是(分数:2.00)A.cout“ 1. “setfill(“ “) “ Hello ! “end1B.cout“1. “Hello!“/n“;C.cout“1. Hello!“end1;D.cout“1. “setw(7)“Hello! “;26.若 MyClass为一个类,执行“MyClass a4,*p5;”语句时会自动调用该类构造函数的次数是_。(分数:2.50)A.2B.5C
15、.4D.927.下列函数模版中的定义中,合法的是_。(分数:2.00)A.templatetypename TT abs(T x)return x0?-x:x;B.template classTT abs(T x)return x0?-x:x;C.template Tclass Tabs(T x)return x0?-x:x;D.template T abs(T x)return x0?-x:x;28.有如下类定义: ciass A char*a; public: A():a(0) A(char*aa)/把 aa所指字符串拷贝到 a所指向的存储空间 a=_; strcpy(a,aa); A()
16、(deletea; ; 横线处应填写的表达式是_。(分数:2.00)A.new charstrlen(aa)+1B.charstrlen(aa)+1C.charstrlen(aa)D.new charsizeof(aa)-129.有如下程序: #include iostream using namespace std; class Base private: char c; public: Base(char n) :c(n) Base() coutc; ; class Derived: public Base private: char c; public: Derived(char n):
17、Base(n+1),c(n) Derived() coutc; ; int main () Derived obj (“x“); return 0; 执行上面的程序净输出(分数:2.00)A.xyB.yxCxDy30.下面程序的运行结果是 #includeiostream.h Void main( ) int num1; int refref2; cout num; numnum3; cout ref endl; (分数:2.00)A.13B.16C.36D.3331.在为一个类重载下列运算符时,只能作为该类成员函数重载的运算符是_。(分数:1.00)A.+B.()C.D.+32.有如下类声明
18、: class XA int x; public: XA(int n)x=n; ; class XB:public XA int y; public: XB(int a,int b); ; 在构造函数 XB的下列定义中,正确的是 _ 。(分数:2.00)A.XB:XB(int a,int b):x(a),y(b)B.XB:XB(int a,int b):XA(a),y(b)C.XB:XB(int a,int b):x(a),XB(b)D.XB:XB(int a,int b):XA(a),XB(b)33.Sample是一个类,执行下面语句后,调用 Sample类的构造函数的次数是_。 Sampl
19、e a2,*p=new Sample;(分数:2.50)A.0B.1C.2D.334.有如下程序段: int i=1; while(1) i+; if(i=10)break; if(i%2=0)cout“*“; 执行这个程序段输出字符“*“的个数是_。(分数:2.50)A.10B.3C.4D.535.有如下程序: # includeiostream using namespace std; class Name char name20; public: Name() strcpy(name,“ “); cout“?“; Name(char* fname) strcpy(name,fname);
20、 cout“?“; ; int main() Name names3=Narne(“张三“),Name(“李四“); return 0; 运行此程序输出符号?的个数是_。(分数:2.50)A.0B.1C.2D.3二级 C+分类模拟 252答案解析(总分:63.50,做题时间:90 分钟)一、选择题(总题数:35,分数:63.50)1.数据库设计中反映用户对数据要求的模式是_。(分数:1.00)A.内模式B.概念模式C.外模式 D.设计模式解析:解析 数据库系统的三级模式是概念模式、外模式和内模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。外模式也称子模式或用户模式,
21、它是用户的数据视图,给出了每个用户的局部数据描述,所以选择 C。内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法。2.下列程序的输出结果是 #includeiostreamh void main( ) double d=3.2; int x,y; x=12; y=(x+38)/50; cout y * d end1;(分数:1.00)A.3B.3,2C.0 D.307解析:解析 数据类型的默认转换。 【解题要点】本题中,先将 x转换为浮点型再与 38 相加,得到结果与 50 相除。最后将得到的结果去掉小数位化成整型数据赋给 y。另外,值得注意的是,整型、实型、字符型数据间可以混合运
22、算。在进行运算时,不同类型的数据先转换成同一类型,然后再进行运算。 【错解分析】如果认为执行 y=(x+38)/50 后 y的值为 1是错误的,此时 y的值为 0。 【考点链接】x 为 int型,将 12 赋值给 x时,x 的值为 1。 3.有如下类声明: class Pam int k; public: Pam(int n); void show()constcoutk; ; 若要在类体外给出构造函数 Pam的定义,下列定义中正确的是_。(分数:2.50)A.Pam(int n):kin)B.Pam:Pam(int n):k(n) C.void Pam(int n):k(n)D.void P
23、am:Pam(int n):k(n)解析:4.有以下程序: #include iostream using namespace std; class B private: int a,b; public: B() B(int i,int j); void printb(); ; class A B C; public: A() A(int i,int j); void printa(); ; A:A(int i,int j) :c(i,j) void A:printa() c.printb (); B:B(int i, int j) a=i; b=j; void B: :printb() co
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 分类 模拟 252 答案 解析 DOC
