中图网文创礼盒,买2个减5元
欢迎光临中图网 请 | 注册

C 语言从新手到高手

作者:关淞元
出版社:中国铁道出版社出版时间:2020-01-01
开本: 16开 页数: 316
中 图 价:¥56.9(7.2折) 定价  ¥79.0 登录后可看到会员价
加入购物车 收藏
运费6元,满69元免运费
?快递不能达地区使用邮政小包,运费14元起
云南、广西、海南、新疆、青海、西藏六省,部分地区快递不可达
本类五星书更多>

C 语言从新手到高手 版权信息

C 语言从新手到高手 本书特色

本书的主要特色是根据作者多年的开发架构经验编 写,凝聚了一个菜鸟程序员慢慢成长为架构师的程序设计之路,书中包含很多开发 设计实例,以及作者对于C 语言和设计模式的独特见解,以及如何运用Cache 和 NUMA 等技术来优化程序执行效率,随着多核技术的蓬勃发展,本书也涉及C 语言 在多核开发下的优势和劣势。 本书共分四大部分。 **部分新手篇:第1~6 章,着重介绍C 语言基础语法。 第二部分进阶篇:主要介绍C 语言的数据类型、预处理器、编译原理,通过实 例阐述C 语言的魅力。 第三部分实战篇:包含C 语言的经典数据结构和通用设计模式等,以及Linux 下程序调试的方法。 第四部分高手篇:介绍如何进行程序优化、Cache 利用、NUMA 技术、多核技 术等。

C 语言从新手到高手 内容简介

配套赠送书中案例源代码 一本带你轻松入门、直接上岗的实操手册 实战派架构师 倾力之作 希望分享给更多有志于通过技术改变生活的人

C 语言从新手到高手 目录

