当前位置:主页 > 书籍配套资源 > C语言配套资源
《C语言进阶:重点、难点与疑点解析》源代码

《C语言进阶:重点、难点与疑点解析》源代码

  • 更新:2022-05-28
  • 大小:13 MB
  • 类别:C语言
  • 作者:牟海军
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

C语言是编程语言中的一朵奇葩,虽已垂垂老矣,但却屹立不倒,诞生了数十年,仍然是最流行的编程语言之一。C语言看似简单,却不易吃透,想要运用好,更是需要积淀。本书是一本修炼C程序设计能力的进阶之作,它没有系统地去讲解C语言的语法和编程方法,而是只对C语言中不容易被初学者理解重点、难点和疑点进行了细致而深入的解读,揭露了C语言中那些鲜为普通开发者所知的秘密,旨在让读者真正掌握C语言,从而编写出更高质量的C程序代码。

全书一共11章:第1章重点阐述了C语言中不易被理解的多个核心概念,很多初学者在理解这些概念时都会存在误区;第2-8章对预处理、选择结构和循环结构的程序设计、数组、指针、数据结构、函数和文件等知识点的核心问题和注意事项进行了讲解;第9章介绍了调试和异常处理的方法及注意事项;第10章对C语言中的若干容易让开发者误解误用的陷阱知识点进行了剖析;第11章则对所有程序员必须掌握的几种算法进行了详细的讲解。

封面图

目录

  • 前言
  • 第1章必须厘清的核心概念/1
  • 1.1堆栈/2
  • 1.2全局变量和局部变量/5
  • 1.3生存期和作用域/7
  • 1.3.1生存期/7
  • 1.3.2作用域/10
  • 1.4内部函数和外部函数/11
  • 1.5指针变量/14
  • 1.6指针数组和数组指针/17
  • 1.7指针函数和函数指针/20
  • 1.8传值和传址/22
  • 1.9递归和嵌套/25
  • 1.10结构体/29
  • 1.11共用体/32
  • 1.12枚举/37
  • 1.13位域/39
  • 第2章预处理/47
  • 2.1文件的包含方式/48
  • 2.2宏定义/50
  • 2.2.1简单宏替换/50
  • 2.2.2带参数的宏替换/52
  • 2.2.3嵌套宏替换/56
  • 2.3宏定义常见错误解析/56
  • 2.3.1不带参数的宏/56
  • 2.3.2带参数的宏/59
  • 2.4条件编译指令的使用/62
  • 2.5#pragma指令的使用/65
  • 第3章选择结构和循环结构的程序设计/69
  • 3.1if语句及其易错点解析/70
  • 3.2条件表达式的使用/76
  • 3.3switch语句的使用及注意事项/78
  • 3.4goto语句的使用及注意事项/85
  • 3.5for语句的使用及注意事项/87
  • 3.6while循环与do while循环的使用及区别/92
  • 3.7循环结构中break、continue、goto、return和exit的区别/98
  • 第4章数组/103
  • 4.1一维数组的定义及引用/104
  • 4.2二维数组的定义及引用/110
  • 4.3多维数组的定义及引用/117
  • 4.4字符数组的定义及引用/119
  • 4.5数组作为函数参数的易错点解析/124
  • 4.6动态数组的创建及引用/130
  • 第5章指针/139
  • 5.1不同类型指针之间的区别和联系 /140
  • 5.2指针的一般性用法及注意事项/144
  • 5.3指针与地址之间的关系/148
  • 5.4指针与数组之间的关系/153
  • 5.5指针与字符串之间的关系/161
  • 5.6指针与函数之间的关系/163
  • 5.7指针与指针之间的关系/169
  • 第6章数据结构/172
  • 6.1枚举类型的使用及注意事项/173
  • 6.2结构体变量的初始化方法及引用/177
  • 6.2.1结构体的初始化/177
  • 6.2.2结构体的引用/180
  • 6.3结构体字节对齐详解/184
  • 6.4共用体变量的初始化方法及成员的引用/193
  • 6.5传统链表的实现方法及注意事项/196
  • 6.6颠覆传统链表的实现方法/214
  • 6.6.1头结点的创建/214
  • 6.6.2结点的添加/215
  • 6.6.3结点的删除/217
  • 6.6.4结点位置的调整/219
  • 6.6.5检测链表是否为空/221
  • 6.6.6链表的合成/222
  • 6.6.7宿主结构指针/225
  • 6.6.8链表的遍历/225
  • 第7章函数/230
  • 7.1函数参数/231
  • 7.2变参函数的实现方法/235
  • 7.3函数指针的使用方法/241
  • 7.4函数之间的调用关系/245
  • 7.5函数的调用方式及返回值/251
  • 第8章文件/255
  • 8.1文件及文件指针/256
  • 8.2EOF和FEOF的区别/259
  • 8.3读写函数的选用原则/264
  • 8.4位置指针对文件的定位/270
  • 8.5文件中的出错检测/275
  • 第9章调试和异常处理/279
  • 9.1assert宏的使用及注意事项/280
  • 9.2如何设计一种灵活的断言/283
  • 9.3如何实现异常处理/287
  • 9.4如何处理段错误/293
  • 第10章陷阱知识点解剖/299
  • 10.1strlen和sizeof的区别/300
  • 10.2const修饰符/301
  • 10.3volatile修饰符/305
  • 10.4void和void*的区别/311
  • 10.5#define和typedef的本质区别/314
  • 10.6条件语句的选用/317
  • 10.7函数realloc、malloc和calloc的区别/319
  • 10.8函数和宏/322
  • 10.9运算符==、=和!=的区别/323
  • 10.10类型转换/324
  • 第11章必须掌握的常用算法/326
  • 11.1时间复杂度/327
  • 11.2冒泡法排序/329
  • 11.3选择法排序/332
  • 11.4快速排序/334
  • 11.5归并排序/337
  • 11.6顺序查找/340
  • 11.7二分查找/341
  • 附录如何养成良好的编程习惯/344

资源下载

资源下载地址1:https://pan.baidu.com/s/17YwslOCykPBZXnpPyqFRGQ

相关资源

网友留言