计算机
类型
可以朗读
语音朗读
350千字
字数
2022-03-01
发行日期
展开全部
主编推荐语
本书是一本讲授使用C语言进行程序设计的实用参考书。
内容简介
它以C语言为工具,讲授程序设计的过程和方法。
从C语言和C程序的基本要素以及程序设计的基本方法开始,循序渐进地引入对程序设计专业化的要求和相关的知识。
从增强读者的感性认识入手,通过多角度对例题的分析,示范对关键知识和技术的运用,通过对关键内容在不同层次上的适当重复,深化读者对概念的理解和掌握。
目录
- 版权信息
- 作者简介
- 作者自序
- 第0章 引言
- 第1章 程序设计的基本方法
- 1.1 程序设计的基本过程
- 1.2 问题分析
- 1.2.1 对程序功能的要求
- 1.2.2 对程序性能的要求
- 1.2.3 程序的使用方式和环境
- 1.2.4 程序的错误处理
- 1.2.5 程序的测试
- 1.2.6 问题分析的结果
- 1.3 方案设计
- 1.3.1 求解思路
- 1.3.2 计算模型
- 1.3.3 算法分类
- 1.3.4 算法和数据结构的选择
- 1.3.5 算法的检验
- 1.4 编码:从算法到代码
- 1.4.1 代码的结构
- 1.4.2 编码的质量
- 1.4.3 代码的可维护性
- 1.4.4 代码中的注释
- 1.4.5 代码的检查
- 1.4.6 代码中常见的错误
- 1.5 测试和调试
- 1.5.1 调试的基本方法
- 1.5.2 故障的检查、确认和修改
- 1.5.3 常见的故障类型和调试方法
- 1.5.4 调试数据的设计和使用
- 1.5.5 调试数据和标准输入/输出的重新定向
- 1.5.6 调试工具
- 1.5.7 测试和调试中常见的问题
- 1.6 手册的使用
- 第2章 数值的表示和计算
- 2.1 整型数据类型
- 2.1.1 有符号数和无符号数
- 2.1.2 无符号数和标志位
- 2.1.3 整型的截断与扩展
- 2.1.4 整型计算的溢出和判断
- 2.1.5 整除所引起的误差
- 2.1.6 整型数据的字节序和尾端
- 2.2 浮点数据类型
- 2.2.1 浮点数据的表示方法
- 2.2.2 有效数字和最低位当量
- 2.2.3 浮点数的比较
- 2.2.4 浮点数值计算中的上溢和下溢
- 2.3 数值计算中的类型转换
- 2.3.1 基本类型转换和数据宽度
- 2.3.2 强制类型转换
- 2.3.3 char的符号类型
- 2.3.4 变量符号类型的判断
- 2.4 按位操作
- 2.4.1 移位操作
- 2.4.2 标志位的设置、检测和清除
- 2.4.3 常用的位操作模式
- 2.4.4 位操作应用举例
- 2.5 数值计算的速度
- 第3章 指针、数组、结构和类型
- 3.1 指针变量
- 3.1.1 指针变量的定义
- 3.1.2 指针的类型
- 3.1.3 指针运算
- 3.1.4 指针的强制类型转换
- 3.1.5 不合法的指针运算
- 3.1.6 指针与整数
- 3.1.7 指针的增量运算和减量运算
- 3.1.8 作为函数参数的指针
- 3.2 指针和一维数组
- 3.2.1 指针和数组的互换
- 3.2.2 动态一维数组
- 3.2.3 数组复制与指针赋值
- 3.2.4 变量限制符const
- 3.2.5 数组的负数下标
- 3.3 二维数组和一维指针数组
- 3.3.1 作为参数的二维数组
- 3.3.2 二维数组和指针
- 3.3.3 二维数组和一维指针数组的对比
- 3.3.4 指针数组和命令行参数
- 3.3.5 二维数组的动态分配
- 3.4 函数指针
- 3.4.1 函数指针变量的定义
- 3.4.2 函数指针变量的使用
- 3.4.3 函数指针数组的使用
- 3.5 结构
- 3.5.1 结构类型的定义
- 3.5.2 结构成员的访问
- 3.5.3 结构类型的嵌套定义
- 3.5.4 结构的自引用
- 3.5.5 结构类型与函数的参数和返回值
- 3.6 复杂类型的解读
- 3.6.1 变量定义中的复杂类型说明
- 3.6.2 强制类型转换中的复杂类型
- 3.6.3 类型定义语句和复杂类型的定义
- 第4章 程序中的递归
- 4.1 递归的定义
- 4.2 递归函数的执行
- 4.3 递归函数的设计
- 4.4 递归的优点和缺点
- 4.5 递归函数的效率
- 4.6 递归函数的使用
- 4.6.1 适宜使用递归的情况
- 4.6.2 不适宜使用递归的情况
- 4.7 递归函数效率的改进
- 4.7.1 尾递归函数的非递归化
- 4.7.2 带存储机制的递归
- 4.7.3 一般递归函数的非递归化
- 第5章 搜索
- 5.1 搜索的目标和基本过程
- 5.2 深度优先搜索
- 5.2.1 深度优先搜索的基本算法
- 5.2.2 回溯搜索
- 5.3 广度优先搜索
- 5.4 重复节点的判断
- 5.5 带深度控制的广度优先搜索
- 5.6 节点的编码和搜索效率
- 第6章 常用函数和函数库
- 6.1 静态链接和动态链接
- 6.1.1 静态链接
- 6.1.2 动态链接
- 6.2 库函数的使用
- 6.2.1 标准库函数的头文件
- 6.2.2 标准函数库文件的使用
- 6.2.3 错误信息函数和变量
- 6.3 数据输入输出函数
- 6.3.1 文件描述字和字符流
- 6.3.2 文件的打开、创建和关闭
- 6.3.3 文件数据的二进制格式读写
- 6.3.4 读写操作中的定位
- 6.3.5 基础读写与字符流读写的效率比较
- 6.3.6 字符流的冲刷
- 6.3.7 文件的属性
- 6.4 字符类型函数和字符串操作函数
- 6.4.1 字符类型函数
- 6.4.2 字符串操作函数
- 6.5 时间函数
- 6.5.1 日历时间
- 6.5.2 程序运行时间
- 6.6 随机数函数
- 6.6.1 基本随机数函数
- 6.6.2 均匀分布随机数的生成
- 6.6.3 非均匀连续分布随机数的生成
- 6.6.4 离散分布随机数的生成
- 第7章 程序的优化
- 7.1 优化的作用和意义
- 7.2 优化的基本过程
- 7.2.1 运算时间和存储空间
- 7.2.2 优化可能性的判断
- 7.2.3 程序运行的整体计时
- 7.2.4 程序运行的分析计时和程序运行剖面
- 7.3 运行效率的改进策略和方法
- 7.3.1 调整代码
- 7.3.2 改进算法
- 7.3.3 空间换时间
- 7.3.4 改进数据结构
- 7.3.5 了解和适应硬件的特性
- 7.3.6 编译优化选项
- 7.4 空间效率的改进策略和方法
- 7.4.1 内存使用状况的检测
- 7.4.2 空间效率的改进方法
- 第8章 程序的风格、结构和组织
- 8.1 程序风格的要素
- 8.2 程序的描述
- 8.2.1 代码描述的层次
- 8.2.2 代码的函数封装
- 8.2.3 数据描述控制代码的执行
- 8.2.4 表达式的描述
- 8.2.5 预处理和变量初始化的使用
- 8.2.6 程序可靠性的设计要点
- 8.2.7 错误信息和日志文件
- 8.2.8 关于可移植性的考虑
- 8.2.9 程序中的注释
- 8.3 变量使用中的规则和风格
- 8.3.1 变量的命名
- 8.3.2 变量的命名空间和作用域
- 8.3.3 变量的生存周期和静态局部变量
- 8.3.4 全局变量的使用
- 8.3.5 变量与常量的比较
- 8.4 函数的参数和变长参数表
- 8.4.1 基于指针数组的变长参数处理机制
- 8.4.2 变长参数表
- 8.4.3 函数的参数传递
- 8.4.4 变长参数表的基本处理机制和工具
- 8.4.5 变长参数表和程序描述风格
- 8.4.6 vprintf()函数族
- 8.5 缓冲区溢出
- 8.6 常用编译预处理命令的使用
- 8.6.1 文件的包含
- 8.6.2 宏
- 8.6.3 系统预定义的宏
- 8.6.4 条件编译
- 8.7 编译选项指令:#pragma
- 8.8 源文件的拆分
- 8.8.1 源文件拆分的基本原则
- 8.8.2 源文件的类型和后缀
- 8.8.3 避免.h文件被重复引用
- 8.8.4 静态全局变量
- 8.8.5 可执行文件的生成和更新
- 附录A 标准头文件及其中的函数说明和符号常量
- 附录B cc/gcc的常用命令选项
- 附录C vi的基本操作命令
- 附录D ASCII编码表
- 附录E 函数printf()的常用描述符及其含义
- 示例索引
展开全部
出版方
机械工业出版社
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。