ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:24.47KB ,
资源ID:11641936      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11641936.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(二级C++分类模拟242.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

二级C++分类模拟242.docx

1、二级C+分类模拟242二级C+分类模拟242选择题1、下列有关类成员的叙述中,错误的是_。 A友元函数不是类的成员函数 B类成员的默认访问权限是私有的 C类成员函数必须声明为公有的 D类的静态数据成员可以是常成员2、在对函数进行原型声明时,下列语法成分中不需要的是_。 A函数返回类型 B函数参数列表 C函数名 D函数体3、有如下程序: #includeiostream using namespace std; void fun(int&x,int y)int t=x;x=y;y=t; int main() int a2=1,2; fun(a1,a0); std:couta0,a1std:end

2、l; return 0; 执行后的输出结果是_。 A2,2 B1,1 C1,2 D2,14、有如下程序: #includeiostream using namespace std; class A public: A() coutA; A() coutA; ; class B: public A A*P; public: B() coutB; P=new A(); B() coutB; delete P; ; int main() B obj; return 0; 执行这个程序的输出结果是_。 ABAAABA BABABAA CBAABAA DABAABA5、下列有关指针的用法中错误的是( )

3、。 Aint i;int *ptr=&i; Bint i;int *ptr;i=*ptr; Cint *ptr;ptr=0; Dinti=5;int *ptr;*ptr&i;6、不合法的main函数命令行参数表示形式是 A.main(inta,char*c) B.main(int arc,char * * arv) C.main(int argc,char * argv) D.main(int argv,char * argc)7、有以下程序: #includeiostream using namespace std; class R public: R(int r1,int r2) R1=r

4、1; R2=r2; void print(); void print()corist; private: int R1,R2; ; void R:print() void R:print()coiist int main() R a(5,4); const R b(20,52); b.print(); return 0; 执行后的输出结果是_。 A5,4 B20,52 C0,0 D4,58、Sample是一个类,执行下面语句后,调用Sample类的构造函数的次数是_。 Sample a2,*p=new Sample; A0 B1 C2 D39、有如下程序: #includeiostream u

5、sing namespace std; void fun(int i) cout/int i; void fun(char e)cout/char c; int main() fun(0); fun(0); retum 0; 运行后的输出结果是_。 A/int i/int i B/int i/char c C/char c/int i D/char c/char c10、在深度为7的满二叉树中,叶子结点的个数为 A. 32 B. 31 C. 64 D. 6311、下列情况中,不会调用拷贝构造函数的是_。 A用一个对象去初始化同一类的另一个新对象时 B将类的一个对象赋值给该类的另一个对象时 C函

6、数的形参是类的对象,调用函数进行形参和实参结合时 D函数的返回值是类的对象,函数执行返回调用时12、下列函数模板声明中,合法的是_。 Atemplatetypename TT abs(T x); Btemplate classTvoid abs(T x); Ctemplate Tclass Tabs(T x); Dtemplatetypename Tabs(T x);13、下列程序的运行结果为_。 # includeiostream.h templateclass TT class FF TT a1,a2,a3; public: FF(TT b1,TT b2,TT b3)a1=b1;a2=b2

7、;a3=b3; TT Sum()return a1+a2+a3;); void main() FFintx(int(1.1),2.3),y(int(4.2),5,6); coutx.Sum()y.Sum()encIl; A6.1 15.2 B6 15 C6 15.2 D6.1 1514、下列说法正确的是_。 A内联函数在运行时将该函数的目标代码插入每个调用该函数的地方 B内联函数在编译时将该函数的目标代码插入每个调用该函数的地方 C类的内联函数必须在类体内定义 D类的内联函数必须在类体外通过加关键字inline定义15、下列有关模板的叙述中,正确的是_。 A函数模板不能含有常规形参 B函数模板

8、的一个实例就是一个函数定义 C类模板的成员函数不能是模板函数 D用类模板定义对象时,绝对不能省略模板实参16、已知函数模板定义如下: templateclass T T min(T x, T y) return xy? x:y; 下列叙述中,错误的是_。 A该函数模板有一个模板参数 BT类型所允许的类型范围应提供有意义的运算符操作 C该函数模板生成的模板函数中,参数和返回值的类型可以不同 D该函数模板可以生成模板函数double min(double, double)17、若有定义语句“int i=2,j=3;”,则表达式i/j的结果是_。 A0 B0.7 C0.666 67 D0.666 6

