欢迎光临
免费的PDF电子书下载网站

直击招聘——程序员面试笔试C语言深度解析 PDF下载

编辑推荐

面试真题302道? 定位准确:面向企业应聘人才,面向编程技术提高者。? 答疑解惑:解析相关课程中难点、疑点和热点,许多都是目前各大网站上热门讨论话题。? 实战性强:收集近些年笔试和面试题目,涵盖常见考点。 ;

内容简介

本书汇总国内外众多著名IT企业近几年的C语言面试笔试真题并予以解析,按知识点类型对常见的C语言难点和疑点进行了系统归纳和透彻剖析,并提供了一定数量的自测题便于读者自我检验。   全书逻辑清晰,通俗易懂,适合参加IT企业校园招聘和面试笔试环节的同学复习,也适合C语言编程爱好者和在校学生阅读和提高。

作者简介

暂无

直击招聘——程序员面试笔试C语言深度解析 PDF下载

目录

目 ; 录

 ;第1章  ; ;程序设计基础——变量... 1

常见考点.. 1

1.1 ; 变量定义和声明.. 1

1.1.1  ; 要点归纳.. 1

1.1.2  ; 面试真题解析.. 12

1.2 ; 运算符和表达式.. 18

1.2.1  ; 要点归纳.. 18

1.2.2  ; 面试真题解析.. 29

1.3 ; 自测题和参考答案.. 34

1.3.1  ; 自测题.. 34

1.3.2  ; 参考答案.. 36

 ;第2章  ; ;数据处理——控制结构... 38

常见考点.. 38

2.1 ; 选择控制结构.. 38

2.1.1  ; 要点归纳.. 38

2.1.2  ; 面试真题解析.. 41

2.2 ; 循环控制结构.. 44

2.2.1  ; 要点归纳.. 44

2.2.2  ; 面试真题解析.. 49

2.3 ; 自测题和参考答案.. 57

2.3.1  ; 自测题.. 57

2.3.2  ; 参考答案.. 60

 ;第3章  ; ;内存操作——指针... 62

常见考点.. 62

3.1 ; 指针基础.. 62

3.1.1  ; 要点归纳.. 62

3.1.2  ; 面试真题解析.. 65

3.2 ; 常量和常量指针.. 70

3.2.1  ; 要点归纳.. 70

3.2.2  ; 面试真题解析.. 73

3.3 ; 多级指针.. 76

3.3.1  ; 要点归纳.. 76

3.3.2  ; 面试真题解析.. 79

3.4  ;自测题和参考答案.. 80

3.4.1  ; 自测题.. 80

3.4.2  ; 参考答案.. 84

 ;第4章  ; ;数据组织Ⅰ——数组... 86

常见考点.. 86

4.1 ; 一维数组.. 86

4.1.1  ; 要点归纳.. 86

4.1.2  ; 面试真题解析.. 93

4.2 ; 二维数组.. 100

4.2.1  ; 要点归纳.. 100

4.2.2  ; 面试真题解析.. 104

4.3 ; 字符数组和字符串数组.. 109

4.3.1  ; 要点归纳.. 109

4.3.2  ; 面试真题解析.. 114

4.4 ; 指针数组.. 121

4.4.1  ; 要点归纳.. 121

4.4.2  ; 面试真题解析.. 121

4.5 ; 数组指针.. 126

4.5.1  ; 要点归纳.. 126

4.5.2  ; 面试真题解析.. 128

4.6 ; 自测题和参考答案.. 130

4.6.1  ; 自测题.. 130

4.6.2  ; 参考答案.. 134

 ;第5章  ; ;数据组织Ⅱ——结构体和联合体... 138

常见考点.. 138

5.1 ; 结构体.. 138

5.1.1  ; 要点归纳.. 138

5.1.2  ; 面试真题解析.. 148

5.2 ; 联合体.. 156

5.2.1  ; 要点归纳.. 156

5.2.2  ; 面试真题解析.. 161

5.3 ; 枚举类型.. 165

5.3.1  ; 要点归纳.. 165

5.3.2  ; 面试真题解析.. 168

5.4 ; 用户定义类型.. 170

5.4.1  ; 要点归纳.. 170

5.4.2  ; 面试真题解析.. 172

5.5 ; 自测题和参考答案.. 174

5.5.1  ; 自测题.. 174

