搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
C语言进阶
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787111388616
  • 作      者:
    牟海军著
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2012
收藏
编辑推荐
  透析C语言中的核心概念、重要知识点、不易理解的知识点,以及容易被错误理解的知识点,是修炼C程序设计能力的必读之作!
展开
作者简介
  牟海军,资深C语言开发工程师,钟爱C语言,对C语言有较深入的理解和研究,实践经验较为丰富。喜欢研究算法,谙熟各种常见和经典的算法,颇有心得。擅长嵌入式linux开发,以及使用QT进行嵌入式开发。活跃于CSDN等技术社区,是CSDN的推荐博客专家。
展开
内容介绍
  C语言是编程语言中的一朵奇葩,虽已垂垂老矣,但却屹立不倒,诞生了数十年,仍然是最流行的编程语言之一。C语言看似简单,却不易吃透,想要运用好,更是需要积淀。《C语言进阶:重点、难点与疑点解析》是一本修炼C程序设计能力的进阶之作,它没有系统地去讲解C语言的语法和编程方法,而是只对C语言中不容易被初学者理解的重点、难点和疑点进行了细致而深入的解读,同时包含大量技巧和最佳实践,揭露了C语言中那些鲜为普通开发者所知的秘密,旨在让读者真正掌握C语言,从而编写出更高质量的C程序代码。
  全书一共11章:第1章重点阐述了C语言中不易被理解的多个核心概念,很多初学者在理解这些概念时都会存在误区;第2-8章对预处理、选择结构和循环结构的程序设计、数组、指针、数据结构、函数和文件等知识点的核心问题和注意事项进行了讲解;第9章介绍了调试和异常处理的方法及注意事项;第10章对C语言中的若干容易让开发者误解误用的陷阱知识点进行了剖析;第11章则对所有程序员必须掌握的几种算法进行了详细的讲解;附录经验性地总结了如何养成良好的编码习惯,这对所有开发者都尤为重要。
展开
精彩书评
  在编程语言领域,各种新的语言一直层出不穷,C语言虽已有数十年的历史,但却依然位于编程语言排行榜的榜首,这在编程领域算是独一无二了。C语言入门相对简单,但是要透彻理解和掌握却不容易,本书对初学者不易理解的难点、疑点和重要知识点进行了解读和剖析,内容不仅涉及几乎所有的语法知识点,而且也包括算法和编码规范方面的话题。对于有一定经验且想进一步提高的C语言开发者而言,本书值得仔细品读,强烈推荐!
  ——中国领先的IT技术网站
展开
精彩书摘
  第1章
  必须厘清的核心概念
  1.1 堆栈
  1.2 全局变量和局部变量
  1.3 生存期和作用域
  1.4 内部函数和外部函数
  1.5 指针变量
  1.6 指针数组和数组指针
  1.7 指针函数和函数指针
  1.8 传值和传址
  1.9 递归和嵌套
  1.10 结构体
  1.11 共用体
  1.12 枚举
  1.13 位域
  人或多或少都有一点惰性和急功近利,我就是这样,在一开始学习编程的时候不喜欢阅读那些枯燥的文字,喜欢直接去阅读代码。但是渐渐地,我发现一个问题,那就是编程时经常会犯一些低级的错误。通过总结才明白,这些错误源于自己对C语言中的基本概念一知半解,知其然,不知其所以然,发现问题后才意识到那些枯燥的文字对掌握并熟练使用C语言非常重要。为了让读者少走一些弯路,本书的第1章先来介绍C语言中的核心概念。
  开始本章的学习之前,先向读者交代一下,由于本章涉及的知识范围较广,有些初学者理解起来会有些吃力,因此建议读者有选择地阅读,遇到陌生知识点可以暂时跳过,待学习了后面章节的内容后再回过头来阅读这一章的相关内容。当然,学习代码的最佳方法是动手,所以本章在讲解C语言的一些基本概念的同时,为了便于读者理解,有针对性地列举了一些代码,读者也可以通过这些代码来验证所学的概念,体会学习的乐趣,以避免单纯通过阅读文字来枯燥地学习概念。
  ……
展开
目录

前言
第1章 必须厘清的核心概念
1.1 堆栈
1.2 全局变量和局部变量
1.3 生存期和作用域
1.3.1 生存期
1.3.2 作用域
1.4 内部函数和外部函数
1.5 指针变量
1.6 指针数组和数组指针
1.7 指针函数和函数指针
1.8 传值和传址
1.9 递归和嵌套
1.10 结构体
1.11 共用体
1.12 枚举
1.13 位域
第2章 预处理
2.1 文件的包含方式
2.2 宏定义
2.2.1 简单宏替换
2.2.2 带参数的宏替换
2.2.3 嵌套宏替换
2.3 宏定义常见错误解析
2.3.1 不带参数的宏
2.3.2 带参数的宏
2.4 条件编译指令的使用
2.5 #pragma指令的使用
第3章 选择结构和循环结构的程序设计
3.1 if语句及其易错点解析
3.2 条件表达式的使用
3.3 switch语句的使用及注意事项
3.4 goto语句的使用及注意事项
3.5 for语句的使用及注意事项
3.6 while循环与do while循环的使用及区别
3.7 循环结构中break、continue、goto、return和exit的区别
第4章 数组
4.1 一维数组的定义及引用
4.2 二维数组的定义及引用
4.3 多维数组的定义及引用
4.4 字符数组的定义及引用
4.5 数组作为函数参数的易错点解析
4.6 动态数组的创建及引用
第5章 指针
5.1 不同类型指针之间的区别和联系
5.2 指针的一般性用法及注意事项
5.3 指针与地址之间的关系
5.4 指针与数组之间的关系
5.5 指针与字符串之间的关系
5.6 指针与函数之间的关系
5.7 指针与指针之间的关系
第6章 数据结构
6.1 枚举类型的使用及注意事项
6.2 结构体变量的初始化方法及引用
6.2.1 结构体的初始化
6.2.2 结构体的引用
6.3 结构体字节对齐详解
6.4 共用体变量的初始化方法及成员的引用
6.5 传统链表的实现方法及注意事项
6.6 颠覆传统链表的实现方法
6.6.1 头结点的创建
6.6.2 结点的添加
6.6.3 结点的删除
6.6.4 结点位置的调整
6.6.5 检测链表是否为空
6.6.6 链表的合成
6.6.7 宿主结构指针
6.6.8 链表的遍历
第7章 函数
7.1 函数参数
7.2 变参函数的实现方法
7.3 函数指针的使用方法
7.4 函数之间的调用关系
7.5 函数的调用方式及返回值
第8章 文件
8.1 文件及文件指针
8.2 EOF和FEOF的区别
8.3 读写函数的选用原则
8.4 位置指针对文件的定位
8.5 文件中的出错检测
第9章 调试和异常处理
9.1 assert宏的使用及注意事项
9.2 如何设计一种灵活的断言
9.3 如何实现异常处理
9.4 如何处理段错误
第10章 陷阱知识点解剖
10.1 strlen和sizeof的区别
10.2 const修饰符
10.3 volatile修饰符
10.4 void和void*的区别
10.5 #define和typedef的本质区别
10.6 条件语句的选用
10.7 函数realloc、malloc和calloc的区别
10.8 函数和宏
10.9 运算符==、=和!=的区别
10.10 类型转换
第11章 必须掌握的常用算法
11.1 时间复杂度
11.2 冒泡法排序
11.3 选择法排序
11.4 快速排序
11.5 归并排序
11.6 顺序查找
11.7 二分查找
附录 如何养成良好的编程习惯

 

展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证