c+练习题带答案

上传人:s9****2 文档编号:486799889 上传时间:2022-12-26 格式:DOCX 页数:5 大小:13.83KB
返回 下载 相关 举报
c+练习题带答案_第1页
第1页 / 共5页
c+练习题带答案_第2页
第2页 / 共5页
c+练习题带答案_第3页
第3页 / 共5页
c+练习题带答案_第4页
第4页 / 共5页
c+练习题带答案_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《c+练习题带答案》由会员分享,可在线阅读,更多相关《c+练习题带答案(5页珍藏版)》请在金锄头文库上搜索。

1、1 .C+IF 百属于(C )。汇编语百A)自然语言 B )机器语言C )面向对象语言 D )2 .下面选项中不属于面向对象程序设计特征的是(C)。A继承性 B )多态性 C )相似性D)封装性3 .下列情况中,哪一种情况不会调用拷贝构造函数(B )A)用派生类的对象去初始化基类对象时B)将类的一个对象赋值给该类的另一个对象时C)函数的形参是类的对象,调用函数进行形参和实参结合时D)函数的返回值是类的对象,函数执行返回调用者时4 .以下哪一关键字可用于重载函数的区分( C )A externB) staticC) constD) virtual5 .下列有关数组的叙述中,正确的是( B )A)

2、 C+中数组的存储方式为列优先存储B)数组名可以作为实参赋值给指针类型的形参C)数组下标索引从1开始,至数组长度 n结束D)数组指针的语法形式为:类型名*数组名下标表达式;6 .下列有关继承和派生的叙述中,正确的是(C )A)派生类不能访问通过私有继承的基类的保护成员B)多继承的虚基类不能够实例化C)如果基类没有默认构造函数,派生类就应当声明带形参的构造函数D)基类的析构函数和虚函数都不能够被继承,需要在派生类中重新实现7 .若有下面的函数调用:fun(a+b, 3, max(n-1, b);其中实参的个数是(A )A3B4C5D68 .下列关于this指针的说法正确的是( B )A) thi

3、s指针存在于每个函数之中B)在类的非静态函数中this指针指向调用该函数的对象C) this指针是指向虚函数表的指针D) this指针是指向类的函数成员的指针9 .在下列关于C+函数的叙述中,正确的是( C )A)每个函数至少要有一个参数B)每个函数都必须返回一个值C)函数在被调用之前必须先声明D)函数不能自己调用自己10 .下列运算符中,不能重载的是 (C )A) &B) !=C) .D)-11 .下面程序的输出结果是( B )#include using namespace std;int i = 0;int fun(int n)static int a = 2;a+;return a+n

4、;void main()12.13.14.int k = 5;(int i = 2;k += fun(i);)k += fun(i);cout k;)A) 13B) 14C) 15 D下面程序的输出结果是(C )#include using namespace std;class Base(public:virtual void f() cout f0+void g() cout g0+ ; );class Derived : public Basepublic:void f() cout f+ ; void g() cout f();A f+g+B) f0+g+C) f+g0+ D以下程序的

5、输出结果是:(D ) #include using namespace std;int fun(char *s) char *p=s;while (*p!=0) p+;return (p-s);void main()coutfun(abc)endl;A. 0 B. 1 C. 2 D. 3有如下程序段:int i=1;while(1)i+;if (i=10) break;if(i%2=0) coutg(); f0+g0+执行这个程序段输出字符*的个数是(C)A. 10 B. 3 C. 415 .下列关于虚基类的描述中,错误的是(C)A. 使用虚基类可以消除由多继承产生的二义性B. 构造派生类对象

6、时,虚基类的构造函数只被调用一次C. 声明class B:virtual public A 说明类B为虚基类D. 建立派生类对象时,首先调用虚基类的构造函数16 .有下类定义Class A Char *a; Public:A():a(0)A(char *aa) new charstrlen(aa)+1 B. charstrlen(aa)+1C. charstrlen(aa) D. new charsizeof(aa)-117 .有如下程序:#includeusing namespace std;class Test public: Test()Test()cout#;int main()Tes

7、t temp2, *pTemp2;return 0;执行这个程序输出星号(#)的个数为(B )。A) 1 B ) 2 C ) 3 D ) 418 .友元运算符obj+被C+编译器解释为(D )。A. operator+(obj) B. operator+(obj,0)B. +( ) D. +(0)19 .下面程序的运行结果为(C )#include class A int num;public:A(int i)num=i;A(A &a)num=+;void print()coutNUM;void main() A a(1),b(a);();();B.1220 .如果类A被说明成类B的友元,则(

8、D )A.类A的成员即类B的成员B.类B的成员即类A的成员C.类A的成员函数不得访问类B的成员D.类B不一定是类A的友元21 .下面程序的运行结果是(C ) #includevoid main() (int num=1;int &ref=num;ref=ref+2;coutNUM;num=num+3;coutREFENDL; B.1622 .下列程序的运行结果为(C ) #includeint i=0;class A public: A()i+;void main() A a,b3,*c;c=b; coutIENDL; B.323 .下列字符串中可以用C+语言标识符的是(A )bar二填空题1

9、. 在面向对象方法中,类之间共享属性和操作的机制称为继承2. C+中封装性、继承性和多态性是面向对象思想的主要特征。3. 下列for语句的循环次数为 5 。for(int a=0,b=1;b&a5;a+);4. C+程序是从 main函数开始执行的。5. 派生类构造函数的执行顺序是先执行基类的构造函数,然后执行成员对象的构造函数,最后执行派生类的构造函数。6. C+语言的基本控制结构为顺序结构、选择结构和循环结构7. 函数重载要求重载的函数必须有和原函数一样的函数名8. 设置虚基类的目的是解决二义性问题,通过 用关键字virtual 表示虚基类。9. 语句 cout n 还可表示为 coutE

10、NDL;10. 若已知a=10,b=20,则表达式!a1)#include using namespace std; int f(int);int main()int n,s;coutn;s=Kn);coutThe result is sendl;return 0; )int f(int n)请将下列程序补充完整,使得输出结果为 Destructor Derived DestructorBase”。#include using namespace std;class Base public:virtual Base () cout Destructor Base ” endl; ); 一class Derived : public Base public:Derived() cout Destructor Derived ” endl; ;void main () Base *pBase = new Derived;delete pBase;一

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 演讲稿/致辞

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号