5.5.2  ; 参考答案.. 177

 ;第6章  ; ;模块化——函数... 179

常见考点.. 179

6.1 ; 函数基础.. 179

6.1.1  ; 要点归纳.. 179

6.1.2  ; 面试真题解析.. 187

6.2 ; 数组作为函数参数.. 202

6.2.1  ; 要点归纳.. 202

6.2.2  ; 面试真题解析.. 204

6.3 ; 指针数组作为函数参数.. 207

6.3.1  ; 要点归纳.. 207

6.3.2  ; 面试真题解析.. 208

6.4 ; 指针型函数和函数指针.. 209

6.4.1  ; 要点归纳.. 209

6.4.2  ; 面试真题解析.. 213

6.5 ; 递归函数.. 219

6.5.1  ; 要点归纳.. 219

6.5.2  ; 面试真题解析.. 220

6.6 ; 自测题和参考答案.. 223

6.6.1  ; 自测题.. 223

6.6.2   参考答案.. 229

 第7章   位操作——位运算和位域... 233

常见考点.. 233

7.1  位运算符.. 233

7.1.1   要点归纳.. 233

7.1.2   面试真题解析.. 239

7.2  位图.. 245

7.2.1   要点归纳.. 245

7.2.2   面试真题解析.. 248

7.3  位段.. 250

7.3.1   要点归纳.. 250

7.3.2   面试真题解析.. 254

7.4  自测题和参考答案.. 256

7.4.1   自测题.. 256

7.4.2   参考答案.. 259

 第8章   编译前的处理——预处理... 264

常见考点.. 264

8.1  宏定义.. 264

8.1.1   要点归纳.. 264

8.1.2   面试真题解析.. 267

8.2  条件编译.. 269

8.2.1   要点归纳.. 269

8.2.2   面试真题解析.. 271

8.3  文件包含.. 271

8.3.1   要点归纳.. 271

8.3.2   面试真题解析.. 273

8.4  自测题和参考答案.. 274

8.4.1   自测题.. 274

8.4.2   参考答案.. 276

 第9章   磁盘数据组织——文件... 277

常见考点.. 277

9.1  文件的基本操作.. 277

9.1.1   要点归纳.. 277

9.1.2   面试真题解析.. 283

9.2  文件定位操作.. 287

9.2.1   要点归纳.. 287

9.2.2  面试真题解析.. 289

9.3  自测题和参考答案.. 290

9.3.1   自测题.. 290

9.3.2   参考答案.. 293

前沿

前  言

C语言是计算机及相关专业的必修课程,是许多面试者学习的第一门计算机语言,也是绝大多数IT企业面试笔试的内容之一。很多面试笔试题看起来简单,实际上却隐含着奥秘和某个深入的知识点,这些往往是在课堂上难以学到的。本书系统归纳C语言常见的知识要点,汇总国内外众多著名IT企业近几年的C语言面试笔试真题并予以解析,透彻剖析了难点和疑点。

由于IT企业面试笔试的编程环境一般采用C ,本书主要在VC 6.0(之所以采用这种“古老”的编译器,是考虑程序代码的兼容性,通常高版本的编译器是兼容低版本的)中调试程序(个别程序在Dev C 中调试),并且仅仅涵盖C语言部分。在VC 6.0中,源程序文件可以采用.c扩展名,也可以采用.cpp扩展名,前者遵循C语言语法,后者遵循C 语法。尽管C 语言支持C语言,但二者略有差异,例如C语言中包含更多的隐式转换,所有变量必须在执行语句之前定义。书中的程序调试除特别说明外主要采用后者。

本书不是面向初学者,而是以知识点提纲挈领,章节之间难免会出现要点重复的现象,敬请读者谅解。书中侧重C语言的语法,相关算法设计在本丛书的其他书中讨论。另外,为了方便阅读,对于部分企业面试笔试中的文字和代码在格式上做了调整。

在编写过程中参考了众多网站和博客的有关内容,无法一一列出,编者在此表示衷心感谢。

限于编者水平,书中难免存在遗漏,恳请读者批评指正。

 

编  者

2017年10月

 

免费在线读

