c++笔试题含(答案)

更新时间:2023-05-14 19:51:43 阅读: 评论:0

c++笔试题含(答案)

C语言程序设计   
一、选择题 
(1)C++语言是从早期的C语言逐渐发展演变而来的.与C语言相比,它在求解问题方法上进行的最大改进是() 
A)面向过程  B)面向对象  C)安全性  D)复用性 
(2)C++语言的跳转语句中,对于break和continue说法正确的是() 
A)break语句只应用与循环体中   
B)continue语句只应用与循环体中    
一系C)break是无条件跳转语句,continue不是   
D)break和continue的跳转范围不够明确,容易产生问题 
(3)for(int x=0,y=o;!x& &y<=5;y++)语句执行循环的次数是() 
A)0  B)5  C)6  D)无次数 
(4)考虑函数原型void test(int a,int b=7,char="*"),下面的函数调用中,属于不合法调用的是() 
A)test(5); B)test(5,8); 猝不及防是什么意思C)test(6,"#") D)test(0,0."*"); 
(5)下面有关重载函数的说法中正确的是() 
A)重载函数必须具有不同的返回值类型;
B)重载函数形参个数必须不同;   
C)重载函数必须有不同的形参列表 
D)重载函数名可以不同; 
(6)下列关于构造函数的描述中,错误的是() 
A)构造函数可以设置默认参数; 
B)构造函数在定义类对象时自动执行   
C)构造函数可以是内联函数;
D)构造函数不可以重载 
(7)下面描述中,表达错误的是()  食育教育
A)公有继承时基类中的public成员在派生类中仍是public的   
B)公有继承是基类中的private成员在派生类中仍是private的   
C)公有继承时基类中的protected成员在派生类中仍是protected的   
D)私有继承时基类中的public成员在派生类中是private的 
(8)应在下列程序划线处填入的正确语句是() 
#include 
class Ba 
{  public: 
  void fun(){cout<<"Ba::fun"<<ENDL;} 
}; 
class Derived:public Ba 
{  void fun() 
八年级下册历史  {_____________ //显示调用基类的函数fun() 
    cout<<"Derived::fun"<<ENDL; 
  } 
}; 
A)fun(); B)Ba.fun(); C)Ba::fun(); D) Ba->fun(); 
(9)有如下程序: 
金字旁的字有哪些字#include 
class BASE{ 
  char c; 
public: 
  BASE(char n):c(n){} 
  virtual~BASE(){cout<<C;} 
}; 
class DERIVED:public BASE{ 
  char c; 
public: 
  DERIVED(char n):BASE(n+1),c(n){} 
  ~DERIVED(){cout<<C;} 
}; 
int main() 
{  DERIVED("X"); 
  return 0;  塔里木湖
执行上面的程序将输出() 
A)XY B)YX C)X D)Y 
二、填空题 
(1)下面程序的打印结果是 [ 1] 
#incude 
int f(int); 
int main() 
{  int i; 
  for(i=0;i<5;i++) 
  cout<<F(I)<<""; 
  return0; 
int f(int i) 
{  static int k=1; 
  for(;i>0;i- -) 
 k + = i; 
  return k; 
招工怎么写1 2 5 11 21
(2)在用class定义一个类时,数据成员和成员函数的默认访问权限是 [2]  private 或 私有 
(3)含有纯虚函数的类称为 [3]  抽象类 
(4)已知intDBL(int n){return n + n;}和longDBL(long n){return n   
+n;}是一个函数模板的两个实例,则该函数模板的定义是 [4]  templateT DBL(T n){return n+n;} 
选择题
对于全局函数 int f(void) ,与其完全等价的函数原型为:
A. int& f( ); B. int f(void ) const; C. const int f( ); D. A、B、C都不是
2. 类A中有唯一的非静态成员函数int f(A& one)和私有的数据成员int x;,那么在此成员函数的函数体中可以有语句:
A. return one.f(this); B. x=f(this); C. this->); D. int* const pX=&one.x;
3. 下面关于new 和delete操作符的说法,哪个是不正确的:
A. 使用new操作符,可以动态分配全局堆中的内存资源。
B. 若p的类型已由A*强制转换为void *,那么执行语句delete p;时,类A的析构函数不会被调用。
C. 实现全局函数时,new和delete通常成对地出现在由一对匹配的花括号限定的语句块中。
D. 执行语句A * p=new A[100];时,类A的构造函数只会被调用1次。
4. 类TM和类TN是两个独立的类,那么类TM中哪种形式的数据成员一定是不允许的:
A. TM* a; B. TN& a; C. TM a; D. TN a;
5. 类B是通过public继承方式从类A派生而来的,且类A和类B都有完整的实现代码,那么下列说法
正确的是:
A. 类B中具有pubic可访问性的成员函数个数一定不少于类A中public成员函数的个数。
B. 一个类B的实例对象占用的内存空间一定不少于一个类A的实例对象占用的内存空间。
C. 只要类B中的构造函数都是public的,在main函数中就可以创建类B的实例对象。
D. 类A和类B中的同名虚函数的返回值类型必须完全一致。
6. 下列哪种函数可以是虚的:
A. 自定义的构造函数 B. 拷贝构造函数 C. 静态成员函数 D. 析构函数
7. 类A有一个实例化的常量对象a,那么下面的说法中不正确的是:
A. 类A中的非静态数据成员一定都是常量成员。
B. 通过a可以直接调用类A的常量成员函数。
C. a不能直接作为左值表达式使用。
D. a可以是静态常量对象。
8. 在不考虑强制类型转换的情况下,关于类中常量成员函数的下列说法不正确的是:
A. 常量成员函数中不能修改本类中的非静态数据成员。
B. 常量成员函数中可以调用本类中的任何静态成员函数。
C. 常量成员函数的返回值只能是void或常量。
D. 若常量成员函数中调用虚函数f,那么函数f在本类中也一定是一个常量成员函数。
9. 类C是以多重继承的方式从类A和类B继承而来的,类A和类B无公共的基类,那么:
A. 类C的继承方式只能采用public继承。 B. 可改用单继承的方式实现类C的同样功能。
C. 类A和类B至少有一个是抽象类。 D. 类A和类B至少有一个是虚基类。
祈福的拼音
10. 下列哪种用法不能体现类A和类B之间的组合关系:
A. 类A中声明数据成员B b;
B. 类A中声明数据成员B* b;
C. 类A中声明数据成员const B& b;
D. 类A中声明成员函数 B func( B& obj);
二、(共10分,每题2分,多选、少选、错选都不得分)多项选择
1. 下面关于指针变量和引用变量的说法正确的是:

本文发布于:2023-05-14 19:51:43,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/897918.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:函数   成员   语句   常量   下列
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图