电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子教材>c++-经典习题(附答案)

c++-经典习题(附答案)

2017-11-23 | doc | 127KB | 次下载 | 1积分

资料介绍

c++-经典习题(附答案)

  1. 关于C++语言,下列说法不正确的是

  A. C++具有简洁、高效和接近汇编语言的特点

  B. C++本身几乎没有支持代码重用的语言结构

  C. C++语言不是一种纯面向对象的语言

  D. C++支持面向对象的程序设计,这是它对C的重要改进

  B

  2. 使用关键字________说明的函数为内联函数。

  inline

  3. C++支持两钟多态性,即________和________。

  编译时的多态性 运行时的多态性

  4. 在下面横线处填上适当字句,使程序输出结果为5,10

  # include 《iostream.h》

  void main(){________int n=5;

  int& ________=n;

  ref=ref+5;

  cout《《n《《”,”《《ref;}

  const ref

  5. const int *p;表明

  A. p本身是常量

  B. p指向一个固定的int类型的地址,而p的内容可以修改

  C. p只能指向一个整型常量

  D. p只能指向一个被const修饰的int类型的常量

  C

  6. 数据封装给数据提供了与外界联系的________,只有通过这些________,使用规范的方式,才能访问数据。

  标准接口 接口

  7. 在下面横线处填上适当字句,使程序完整。

  int arr[]={1,2,3,4,5};

  ________index(int i){return a[i];}

  void main(){

  index(3)= ________;//将a[3]改为6

  }

  int & 6

  8. #include 《iostream.h》

  void main(){int *p,i,j;

  cin》》j;//输入4

  p=new int[j];

  if(!p){cout《《”Allocation error\n”;}

  for(i=0;i《j;i++)p[i]=i;

  for(i=0;i《j;i++)cout《《p[i]《《“ “;

  cout《《endl;

  delete []p;

  }

  输出为:4(这是输入的数据)

  0 1 2 3

  9.#include 《iostream.h》

  void comp(const int&,int&);

  int main(){int n=6,t=10;

  cout《《”n=”《《n《《”,t=”《《t《《endl;

  comp(n,t);

  cout《《”n=”《《n《《”,t=”《《t《《endl;

  return 0;

  }

  void comp(const&in1,int &in2){in2=in1*10+in2;}

  输出为:n=6, t=10

  n=6,t=70

  10. 下列属于C++头文件约定使用的扩展名的是

  i. .cpp

  ii. .hpp

  iii. .c

  iv. .c++

  B

  11. C++提供了一种新的注释方式:从“//”开始,直到________,都被计算机当做注释。

  行尾

  12. 在C++中,多态性被直观地称为“________”。

  一个名字,多个函数

  13. #include 《iostream.h》

  void addsub(int&,int&);

  void main(){int a=10,b=15;

  addsub(a,b);

  cout《《”a=”《《a《《”,b=”《《b;

  }

  void addsub(int &m,int &n)

  {int temp=m;

  m=m*n;

  n=temp-n;}

  输出为:a=150,b=-5

  14. #include 《iostream.h》

  void main(){int a[2][2]={{2,4},{6,8}};

  int *pa[2];

  pa[0]=a[0];

  pa[1]=a[1];

  for(i=0;i《2;i++)

  for(j=0;j《2;j++,pa[i]++)

  cout《《“a[”《《i《《“][ ”《《j《《“]=”《《*pa[i]《《endl;

  }

  输出为:a[0][0]=2

  a[0][1]=4

  a[1][0]=6

  a[1][1]=8

  15. #include 《iostream.h》

  #include 《iomanip.h》

  main(){cout《《setfill(‘*’)《《setw(2)《《21《《endl《《setw(3)《《21《《endl《

  《setw(4)《《21《《endl;

  }

  输出为:21

  *21

  **21

  16. C++有几种联编

  i. 1种

  ii. 2种

  iii. 3种

  iv. 4种

  B

  17. 由于引用不是变量,所以不能说明引用的________,也不能说明数据类型为引用数组或是指向引用的指针。

  引用

  18. 函数原型标识一个函数的________,同时也标识该函数参数的________和________。

  返回类型 个数 类型

  19. #include 《iostream.h》

  void f(){static int i=15;

  i++;

  cout《《”i=”《《i《《endl;

  }

  void main()

  { for(int k=0;k《2;k++)

  f();

  }

  输出为:i=16

  i=17

  20. #include 《iostream.h》

  #include 《iomanip.h》

  main(){cout《《hex《《20《《endl;

  cout《《oct《《10《《endl;

  cout《《setfill(‘x’)《《setw(10);

  cout《《100《《”aa”《《endl;

  return 0;

  }

  输出为:14

  12

  xxxxxxx144aa

  21. #include 《iostream.h》

  int fun(int n1,int n2){return n1*n2;}

  float fun(int f1,float f2){return f1*f2;}

  void main(){int a=10;

  int b=2.5;

  float c=2.55;

  float d=5.52;

  cout《《fun(a,b)《《endl;

  cout《《fun(c,d)《《endl;

  }

  输出为:20

  11.04

  22. 与标准错误输出设备相关联(缓冲方式)的,由C++流库预定义的流是________。

  clog

  23. C++的流类库预定义的,与标准输出设备相关联的流是

  i. cin

  ii. cout

  iii. cerr

  iv. clog

  B

  第三章习题及答案

  9. 缺省的析构函数的函数体是

  A. 不存在的

  B. 随机产生的

  C. 空的

  D. 无法确定的

  C

  10. 以下说法中正确的是

  A. 一个类只能定义一个构造函数,但可以定义多个析构函数

  B. 一个类只能定义一个析构函数,但可以定义多个构造函数

  C. 构造函数与析构函数同名,只是名字前加了一个波浪号(~)

  D. 构造函数可以指定返回类型;而析构函数不能指定任何返回类型,即使是void类型也不可以

  B

  11. 不能在C++中提供封装的关键字是

  A. class

  B. struct

  C. type

  D. union

  C

  12. 由于数据隐藏的需要,静态数据成员通常被说明为

  A. 私有的

  B. 保护的

  C. 公有的

  D. 不可访问的

  A

  13. 在类中说明的任何成员都不能用________、________和________关键字进行修饰。

  extern auto regist

  14. 构造函数是和________同名的函数,但要在后者的名字之前冠有一个________,以区别于前者。

  析构函数 波浪号 ~

  15. 用关键字static修饰的成员称为________。

  静态成员

  16. 已知AA是一个类,则AA *a[2];声明了一个________数组。

  类对象指针

  17. 拷贝初始化构造函数用对它所在类的________作为参数

  引用

  18. 指出下面程序段中的错误,并说明出错原因。

  //str1.h

  #include 《iostream.h》

  #include 《string.h》

  class str{private:char *string;

  public:str(char* s){string=new char[strlen(s)+1];strcpy(string,s);}

  ~str(){cout《《”Delete…”《《endl;delete string;}

  void print(){cout《《string《《endl;}};

  #include “str1.h”

  void main(){str s1=”student”;str s2=s1;

  s1.print();s2.print();}

  指针悬挂问题

  24. 指出下面程序段中的错误,并说明出错原因。

  class Location{

  public:void init(int initX,int initY);

  private:int X=1;

  public:int getX();

  private:int y;

  };

  不能采用这种方式初始化

  25. 指出下面程序段中的错误,并说明出错原因。

  class Test{

  private: int num;

  protected: int p;

  };

  void fun()

  {Test m;

  int x=m.p;}

  类之外定义的函数不能访问类的保护成员

  26. 指出下面程序段中的错误,并改正。

  class test{int x;};

  test *ptr=new test[2];

  delete ptr;

  应为:delete []ptr;

  27. 在下面横线处填上适当字句,完成类的定义。

  class T{public: void init(int initx)

  {x=initx;}

  int getx(){________;}//取x值

  private: ________;};

  return x int x

  28. 在下面横线处填上适当字句,完成类中成员函数的定义。

  class ABC{int n;float f;

  public: ABC(int,float);

  ABC(ABC&);

  };

  ABC::ABC(________){n=num;f=f1;}

  ABC::ABC(ABC&t){n=________;f=t.f;}

  int num,float f1 t.n

  29. #include 《iostream.h》

  class A{public: static int x;

  int y;};

  int A::x=15;

  void main(){A a;

  cout《《A::x《《endl;

  cout《《a.x《《endl;

  }

  输出为:15

  15

  30. class test{private: int num;

  public: test();

  int get(){return num;}

  ~test();

  };

  test::test(){num=0;}

  test::~test(){cout《《”Destructor is active”《《endl;}

  void main(){test t[2];

  cout《《”Exiting main”《《endl;

  }

  输出为:Exiting main

  Destructor is active

  Destructor is active

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1电子电路原理第七版PDF电子教材免费下载
  2. 0.00 MB  |  1490次下载  |  免费
  3. 2单片机典型实例介绍
  4. 18.19 MB  |  92次下载  |  1 积分
  5. 3S7-200PLC编程实例详细资料
  6. 1.17 MB  |  27次下载  |  1 积分
  7. 4笔记本电脑主板的元件识别和讲解说明
  8. 4.28 MB  |  18次下载  |  4 积分
  9. 5开关电源原理及各功能电路详解
  10. 0.38 MB  |  10次下载  |  免费
  11. 6基于AT89C2051/4051单片机编程器的实验
  12. 0.11 MB  |  4次下载  |  免费
  13. 7蓝牙设备在嵌入式领域的广泛应用
  14. 0.63 MB  |  3次下载  |  免费
  15. 89天练会电子电路识图
  16. 5.91 MB  |  3次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234313次下载  |  免费
  3. 2PADS 9.0 2009最新版 -下载
  4. 0.00 MB  |  66304次下载  |  免费
  5. 3protel99下载protel99软件下载(中文版)
  6. 0.00 MB  |  51209次下载  |  免费
  7. 4LabView 8.0 专业版下载 (3CD完整版)
  8. 0.00 MB  |  51043次下载  |  免费
  9. 5555集成电路应用800例(新编版)
  10. 0.00 MB  |  33562次下载  |  免费
  11. 6接口电路图大全
  12. 未知  |  30320次下载  |  免费
  13. 7Multisim 10下载Multisim 10 中文版
  14. 0.00 MB  |  28588次下载  |  免费
  15. 8开关电源设计实例指南
  16. 未知  |  21539次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935053次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537791次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420026次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234313次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233045次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191183次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183277次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138039次下载  |  免费