**篇新手篇 第 1 章 C 语言概述 1.1 C 语言的前世今生............................................................................................... 2 1.2 C 语言的优势与劣势........................................................................................... 3 1.3 C 语言的当前标准............................................................................................... 4 1.4 C 语言的编程机制............................................................................................... 4 第2 章 C 语言的骨骼——基础数据类型 2.1 常量与变量........................................................................................................... 6 2.1.1 常量.......................................................................................................... 6 2.1.2 变量.......................................................................................................... 8 2.2 关键字和保留标识符.......................................................................................... 9 2.3 整数类型............................................................................................................. 11 2.4 浮点类型............................................................................................................. 11 2.5 字符和字符串类型............................................................................................13 2.6 类型之间的转换................................................................................................14 2.7 程序注释.............................................................................................................18 第3 章 C 语言的肉身——运算符 3.1 算术运算符.........................................................................................................20 3.2 赋值运算符.........................................................................................................213.3 逻辑运算符.........................................................................................................21 3.4 移位运算符.........................................................................................................22 3.5 关系运算符.........................................................................................................23 3.6 增量运算符.........................................................................................................24 3.7 位运算符.............................................................................................................25 3.8 条件运算符.........................................................................................................26 3.9 逗号运算符.........................................................................................................27 3.10 运算符的优先级..............................................................................................28 第4 章 C 语言的血液——控制流 4.1 顺序流.................................................................................................................30 4.2 条件分支流.........................................................................................................31 4.3 循环控制流.........................................................................................................35 4.4 输入输出流.........................................................................................................38 4.4.1 scanf/printf 函数.....................................................................................38 4.4.2 getchar/putchar 函数..............................................................................40 4.4.3 gets/puts 函数.........................................................................................41 4.5 语句嵌套.............................................................................................................42 第5 章 C 语言的灵魂——函数 5.1 函数定义.............................................................................................................44 5.2 函数声明.............................................................................................................45 5.3 函数参数.............................................................................................................46 5.4 函数调用.............................................................................................................48 5.5 函数递归.............................................................................................................52 5.6 可变参数列表.....................................................................................................54 第6 章 丫丫学步——构建**个程序 6.1 main 函数............................................................................................................56 6.2 程序风格.............................................................................................................58 6.3 **个C 程序....................................................................................................60 6.4 编译执行.............................................................................................................61第二篇 进阶篇 第 7 章 成长的烦恼——数组和指针 7.1 一维数组.............................................................................................................64 7.2 多维数组.............................................................................................................65 7.3 变长数组.............................................................................................................66 7.4 指针与地址.........................................................................................................68 7.5 指针数组.............................................................................................................71 7.6 指向函数的指针................................................................................................73 7.7 指向指针的指针................................................................................................74 7.8 指针和数组的区别............................................................................................75 第8 章 成长的积累——结构体、联合体及其他数据形式 8.1 结构体基础知识................................................................................................77 8.2 结构的存储与对齐............................................................................................79 8.3 结构数组.............................................................................................................84 8.4 指向结构的指针................................................................................................85 8.5 结构体自引用.....................................................................................................87 8.6 联合体基础知识................................................................................................88 8.7 枚举类型.............................................................................................................90 8.8 位字段.................................................................................................................93 8.9 typedef 简介........................................................................................................95 第9 章 成长的惊喜——预处理器 9.1 宏定义.................................................................................................................98 9.2 文件包含...........................................................................................................102 9.3 条件编译...........................................................................................................103 第10 章 成人礼——**次构建多文件工程 10.1 多源文件编译................................................................................................107 10.2 动态库和静态库............................................................................................ 11310.2.1 静态库................................................................................................ 114 10.2.2 动态库................................................................................................ 115 第三篇实战篇 第 11 章 骨骼的发育——经典数据结构 11.1 栈.....................................................................................................................120 11.2 链表.................................................................................................................123 11.3 队列.................................................................................................................126 11.4 树.....................................................................................................................129 11.5 堆.....................................................................................................................134 11.6 散列表.............................................................................................................137 11.7 图.....................................................................................................................139 11.7.1 邻接矩阵............................................................................................141 11.7.2 邻接表................................................................................................142 11.7.3 十字链表............................................................................................142 11.7.4 邻接多重表........................................................................................143 11.8 一个具体的例子——协议识别引擎............................................................144 第12 章 社会经验的积累——经典设计模式 12.1 程序设计理念................................................................................................151 12.2 设计模式原则................................................................................................152 12.3 单件模式.........................................................................................................154 12.4 工厂模式.........................................................................................................157 12.5 抽象工厂模式................................................................................................158 12.6 创建者模式.....................................................................................................161 12.7 原型模式.........................................................................................................162 12.8 适配器模式.....................................................................................................163 12.9 装饰器模式.....................................................................................................164 12.10 代理模式.......................................................................................................166 12.11 外观模式.......................................................................................................167 12.12 桥接模式.......................................................................................................169 12.13 组合模式.......................................................................................................170 目 录 V 12.14 享元模式.......................................................................................................172 12.15 策略模式.......................................................................................................174 12.16 模板方法模式..............................................................................................175 12.17 观察者模式...................................................................................................177 12.18 迭代器模式...................................................................................................179 12.19 责任链模式...................................................................................................180 12.20 命令模式.......................................................................................................182 12.21 备忘录模式...................................................................................................183 12.22 状态模式.......................................................................................................185 12.23 访问者模式...................................................................................................186 12.24 中介者模式...................................................................................................188 12.25 解释器模式...................................................................................................190 第13 章 成长的挫折——再论程序调试 13.1 断言.................................................................................................................194 13.2 万能的打印.....................................................................................................197 13.3 GDB 调试浅谈...............................................................................................199 13.3.1 基础命令............................................................................................199 13.3.2 进阶多线程命令................................................................................205 13.3.3 调试core 文件...................................................................................206 13.4 符号表与反汇编............................................................................................210 13.5 core 文件的配置.............................................................................................212 第14 章 适应社会——可移植性 14.1 为什么需要可移植........................................................................................214 14.2 如何设计可移植的数据结构........................................................................215 14.3 如何设计可移植的程序................................................................................217 第四篇高手篇 第 15 章 找出自身的不足——性能调试 15.1 程序Cycle 的意义.........................................................................................220 VI C 语言从新手到高手 15.2 性能测试工具的使用....................................................................................221 15.3 变量的优化.....................................................................................................224 15.4 高性能函数.....................................................................................................228 15.5 嵌入式汇编.....................................................................................................234 15.6 编译优化.........................................................................................................237 第16 章 做事需未雨绸缪——Cache 技术 16.1 为什么要使用Cache .....................................................................................241 16.2 Cache 有多少级.............................................................................................242 16.3 Cache Line 的介绍.........................................................................................244 16.4 与Cache 结合的CPU 指令..........................................................................246 16.5 Cache 的淘汰策略.........................................................................................250 16.6 让程序爱上Cache .........................................................................................252 第17 章 找到亲近的人与事——NUMA 技术 17.1 NUMA 简介...................................................................................................254 17.2 NUMA 存储管理...........................................................................................257 17.3 NUMA 相关工具...........................................................................................258 17.4 NUMA 读写实测...........................................................................................260 17.5 让程序爱上NUMA.......................................................................................261 第18 章 社会更新换代——大页技术 18.1 大页简介.........................................................................................................262 18.2 Linux 如何配置大页......................................................................................263 18.3 简述Hugetlbfs 实现.......................................................................................266 18.4 程序如何使用大页........................................................................................269 第19 章 自我修炼——多线程技术 19.1 进程与线程的区别........................................................................................271 19.2 多线程编程.....................................................................................................275 19.2.1 线程的创建和结束............................................................................275 19.2.2 线程同步............................................................................................277 目 录 VII 19.2.3 线程互斥............................................................................................281 19.2.4 定义线程独有变量............................................................................283 19.3 CPU 亲和性....................................................................................................284 19.3.1 RTC 模式............................................................................................287 19.3.2 Pipeline 模式......................................................................................288 19.4 多线程调试.....................................................................................................289 附录A 术语表 附录 B 操作符优先级表 附录 C Linux 信号表
展开全部

C 语言从新手到高手 作者简介

关淞元:毕业于吉林大学计算机科学与技术学院,硕士学历,资深架构专家,有10余年系统架构设计,软件开发以及研发管理经验;曾发表过多篇学术论文以及专利,主要涉及数字通信领域、网络安全领域、移动通信领域以及安全领域;尤其擅长C语言算法及性能优化,曾主持或参与过NGFW(下一代防火墙)的研发、IPS(入侵检测系统)的研发,DDOS(分布式拒绝攻击)的架构设计和研发、DPI(深度报文检测)的架构设计和研发,内容还原的架构设计和研发等。目前在某公司出任首席架构师,主持国外大型安全项目的总体架构设计,以及国家部委项目的总体架构设计。

商品评论(0条)
暂无评论……
书友推荐
浏览历史
编辑推荐
返回顶部
中图网
在线客服