首页 > 求职资料 > 笔试题 >

C笔试题目及答案

分享 (°C) 32959

分享

(°C)

C笔试题目及答案

  C++由于语言本身过度复杂,这甚至使人类难于理解其语义。更为糟糕的是C++的编译系统受到C++的复杂性的影响,非常难于编写,即使能够使用的编译器也存在了大量的问题,这些问题大多难于被发现。下面就由第一范文网小编为大家介绍一下C++笔试题目及答案的文章,欢迎阅读。

  C++笔试题目及答案篇1

  1. What’s overload function in C++?

  “重载”是指编写一个与已有函数同名但参数表不同的函数。构成重载的条件是:在相同的范围内(比如说在同一个类中),函数名字相同,但函数参数不同(要么参数类型不同,要么参数个数不同,要么两者都不同)

  2. A. What’s inline function in C++?

  内联函数是指嵌入代码,就是在调用函数的地方不是跳转,而是直接把代码写到那里去。它与普通函数相比能提高效率,因为它不需要中断调用,在编译的时候内联函数可以直接把代码镶嵌到目标代码中去,省去了函数调用的开销,但是它是以代码膨胀为代码的(以增加空间消耗为代价)

  B. When would you use inline function?

  (1)一个函数不断的被重复调用

  (2)函数只有简单的几行,且函数内部包含:for,while,switch语句。

  C. Please write sample code.

  void Foo(int x,int y);

  inline void Foo(int x,int y){...}

  需要注意的是:关键字inline必须与函数定义体放在一起才能使函数构成内联,仅将inline放在函数声明前不起任何作用。

  3. Which of the following are legal? For those usages thatare illegal, explain why.

  const int buf;

  不合法。因为定义const变量(常量)时必须进行初始化,而buf没有初始化。

  int cnt = 0;

  const int sz = cnt;

  合法。

  cnt++; sz++;

  不合法。因为修改了const变量sz的值。

  4. Please point out the errors in the following C++ code. Andwhy?

  switch ( ival )

  {

  case 1, 3, 5, 7, 9:oddcnt++;

  break;

  case 2, 4, 6, 8, 10:evencnt++;

  break;

  }

  貌似case 不能把所有的情况并列列出来,没见过 case 1, 3, 5, 7,9:这种写法,改为 case1:oddcnt++; case 3:oddcnt++;

  C++笔试题目及答案篇2

  1. Given the following base and derived class definitions:

  class Base

  {

  public:

  foo ( int );

  protected:

  int _bar;

  double _foo_bar;

  };

  class Derived: public Base

  {

  public:

  foo ( string );

  bool bar ( Base *pb );

  void foobar ;

  protected:

  string _bar;

  };

  Identify what is wrong with each of thefollowing code fragments and how each might be fixed:

  (a) Derived d; d.foo ( 1024 );

  错误:定义个派生类的对象d,d.foo( 1024 );派生类中foo的参数是string,不能将int型转换为"string"

  (b) void Derived :: foobar { _bar=1024;}

  正确:定义派生类的成员函数foobar;把整形1024赋给string ,发生类型转换

  (c) bool Derived :: bar { Base *pb }

  { return _foo_bar = = pb->_foo_bar; }

  错误:没有参数列表,还有下面不应该为"==",还有在派生类中无法访问基类的保护成员。

  应该改为:boolDerived :: bar (Base *pb)

  { return _foo_bar = pb->_foo_bar; }

  2. A. Please list all the design patterns you known.

  常见的设计模式有23种,比如说:单例模式、工厂模式,观察者模式、组合模式、策略模式、适配器模式、命令模式等等

  B. Please explain the pattern of “Factory” and give anexample if you can.

  工厂模式使一个类的实例化延迟到子类,换句话说也就是将创建对象实例的责任,

  转移到工厂类中,并利用抽象的原理,将实例化行为延迟到具体工厂类。

  3. A. Please list all the sorting algorithms you known.

  排序算法:冒泡排序(最简单了,就是2个for循环)、快速排序、选择排序、插入排序、归并排序、希尔排序、堆排序等等

  B. Please use pseudo code to describe the algorithm of “QuickSort”.

  快速排序采用的是分治策略,分治法的基本思想是:将原问题分解为若干个规模更小但结构与原问题相似的子问题,递归解决这些子问题,然后将这些子问题的解组合为原问题的解。

相关推荐

中国经济实现高质量发展具备哪些显著优势论文1500字

AI文库

世界变乱交织,中国笃行担当 变革动荡 大国关系 中国智慧 上述内容分别为大标题和三个小标题,请以此写出不少于2000字的形式与政策论文,要求内容充实具体,不存在抄袭、、雷同情况

AI文库

假如你是形式与政策这个课程的一名学生,请以“世界变乱多织,中国笃行担当”为主题,写一篇论文,要求完全按照论文的格式,字数一定在2500字以上!

AI文库

请结合《走好新时代科技自立自强之路》专题和今年2月8日广东省高质量发展大会聚焦产业科技话创新、谋未来主题,谈谈你对党的二十大提出的“科技强国”战略的认识及行动

AI文库

国家安全为什么与你我息息相关论文不少于1500

AI文库

热门图文

上一篇:2021口腔医师笔试题目及参考答案

下一篇:2021年京东财务校招笔试题答案