·第3章·内存操作—— 指针
* 一级指针的用法和一级指针移动时的步长计算。* 两个指针之间的运算和地址越界问题。* 常量指针的相关问题。* 野指针导致程序执行错误的问题。* 多级指针的用法和多级指针移动时的步长计算。* void *和void **的含义。3.1   指 针 基 础3.1.1  要点归纳 1. 指针变量  变量用于存放数据,指针变量也是如此,只不过指针变量存放的不是普通数据而是其他变量的地址。  在C中提供了两种指针运算符。* *:取指针所指值运算符,也称为解引用。* &:取地址运算符。  例如,在定义“int x,*px”之后:       px=&x  将整数变量x的地址赋给整数指针px,即px指针变量中存放x的地址值,如图3.1所示。例如:       x=*px //将px所指的值赋给x     px=&(*px) //将px所指值的地址赋给px,等同于px=px     x=*(&x) //将x的地址中的值赋给x,等同于x=x
图3.1  px指针指向变量x 2. 指针变量的定义和初始化  指针变量也是一个变量,通常简称为指针,所以具有和普通变量一样的属性,在使用之前也需要定义,在指针定义的同时也可以进行初始化。指针定义的一般形式如下:       数据类型 *指针名;  其中指针变量名前的“*”号仅是一个说明符,表示其后的名称是一个指针变量名。这里的“*”号并没有访问指针目标的含义。  与普通变量不同,指针定义时的数据类型并不是指针变量本身的数据类型,而是其所指目标数据的数据类型,称之为基类型。指针初始化的一般形式如下:       数据类型 *指针名=初始地址值;    指针初始化的过程是系统按照指定的基类型和存储类别在相应存储区域为该指针分配存储空间,并把初始值置入指针的存储空间中,从而该指针就指向了初始地址值所给定的内存空间。例如:       double x;     double *px=&x;  把变量x的地址(如0x12ff40)作为初值赋给double型指针px,从而px指向了变量x的存储空间。“double *px=&x”等同于“double *p,p=&x”。    有关指针的注意事项如下:  ? 在定义指针变量后系统为该指针变量分配一个地址大小的存储单元,指针变量中存放的是地址值。无论指针变量的基类型是何种数据类型,占用的内存大小都是相同的,例如“char *p1;double*p2;”,在32位系统中有sizeof(p1)=sizeof(p2)=4,即p1和p2两个指针变量均占用4个字节。    ? 尽管任何指针变量中存放的都是地址值,但一个指针变量只能存放相同基类型的数据地址。    ? 指针变量的存储单元和它指向的数据空间是两个不同的存储空间。通过指针变量可以对所指数据进行间接操作(相应地通过变量名对其数据的操作看成是直接操作),指针变量所指的空间可以看成是匿名变量空间。    ? 一个指针变量本身占用的空间很小,但可以指向一整块很大的连续空间。这个一整块的连续空间通常采用第1章介绍的动态分配函数分配,存放在堆空间中。    ? 指针与地址有什么区别?指针意味着已经有一个指针变量存在,其值是一个地址,指针变量本身也有地址;而地址本身并不代表有任何变量存在,地址仅表示内存空间的一个位置。
 3. 指针运算  指针运算是以指针变量中的地址值为运算量进行的运算,所以指针运算实际上是地址的计算,如图3.2所示。* 指针与整数的加减:一个地址量加上或减去一个整数n是以该地址量为基点的前方或后方的第n个数据的地址。例如对于基类型为type的指针p,p?n的结果是地址值p?n*sizeof(type),其中sizeof(type)称为步长,显然步长与指针变量的基类型相关。* 指针自加1、自减1:指针 运算后指向下一个数据的位置,指针--运算后指向上一个数据的位置。运算后指针地址值的变化量取决于指针的基类型。* 两个指针相减:两个地址量相减,并非它们的两个地址值之间直接做减法运算,而是两指针所指地址之间的数据个数。* 两个指针的关系比较:当两个指针都指向一整块连续空间中的元素时,它们之间的关系运算表示它们指向地址的前后关系,通常指向后方的地址大于指向前方的地址。如果两个指针不是指向同一连续空间中的元素,它们的关系比较是没有意义的。指针与一般整数常量或变量之间的关系运算也是无意义的。但是指针可以和零(指针零用NULL表示)之间进行等于或不等于的关系运算,即p==NULL或p!=NULL,以判定指针p是否为一空指针。

直击招聘——程序员面试笔试C语言深度解析 pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:直击招聘——程序员面试笔试C语言深度解析