9、66 6718、在C+中,cin是一个_。 A类 B对象 C模板 D函数19、已知Value是一个类,value是Value的一个对象。下列以非成员函数形式重载的运算符函数原型中,正确的是_。 AValue operator+(Value v, int i); BValue operator+(Value v=value, int i); CValue operator+(Value v, int i=0); DValue operator+(Value v=value, int i=0);20、有以下程序#include iostreamusing namespace std;int a;i

10、nt fun ();int main () extern int a; int b; a = 100; b = fun(); coutbend1; return 0;int fun) extern int a; return (10*a ; 其程序运行后的输出结果是 A. 100 B. 10 C. 1000 D. 1000021、有如下程序: #includeiostream using namespace std; class Boat; class Car public: Car(int i):weight(i) friend int Total(const Car&c,const Boa

11、t &b); / private: int weight; ; class Boat public: Boat(int i):weight(i) friend int Total(const Car &c,const Boat &b); private: int weight; ; int Total(const Car &c,const Boat &b) / return c.weight+b.weight; int main() Car c(10); Boat b(8); coutThe total weight isTotal(c,b)endl; / return 0; 下列关于程序的描

12、述中,正确的是_。 A程序编译正确 B程序编译时语句出错 C程序编译时语句出错 D程序编译时语句出错22、通过运算符重载,可以改变运算符原有的_。 A操作数类型 B操作数个数 C优先级 D结合性23、下列关于goto语句的描述中,正确的是( )。 A. goto语句可在一个文件中随意转向 B. goto语句后面要跟一个它所转向的语句 C. goto语句可以同时转向多条语句 D. goto语句可以从一个循环体内转到循环体外24、已知在一个类体中包含如下函数原型:VOLUMEOPER ATOR-(VOLUME.const;,下列关于这个函数的叙述中,错误的是_。 A这是运算符一的重载运算符函数 B

13、这个函数所重载的运算符是一个一元运算符 C这是一个成员函数 D这个函数不改变类的任何数据成员的值25、执行语句序列 ofstream outfile(data.dat); if() coutok;else coutfail;后,如果文件打开成功,显示“ok”,否则显示“fail”。由此可知,上面if语句的“”处的表达式是( )。 Aoutfile.fail()或outfile Boutfile.good()或!outfile Coutfile.good()或outfile Doutfile.fail()或!outfile26、类模板的使用实际上是将类模板实例化为一个具体的 _。 A. 类 B.

14、 对象 C. 函数 D. 模板类27、软件详细设计产生的图如下: 该图是_。 AN-S图 BPAD图 C程序流程图 DE-R图28、若有下列定义 int x10,*pt=x; 则对x数组元素的正确引用是_。 A*x10 B*(x+3) C*(pt+10) Dpt+329、有如下函数模板: templateclass TT square(T x)return x*x; 其中T是_。 A函数形参 B函数实参 C模板形参 D模板实参30、以下程序的结果是( )。 #includeiostream.h void main() char * p=abcdefgh,*r; long *q; q=(long

15、*)P; q+; r=(char*)q; coutrendl;Adefg Bcdef Cghab Defgh31、下列关于函数参数的叙述中,正确的是_。 A在函数原型中不必声明形参类型 B函数的实参和形参共享内存空间 C函数形参的生存期与整个程序的运行期相同 D函数的形参在函数被调用时获得初始值32、软件详细设计产生的图如下: 该图是_。 AN-S图 BPAD图 C程序流程图 DE-R图33、下列关于队列的叙述中正确的是_。 A在队列中只能插人数据 B在队列中只能删除数据 C队列是先进先出的线性表 D队列是先进后出的线性表34、数据库设计中,用ER图来描述信息结构但不涉及信息在计算机中的表示,

16、它属于数据库设计的_。 A需求分析阶段 B逻辑设计阶段 C概念设计阶段 D物理设计阶段35、必须用一对大括号括起来的程序段是_。 A switch语句中的case标号语句 Bif语句的分支 C循环语句的循环体 D函数的函数体36、有以下程序 #include iostream using namespace std; static int days= 31,28,31,30,31,30,31,31,30,31,30,31 ; class date private: int month, day, year; public: date( int m, int d, int y ) month =

17、 m; day = d; year = y; date() void disp() coutyear-month-dayend1; date operator+( int day ) date dt = *this; day+= dt.day; while ( day daysdt.month - 1 ) day -= days dt.month - 1 ; if ( +dt.month = 13 ) dt.month = 1; dt.year+; dt.day = day; return dt; ; int main() date d1( 6, 20, 2004 ), d2; d2: d1

