-
内容大纲
本书围绕C语言编程学习和开发实践中经常遇到的问题和重点,结合大量代码和图表,从容易出现的错误(ERROR)开始讲起,到类型转换、字符串和指针、结构体和共用体、文件处理、在程序运行时动态生成必要大小的对象(变量)的方法,再到线性表的应用、二叉查找树的应用、控制台画面的控制等,详细介绍了C语言中的众多技巧,目标在于提高读者解决实际问题的能力。本书适合有一定C语言基础的读者阅读。 -
作者介绍
柴田望洋,日本福冈工业大学信息工程学院副教授。编写了一系列富有影响力的计算机教材和参考书,如《明解C++》《明解Java》等。本书于2000年荣获日本工学教育协会著作奖。 -
目录
第1章 看不见的错误输入
1-1 看不见的错误
看不见的错误
难以察觉的错误
容易忽略的错误
预处理指令中的空白字符
#if指令和注释
头文件保护符
函数式宏及其运行效率
函数式宏的副作用
C++中max2的实现
1-2 初始化
初始化和赋值
对象
自动存储期
静态存储期
标识符的有效范围和初始化
数组的初始化
多维数组的初始化
使用typedef名的数组的初始化
第2章 类型转换
2-1 类型转换
-1和1哪个大?
if语句的求值
关系运算符和关系式
相等运算符和等式
if语句的控制表达式
隐式类型转换
普通算术类型转换
2-2 有符号整数和无符号整数
无符号整数在内存中的表示
有符号整数在内存中的表示
整型提升
有符号整数和无符号整数之间的类型转换
问题的解决
补码表示的有符号整数到无符号整数的类型转换
第3章 关于指针
3-1 指针和地址
地址和取址运算符
指针和间接运算符
3-2 指针和函数调用
值传递
传递指针给函数
传递指针的指针给函数
3-3 指针和数组
数组的传递
表示数组末尾的哨兵
指针、数组和数据类型
3-4 指针和多维数组
数据类型的派生和多维数组
多维数组和指针
3-5 动态对象的生成
动态存储期
void指针
单个对象的生成
数组对象的生成
多维数组对象的生成
第4章 字符串和指针
4-1 字符和字符串
字符和字符串
字符和字符常量
字符的值
字符串
字符串字面量
字符串字面量和字符串常量
用指针实现的字符串的操作
指向字符串的指针
字符串数组
4-2 字符串的处理
字符串的复制
字符串不能为空?
使字符串为空的两种方法
使字符串为空的错误方法
问题的解决
存储空间的清空
字符串的动态生成
字符串数组的动态生成
第5章 NULL
5-1 空指令、空字符和空语句
null
空指令
空字符
空字符串
空语句
5-2 空指针和NULL
空指针
空指针常量
返回空指针的函数
空指针在内存中的表示不一定为
第6章 函数的定义和声明
6-1 函数的定义和调用
函数定义的顺序
调用未声明的函数
默认的int型
未声明的函数的处理
老式风格的函数声明
老式风格的函数声明的陷阱
6-2 函数原型声明
函数原型声明
默认参数提升
参数名
可变参数的声明
va_start宏:访问可变参数前的准备
va_arg宏:取出可变参数
va_end宏:结束对可变参数的访问
vprintf函数vfprintf函数:输出到流
第7章 结构体和共用体
7-1 结构体
结构体的基础
成员的访问
结构体对象的初始化
结构体和宏
结构体和typedef声明
相互引用的结构体
7-2 结构体与字节对齐
代码优化
结构体和字节对齐
offsetof宏
7-3 共用体
共用体
共用体对象的初始化
公共初始序列
第8章 文件处理和文本文件
8-1 文本文件
文件和流
文件的打开和关闭
FILE型
输入输出库函数
问题和解决方法
解决方法一:添加无效数据
解决方法二:优化程序
8-2 作为字符的数据
数值的读取
数值和字符串
使用sprintf函数将数据写入字符串
使用sscanf函数从字符串中读取数据
第9章 文件的应用
9-1 流和缓冲区
调用的函数未被执行?
缓冲区的刷新
流的缓冲区
问题的解决
9-2 文本文件和二进制文件
文本和二进制
文件的转储
二进制文件的访问
字节序
换行符的处理
第10章 栈溢出
10-1 栈
栈的实现
10-2 栈溢出
函数调用和栈
数据和栈
栈溢出
检测栈溢出的原理
如果栈被破坏
第11章 库开发的基础
11-1 源文件的分离和链接
单字符输入输出库
队列
库的使用示例
分离式编译
链接性
11-2 库开发
源文件的分离
正确的示例
第12章 线性表的应用
12-1 线性表
线性表
节点的实现
线性表的特点
线性表的实现
线性表存储空间的动态分配
12-2 用数组实现的线性表
用数组实现的线性表
删除的记录的管理
12-3 带索引的线性表
带索引的线性表
索引表
第13章 二叉查找树的应用
13-1 二叉查找树
二叉查找树
二叉查找树和线性表
13-2 非递归查找及其应用
递归的过程
递归函数的非递归实现
问题的解决
第14章 控制台的操作
14-1 转义序列
转义序列
14-2 画面控制库
Windows API的使用
clearscreen实用程序
setcolor实用程序
猜数游戏
致谢
作者简介
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...