欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    c++练习提高题(带答案解析).doc

    • 资源ID:2742254       资源大小:54.50KB        全文页数:8页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    c++练习提高题(带答案解析).doc

    /一、选择题1. C+语言属于( 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)C+中数组的存储方式为列优先存储B)数组名可以作为实参赋值给指针类型的形参C)数组下标索引从1开始,至数组长度n结束D)数组指针的语法形式为:类型名 *数组名下标表达式;6. 下列有关继承和派生的叙述中,正确的是( C )A)派生类不能访问通过私有继承的基类的保护成员B)多继承的虚基类不能够实例化C)如果基类没有默认构造函数,派生类就应当声明带形参的构造函数D)基类的析构函数和虚函数都不能够被继承,需要在派生类中重新实现7. 若有下面的函数调用:fun(a+b, 3, max(n-1, b);其中实参的个数是( A )A)3B)4C)5D)68. 下列关于this指针的说法正确的是( B )A)this指针存在于每个函数之中B)在类的非静态函数中this指针指向调用该函数的对象C)this指针是指向虚函数表的指针D)this指针是指向类的函数成员的指针9. 在下列关于C+函数的叙述中,正确的是( C )A)每个函数至少要有一个参数B)每个函数都必须返回一个值C)函数在被调用之前必须先声明D)函数不能自己调用自己10. 下列运算符中,不能重载的是 ( C )A)&&B)!=C).D)->11. 下面程序的输出结果是( B )#include <iostream>using namespace std;int i = 0;int fun(int n) static int a = 2;a+;return a+n;void main()int k = 5;int i = 2;k += fun(i);k += fun(i);cout << k;A)13B)14C)15D)1612. 下面程序的输出结果是( C )#include <iostream>using namespace std;class Base public: virtual void f() cout << “f0+”; void g() cout << “g0+”; ;class Derived : public Base public: void f() cout << “f+”; void g() cout << “g+”; ;void main() Derived d; Base *p = &d; p->f(); p->g(); A)f+g+B)f0+g+C)f+g0+D)f0+g0+13. 以下程序的输出结果是:(D )#include <iostream>using namespace std;int fun(char *s) char *p=s;while (*p!=0) p+;return (p-s);void main()cout<<fun("abc")<<endl;A0 B. 1 C. 2 D. 314. 有如下程序段:int i=1;while(1)i+;if (i=10) break;if(i%2=0) cout<<*;执行这个程序段输出字符*的个数是(C)A. 10 B. 3 C. 4 D.515. 下列关于虚基类的描述中,错误的是(C)A.使用虚基类可以消除由多继承产生的二义性B.构造派生类对象时,虚基类的构造函数只被调用一次C.声明 class B:virtual public A 说明类B为虚基类D.建立派生类对象时,首先调用虚基类的构造函数16. 有下类定义Class A Char *a;Public:A():a(0)A(char *aa) /把aa所指字符串拷贝到a所指向的存储空间A=_;Strcpy(a,aa);A() delete a;正确的选择是(A)A. new charstrlen(aa)+1 B. charstrlen(aa)+1C. charstrlen(aa) D. new charsizeof(aa)-117. 有如下程序:#include<iostream> using namespace std;class Testpublic:Test() Test()cout<<#;int main()Test temp2, *pTemp2; return 0;执行这个程序输出星号(#)的个数为(B )。A)1 B)2 C)3 D)418. 友元运算符obj+被C+编译器解释为( D )。 A. operator+(obj) B. operator+(obj,0)B. obj.operator+( ) D. obj.operator+(0)19. 下面程序的运行结果为( C )#includeclass Aint num;public:A(int i)num=i;A(A &a)num=a.num+;void print()cout<<NUM;< p> ;void main()A a(1),b(a);a.print();b.print();A.11 B.12 C.21 D.2220. 如果类A被说明成类B的友元,则( 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;cout<<NUM;< p> num=num+3;cout<<REF<<ENDL;< p> A.13 B.16 C.36 D.3322. 下列程序的运行结果为( C )#includeint i=0;class Apublic:A()i+;void main()A a,b3,*c;c=b;cout<<I<<ENDL;A.2 B.3 C.4 D.523. 下列字符串中可以用C+语言标识符的是( A )A._1234 B.foobarC.virtua D.34var二 填空题1. 在面向对象方法中,类之间共享属性和操作的机制称为 继承 2. C+中封装性、继承性和 多态性 是面向对象思想的主要特征。3. 下列for语句的循环次数为 5 。for(int a=0,b=1;b&&a<5;a+);4. C+程序是从 main 函数开始执行的。5. 派生类构造函数的执行顺序是先执行 基类 的构造函数,然后执行成员对象的构造函数,最后执行 派生类 的构造函数。6. C+语言的基本控制结构为顺序结构、选择结构和 循环结构 7. 函数重载要求重载的函数必须有和原函数一样的 函数名 8. 设置虚基类的目的是 解决二义性问题 ,通过 用关键字virtual 表示虚基类。9. 语句cout<<n还可表示为 cout<<ENDL; 10. 若已知a=10,b=20,则表达式!a<B的值为 1 11. 友元类的所有成员函数都是另一个类的 友元函数 三 程序填空1用递归法求从1到n的立方和:f(1)=1 (n=1)f(n)=f(n-1)+n3 (n>1)#include <iostream>using namespace std;int f(int);int main()int n,s; cout<<"input the number n:" cin>>n; s= f(n) ; cout<<"The result is "<<s<<endl; return 0; int f(int n) /递归法求立方和函数 if ( n=1 ) return 1; else return ( f(n-1)+n*n*n );3. 请将下列程序补充完整,使得输出结果为“Destructor Derived Destructor Base”。#include <iostream>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 ;

    注意事项

    本文(c++练习提高题(带答案解析).doc)为本站会员(一***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开