18、+ 20; d2.disp(); return 0; 执行后的输出结果是 A. 2004-7-10 B. 2004-6-20 C. 2004-7-20 D. 程序编译时出错37、在深度为5的满二叉树中,叶子结点的个数为( )。 A31 B32 C16 D1538、下列运算符中,可以重载为类的友元函数的运算符是_。 A= B() C.D39、下列函数中对调用它的函数没有起到任何作用的是 A. void f1(double &x)-x; B. double f1(double x)return x-1.5; C. void f3(double x)-x; D. double f4(double *

19、x)-*x; return*x;40、有如下程序: #includeiostream #includeiomanip using namespace std; int main() coutsetfill(#)setw(4)OK123endl; return 0; 运行这个程序的输出结果是_。 A#OK123 B#OK#123 COK#123 DOK#123#答案:选择题1、C 2、D解析 函数原型中,函数名、函数返回值、函数参数列表是需要的,而函数体在函数声明时不需要。所以答案为D。3、B解析 程序中的fun函数的功能是实现函数中两个参数的交换。主函数中fun的调用中第一个参数为数组第二个值

20、即2,第二个参数为第一个值即1。在fun的定义中第一个形参引用类型,其改变会改变主函数中实参的值;而第二个形参不是引用类型,其改变不会改变第二个实参,所以2,1的交换结果为1,1,即B。4、B解析 本题考查派生类的构造函数和析构函数,在定义一个派生类的对象时,先调用基类的构造函数,然后再执行派生类的构造函数。对象释放时,先执行派生类的析构函数,再执行基类的析构函数。所以本题答案为B。5、B 6、C解析 在C+语言里,main函数也可以有参数,例如:main(int arvc,char*argv),argc:是指向字符串的指针数组,而选项C)是第二个形参是指向字符变量的指针,是错误的。7、B解析

21、 使用const关键字修饰的对象称为常对象,题中对象b被声明为类R的常对象。使用const关键字说明的成员函数称为常成员函数,类R中用const重载了函数print()。在使用常对象和常成员函数时应注意的是:const是函数类型的一个组成部分,因此在常成员函数部分也要带const关键字;常成员函数不能更新对象的数据成员,也不能调用该类中没有用const修饰的成员函数;如果将一个对象说明为常对象,则通过该常对象只能调用它的常成员函数,不能调用其他的成员函数;const关键字可以参与区分重载函数。8、D解析 生成对象,以及动态生成对象空间,都要自动调用构造函数。9、B解析 本题考查的是重载函数的匹

22、配。在main函数中,fun(0)中的参数是整数0,所以最佳匹配函数是fun(int i),即调用函数fun(int i),输出“/inti”;同样,fun(0)中的参数是字符0,最佳匹配函数是fun(char c),所以调用函数fun(char c),输出”/charc”,选项B正确;答案为B选项。10、C解析 满二叉树的深度和结点的关系公式为k=log2n+1,则有n=2k-1(n为树结点数,k为树的深度)。 11、B解析 此题考查的是复制构造函数的概念。用一个已知的对象初始化一个正在创建的同类对象时,就会发生复制构造函数。因此,选项A、C、D均会调用复制构造函数,而只有选项B没有创建的动

23、作,不调用复制构造函数。12、A解析 声明一个函数模板的格式是:template模板形参表声明函数声明,其中模板形参有三种形式:typename参数名;class参数名;类型修饰 参数名。函数模板的模板形参表是用尖括号括住的一个或多个模板形参的列表,类型形参必须要有关键字class或typename修饰,选项B错误;函数的返回类型需要放在函数名之前,关键字template和模板形参表之后,选项C错误;函数必须要声明返回类型,选项D错误。答案为A选项。13、B解析 本题考查模板函数的应用,表达式int(1.1)和int(4.2)是将1.1和4.2强制转换为整型。14、B解析 本题考查的是内联函数的定义,引入内联函数是为了解决程序中函数调用的效率问题,是以目标代码的增加为代价换取时间的节省;一般函数在运行时被调用,而调用的内联函数在编译时就被替代了,如果不加inline关键字,则编译器会将在类说明部分定义的任何函数都被认定为内联函数。15、B解析 本题考查函数模板和类模板的基础知识,所以本题答案为B。16、C解析 该函数模板有一个模板参数T,选项A正确;由于在函数体中需要比较函数两个参数x、y的大小,所以T类型必须能够提供有意义的运算符操作,选项

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1