互联网
类型
9.3
豆瓣评分
可以朗读
语音朗读
158千字
字数
2013-09-01
发行日期
展开全部
主编推荐语
《嗨翻C语言》适用于C开发人员以及对C语言感兴趣的初学者。
内容简介
《嗨翻C语言》向读者提供了C语言的完整学习体验。全书分为三个部分:第1章到第4章是基础知识,包括基本语法、指针、字符串、小工具与源文件;第5章到第8章为进阶内容,有结构、联合、数据结构、堆、函数指针、动/静态链接;最后四章是高级主题,内容涵盖了系统调用、进程间通信、网络编程和多线程。每部分结束后还有一个有趣的实验,可以提高读者的实际操作能力。此外,书中还包含大量的图片、示例和代码,有助于读者对于知识的理解和把握。
目录
- 版权信息
- 版权声明
- O'Reilly Media, Inc.介绍
- 献辞
- 对Head First丛书的赞誉
- 对本书的赞誉
- 《嗨翻C语言》的作者
- 译者序
- 其他图书
- 目录(完整版)
- 引子
- 1 C语言入门
- 2 存储器和指针
- 2.5 字符串
- 3 创建小工具
- 4 使用多个源文件
- C语言实验室 1
- 5 结构、联合与位字段
- 6 数据结构与动态存储
- 7 高级函数
- 8 静态库与动态库
- C语言实验室 2
- 9 进程与系统调用
- 10 进程间通信
- 11 网络与套接字
- 12 线程
- C 语言实验室 3
- i 饭后甜点
- ii话题汇总
- 引子
- 本书为谁而写
- 我们知道你在想什么
- 元认知:思考的思考
- 驯服你的大脑
- 用户须知
- 技术审校团队
- 致谢
- 1 C语言入门:进入C语言的世界
- C语言用来创建空间小、速度快的程序
- 完整的C程序长啥样?
- 如何运行程序?
- 两类命令
- 到目前为止的代码
- 用C语言算牌?
- 布尔运算
- 现在的代码
- 随时转向的命运列车
- 有时一次还不够……
- 所有循环的结构都相同……
- 用break语句退出循环……
- C语言工具箱
- 2 存储器和指针:指向何方
- C代码包含指针
- 深入挖掘存储器
- 和指针起航
- 试着传递指向变量的指针
- 使用存储器指针
- 怎么把字符串传给函数?
- 数组变量好比指针……
- 运行代码时,计算机在想什么
- 数组变量与指针又不完全相同
- 为什么数组从0开始
- 为什么指针有类型
- 用指针输入数据
- 使用scanf()时要小心
- 除了scanf()还可以用fgets()
- 字符串字面值不能更新
- 如果想修改字符串,就复制它
- 把存储器保存在大脑里
- C语言工具箱
- 2.5 字符串:字符串原理
- 不顾一切找Frank
- 创建数组的数组
- 找到包含搜索文本的字符串
- 使用strstr()函数
- 该审查代码了
- “数组的数组”和“指针的数组”
- C语言工具箱
- 3 创建小工具:做一件事并把它做好
- 小工具可以解决大问题
- 程序如何工作
- 但没有使用文件……
- 可以用重定向
- 隆重推出标准错误
- 默认情况下,标准错误会发送到显示器
- fprintf()打印到数据流
- 用fprintf()修改代码吧
- 灵活的小工具
- 切莫修改geo2json工具
- 一个任务对应一个工具
- 用管道连接输入与输出
- bermuda工具
- 输出多个文件
- 创建自己的数据流
- main()可以做得更多
- 由库代劳
- C语言工具箱
- 4 使用多个源文件:分而治之
- 简明数据类型指南
- 勿以小杯盛大物
- 使用类型转换把float值存进整型变量
- 不好啦,兼职演员来了……
- 代码到底怎么了
- 编译器不喜欢惊喜
- 声明与定义分离
- 创建第一个头文件
- 如果有共同特性……
- 把代码分成多个文件
- 编译的幕后花絮
- 共享代码需要自己的头文件
- 又不是造火箭……还真是!
- 不要重新编译所有文件
- 首先,把源代码编译为目标文件
- 记不住修改了哪些文件
- 用make工具自动化构建
- make是如何工作的
- 用makefile向make描述代码
- 火箭升空!
- C语言工具箱
- C语言实验室1:Arduino
- 5 结构、联合与位字段:创建自己的结构
- 有时要传很多数据
- 窃窃私语
- 用结构创建结构化数据类型
- 只要把“鱼”给函数就行了
- 使用“.”运算符读取结构字段
- 结构中的结构
- 如何更新结构
- 代码克隆了乌龟
- 你需要结构指针
- (*t).age和*t.age
- 同一类事物,不同数据类型
- 联合可以有效使用存储器空间
- 如何使用联合
- 枚举变量保存符号
- 有时你想控制某一位
- 位字段的位数可调
- C语言工具箱
- 6 数据结构与动态存储:牵线搭桥
- 保存可变数量的数据
- 链表就是一连串的数据
- 在链表中插入数据
- 创建递归结构
- 用C语言创建岛屿……
- 在链表中插入值
- 用堆进行动态存储
- 有用有还
- 用malloc()申请存储器……
- 用strdup()修复代码
- 用完后释放存储器
- 最高机密
- SPIES系统综述
- 软件取证:使用valgrind
- 反复使用valgrind,收集更多证据
- 推敲证据
- 最终审判
- C语言工具箱
- 7 高级函数:发挥函数的极限
- 寻找真命天子……
- 把代码传给函数
- 把函数名告诉find()
- 函数名是指向函数的指针……
- ……没有函数类型
- 如何创建函数指针
- 用C标准库排序
- 用函数指针设置顺序
- 分手信自动生成器
- 创建函数指针数组
- 让函数能伸能缩
- C语言工具箱
- 8 静态库与动态库:热插拔代码
- 值得信赖的代码
- 尖括号代表标准头文件
- 如何共享代码?
- 共享.h头文件
- 用完整路径名共享.o目标文件
- 存档中包含多个.o文件
- 用ar命令创建存档
- 最后编译其他程序
- Head First健身房全球化战略
- 计算卡路里
- 事情可没那么简单……
- 程序由碎片组成……
- 在运行时动态链接
- .a能在运行时链接吗?
- 首先,创建目标文件
- 一种平台一个叫法
- C语言工具箱
- C语言实验室2:OpenCV
- 9 进程与系统调用:打破疆界
- 操作系统热线电话
- 黑客入侵了……
- 岂止是安全问题
- exec()给你更多控制权
- exec()函数有很多
- 数组函数:execv()、execvp()、execve()
- 传递环境变量
- 大多数系统调用以相同方式出错
- 用RSS读新闻
- exec()是程序中最后一行代码
- 用fork()+exec()运行子进程
- C语言工具箱
- 10 进程间通信:沟通的艺术
- 输入输出重定向
- 进程内部一瞥
- 重定向即替换数据流
- fileno()返回描述符号
- 有时需要等待……
- 家书抵万金
- 用管道连接进程
- 案例研究:在浏览器中打开新闻
- 子进程
- 父进程
- 在浏览器中打开网页
- 进程之死
- 捕捉信号然后运行自己的代码
- 用sigaction()来注册sigaction
- 使用信号处理器
- 用kill发送信号
- 打电话叫程序起床
- C语言工具箱
- 11 网络与套接字:金窝,银窝,不如127.0.0.1的草窝
- 互联网knock-knock服务器
- knock-knock服务器概述
- BLAB:服务器连接网络四部曲
- 套接字不是传统意义上的数据流
- 服务器有时不能正常启动
- 妈妈说要检查错误
- 从客户端读取数据
- 一次只能服务一个人
- 为每个客户端fork()一个子进程
- 自己动手写网络客户端
- 主动权在客户端手中
- 创建IP地址套接字
- getaddrinfo()获取域名的地址
- C语言工具箱
- 12 线程:平行世界
- 任务是串行的……还是……
- ……进程不是唯一答案
- 普通进程一次只做一件事
- 多雇几名员工:使用线程
- 如何创建线程?
- 用pthread_create创建线程
- 线程不安全
- 增设红绿灯
- 用互斥锁来管理交通
- C语言工具箱
- C语言实验室3:爆破彗星
- i 饭后甜点:十大遗漏知识点
- 1.运算符
- 2.预处理指令
- 3.static关键字
- 4.数据类型的大小
- 5.自动化测试
- 6.再谈gcc
- 7.再谈make
- 8.开发工具
- 9.创建GUI
- 10.参考资料
- ii 话题汇总:总复习
展开全部
出版方
人民邮电出版社·图灵出品
图灵社区成立于2005年6月,由人民邮电出版社投资控股,以策划出版高质量的科技书籍为核心业务,主要出版领域包括计算机、电子电气、数学统计、科普等,通过引进国际高水平的教材、专著,以及发掘国内优秀原创作品等途径,为目标读者提供一流的内容。