c 面试基本题

时间:2020-11-08 09:03:45 面试问题 我要投稿

c 面试基本题

  1、队列和栈有什么区别?

c 面试基本题

  答:队列先进先出,栈后进先出

  2、不能做 switch()的参数类型

  答 :switch 的参数不能为实型。

  3、局部变量能否和全局变量重名?

  答:能,局部会屏蔽全局。要用全局变量,需要使用"::"

  局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内

  4、如何引用一个已经定义过的全局变量?

  答 、可以用引用头文件的方式,也可以用 extern 关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变量,假定你将那个变量写错了,那么在编译期间会报错,如果你用 extern 方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错。

  5、.h 头文件中的 ifndef/define/endif 的作用?

  答:防止该头文件被重复引用。

  6、#i nclude 与 #i nclude "file.h"的区别?

  答:前者是从 Standard Library 的路径寻找和引用 file.h,而后者是从当前工作路径搜寻并引用 file.h。

  7、描述实时系统的基本特性

  答 :在特定时间内完成特定的任务,实时性与可靠性。

  8、全局变量和局部变量在内存中是否有区别?如果有,是什么区别?

  答 :全局变量储存在静态数据区,局部变量在堆栈中。

  9、什么是平衡二叉树?

  答 :左右子树都是平衡二叉树 且左右子树的深度差值的绝对值不大于 1。

  10、关键字 static 的作用是什么?

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

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

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

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

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

  11、“引用”与指针的区别是什么?

  答 、1) 引用必须被初始化,指针不必。

  2) 引用初始化以后不能被改变,指针可以改变所指的对象。

  3) 不存在指向空值的引用,但是存在指向空值的指针。指针通过某个指针变量指向一个对象后,对它所指向的变量间接操作。程序中使用指针,程序的可读性差;而引用本身就是目标变量的别名,对引用的操作就是对目标变量的操作。

  流操作符<<和>>、赋值操作符=的返回值、拷贝构造函数的参数、赋值操作符=的参数、其它情况都推荐使用引用

  12、堆栈溢出一般是由什么原因导致的?

  答 :1.没有回收垃圾资源

  2.层次太深的递归调用

【c 面试基本题】相关文章:

2017年java程序员面试基本题目08-14

C/C++面试题目11-21

C,C++的几个面试题小集11-24

C C++面试笔试题目集锦11-15

关于基恩士面试问题01-01

一个C/C++编程面试题11-22

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

c文员3点面试技巧12-14

GRE基本题型及解题方法列举09-22

C++面试笔试题目11-21