c++测试题

本文包含多个C++编程题目,涉及字符串数组处理、数学运算、顺序查找算法实现及链表逆置等。题目中指出了一些语法错误并提供了改正方案,如数组大小未指定、指针操作不当、循环条件错误等。
摘要由CSDN通过智能技术生成

一、 填空题(25小题,共50分)
(以下每小题1分,共10分)

 1. 在C++中,函数的参数有两种传递方式,它们是值传递和________。
 2. 当一个成员函数被调用时,该成员函数的_______指向调用它的对象。
 3. 在基类和派生类中,派生类可以定义其基类中不具备的数据和操作。对两个有相同名字的数据成员进行访问时,如果没有____________,对此数据成员的访问将出现歧义。
 4. 拷贝构造函数使用________作为参数初始化创建中的对象。
 5. 在公有继承的情况下,基类数据成员在派生类中的访问权限__________。
 6. 描述命题"A小于B或小于C"的表达式为_________。
 7. 用new申请某一个类的动态对象数组时,在该类中必须能够匹配到______________________构造函数,否则应用程序会产生一个编译错误。
 8. 静态数据成员在类外进行初始化,且静态数据成员的一个拷贝被类的所有对象________。
 9. 为了避免可能出现的歧义,C++对if…else语句配对规则规定为:else总是与________________配对。
 10. 设"int a=3,b=4,c=5;",表达式"(a+b)>c&&b==c"的值是____。

(以下每小题2分,共20分)
 11. 面向对象的程序设计有四大特征,它们是抽象、封装、______ 、 ________。
 12. 在Visual C++中,定义重载函数时,应至少使重载函数的参数个数或参数类型_______;在基类和派生类中,成员函数的覆盖是指__________________________________________________。
 13. 构造函数与析构函数除功能不同外,在定义形式上,它们的区别还包括构造函数名与类名相同,而析构函数名是在类名前加一个~、______________, ______________________________

 14. 动态联编要满足两个条件,它们是_________________________________,________________________ 。
 15. 在C++类中,有一种不能定义对象的类,这样的类只能被继承,称之为_________,定义该类至少具有一个_____________。
 16. 在C++类中,const关键字可以修饰对象和成员函数,const对象不能______________,const成员函数不能_____________。
 17. 举出C++中两种用户自定义的数据类型:_______, _______ 。
 18. C++中没有字符串类型,字符串是通过___________来表示的,每一个字符串都有一个结尾字符_____。
 19. C++中没有输入输出语句,输入输出是通过___________ 实现的, 写出一条打印整型变量n的输出语句:___________
 20. 举出C++中两种代码复用的方式:__________, __________。

(以下每小题4分,共20分)
 21. 下面程序的运行结果是。
 #include <stdio.h>
 void main()
 {
  char a='a',b='j';
  float x;
  x=(b-a)/('F'-'A');
  printf("%d/n",(int)(3.14*x));
 }

 22. 下面程序的运行结果是。
 #include "iostream.h"
 void main( )
 {
  int i=1;

  while (i<=15){
   i++;
   if (i%3!=2) continue;
   else cout <<"i="<<i<<endl;
  }
 }

 23. 下面程序的运行结果是________。
 #include "iostream.h"
 class test
 {
 private:
  int num;
  float fl;
 public:
  test( );
  int getint( ){return num;}
  float getfloat( ){return fl;}
  ~test( );
 };

 test::test( )
 {
  cout << "Initalizing default" << endl;
  num=0;fl=0.0;
 }

 test::~test( )
 {
  cout << "Desdtructor is active" << endl;
 }

 void main( )
 {
  test array[2];
  cout << array[1].getint( )<< " " << array[1].getfloat( ) <<endl;
 }

  24. 下面程序的运

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值