c++面试题

时间:2021-01-15 12:54:32 面试问题 我要投稿

c++面试题

  请填写BOOL , float, 指针变量 与“零值”比较的 if 语句。

c++面试题

  头文件中的 ifndef/define/endif 干什么用?

  #include 和 #include “filename.h” 有什么区别?

  const 有什么用途?(请至少说明两种)

  在C++ 程序中调用被 C编译器编译后的函数,为什么要加 extern “C”声明?

  const 与 #define有什么不同

  答案: 1. const 常量有数据类型,而宏没有数据类型。编译器可以对const 常量进行类型检查,而对宏只进行字符替换没有类型检查。

  2. 有些编译器可以对const常量进行调试,但不能对宏常量进行调试

  3. const 可以用来修饰函数参数、函数返回值,C++还可以用来修饰函数,定义内中某个成员函数为常量函数

  写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个。

  预处理器标识#error的目的是什么?

  嵌入式系统中经常要用到无限循环,你怎么样用C编写死循环呢?

  关键字static的作用是什么?

  这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用:

  1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。

  2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。

  3). 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。

  大多数应试者能正确回答第一部分,一部分能正确回答第二部分,同是很少的人能懂得第三部分。这是一个应试者的严重的缺点,因为他显然不懂得本地化数据和代码范围的好处和重要性。

  关键字volatile有什么含意 并给出三个不同的例子。

  一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的'几个例子:

  1). 并行设备的硬件寄存器(如:状态寄存器)

  2). 一个中断服务子程序中会访问到的非自动变量(Non-automatic variables)

  3). 多线程应用中被几个任务共享的变量

  回答不出这个问题的人是不会被雇佣的。我认为这是区分C程序员和嵌入式系统程序员的最基本的问题。嵌入式系统程序员经常同硬件、中断、RTOS等等打交道,所用这些都要求volatile变量。不懂得volatile内容将会带来灾难。

  请问C++的类和C里面的struct有什么区别?

  请讲一讲析构函数和虚函数的用法和作用?

  全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的?

【c++面试题】相关文章:

C/C++面试题目12-12

精选C++面试题及答案10-03

C,C++的几个面试题小集12-27

一个C/C++编程面试题12-20

2016年c++经典面试题及答案10-03

嵌入式C/C++面试题201611-12

华为C++笔试题12-25

联想C++笔试题12-24

C++笔试实例分析12-19

Sony C++笔试题12-19