最近因为找工作,收集了很多 C 语言方面方面的面试题以及答案。现在新工作搞定了,决
定把这些资料发出来,送给有需要的朋友,免得再象我一样到处搜寻,实在辛苦。
发布之前先申明两点:
1 所有资料来自网络(主要是 CSDN),本人只是收集和转发。
2 所有问题解答(尤其是代码)只是参考,不保证正确。
先发基本问题,再发编程问题..........
4. static 有什么用途?(请至少说明两种)
1.限制变量的作用域
2.设置变量的存储域
7. 引用与指针有什么区别?
1) 引用必须被初始化,指针不必。
2) 引用初始化以后不能被改变,指针可以改变所指的对象。
2) 不存在指向空值的引用,但是存在指向空值的指针。
8. 描述实时系统的基本特性
在特定时间内完成特定的任务,实时性与可靠性
9. 全局变量和局部变量在内存中是否有区别?如果有,是什么区别?
全局变量储存在静态数据库,局部变量在堆栈
10. 什么是平衡二叉树?
左右子树都是平衡二叉树 且左右子树的深度差值的绝对值不大于 1
11. 堆栈溢出一般是由什么原因导致的?
没有回收垃圾资源
12. 什么函数不能声明为虚函数?
constructor
13. 冒泡排序算法的时间复杂度是什么?
O(n^2)
14. 写出 float x 与“零值”比较的 if 语句。
if(x>0.000001&&x<-0.000001)
16. Internet 采用哪种网络协议?该协议的主要层次结构?
tcp/ip 应用层/传输层/网络层/数据链路层/物理层
17. Internet 物理地址和 IP 地址转换采用什么协议?
ARP (Address Resolution Protocol)(地址解析協議)
18.IP 地址的编码分为哪俩部分?
IP 地址由两部分组成,网络号和主机号。不过是要和“子网掩码”按位与上之后才能区分
哪些是网络位哪些是主机位。
2.用户输入 M,N 值,从 1 至 N 开始顺序循环数数,每数到 M 输出该数值,直至全部输出。
写出 C 程序。