C语言面试宝典-全面.doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
C语言面试宝典-全面 本文档整理了C语言面试中常见的问题和答案,涵盖了基本概念、关键字、函数、指针、引用、头文件、实时系统、数据结构、算法和变量作用域等方面。 一、基本概念 1. 关键字static的作用:在函数体内静态变量维持值不变、在模块内静态变量只能被模块内函数访问、静态函数只能被模块内函数调用。 2. 引用与指针的区别:引用必须初始化、不能改变、不存在指向空值的引用;指针可以不初始化、可以改变所指对象、存在指向空值的指针。 二、函数和头文件 1. .h头文件中的ifndef/define/endif的作用:防止头文件被重复引用。 2. #include<file.h>和#include "file.h"的区别:前者从Standard Library路径寻找file.h,后者从当前工作路径寻找file.h。 3. 全局变量和局部变量的存储方式:全局变量储存在静态数据区,局部变量在堆栈中。 三、数据结构和算法 1. 平衡二叉树的定义:左右子树都是平衡二叉树且左右子树的深度差值的绝对值不大于1。 2. 堆栈溢出的原因:没有回收垃圾资源、层次太深的递归调用。 3. 冒泡排序算法的时间复杂度:O(n^2)。 四、变量和函数 1. 不能声明为虚函数的函数:constructor。 2. 队列和栈的区别:队列先进先出、栈后进先出。 3. 局部变量能否和全局变量重名:能,局部变量会屏蔽全局变量。 4. 如何引用一个已经定义过的全局变量:可以用引用头文件的方式,也可以用extern关键字。 5. 全局变量可不可以定义在可被多个.C文件包含的头文件中:可以,在不同的C文件中以static形式来声明同名全局变量。 五、循环语句和控制语句 1. 语句for( ;1 ;)的意思:和while(1)相同,无限循环。 2. do……while和while……do的区别:前一个循环一遍再判断,后一个判断以后再循环。 六、静态变量和函数 1. static全局变量、局部变量、函数与普通全局变量、局部变量、函数的区别:static全局变量限制了其作用域,限制在定义该变量的源文件内有效。static局部变量改变了它的存储方式和生存期。
剩余56页未读,继续阅读
- 粉丝: 97
- 资源: 2万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助