新概念C程序设计大学教程(C99版) / 高等教育质量工程信息技术系列示范教材
作者: 张基温
出版时间:2015年9月
出版社:清华大学出版社
- 清华大学出版社
- 9787302394433
- 1-1
- 117506
- 0045168157-1
- 平装
- 16开
- 2015年9月
- 工学
- 软件工程
- TP312C
- 计算机
- 本科
本书结构新颖、概念准确,鱼渔并重、例题经典、习题丰富、题型全面,适应面宽、注重效果,适合教学、兼顾自学,并以C99作为蓝本,可以作为高等学校各专业的新一代程序设计课程教材,也可供从事程序设计相关领域的人员自学或参考。
第1篇 程途启步
第1单元 简单程序设计
1.1 C语言程序主框架
1.1.1 用伪代码描述的简单计算器程序算法
1.1.2 将伪代码描述的算法逐步细化为C程序
1.2 数据类型与数据形式
1.2.1 数据类型
1.2.2 程序中的数据形式及其引用方式
1.3 标识符与声明
1.3.1 标识符
1.3.2 声明
1.3.3 变量的声明与初始化
1.4 操作符
1.4.1 赋值操作符与赋值表达式
1.4.2 算术操作符与算术表达式
1.4.3 操作符的优先级与结合性
1.5 函数
1.5.1 函数及其应用过程
1.5.2 函数调用与函数返回
1.5.3 函数定义
1.5.4 局部变量
1.5.5 函数声明
1.5.6 main()函数
1.5.7 函数库、头文件与文件包含命令
1.6 格式化输入/输出函数
1.6.1 printf()函数的基本用法
1.6.2 scanf()的基本用法
1.7 C程序的编译与执行
1.7.1 C语言程序的编译与连接
1.7.2 程序中的错误和异常
1.7.3 程序测试
1.7.4 设计用户友好的程序
习题1
第2单元 选择程序设计
2.1 可选择计算类型的计算器程序算法分析
2.1.1 主函数的算法分析
2.1.2 计算函数calculate()的算法分析
2.1.3 判等操作符与关系操作符
2.2 if-else型选择结构
2.2.1 用if-else结构实现的calculate()函数
2.2.2 if-else结构的应用特点
2.2.3 良好的程序书写风格
2.3 选择结构的程序测试
2.3.1 白箱测试法
2.3.2 等价分类法
2.4 字符类型
2.4.1 ASCII码
2.4.2 char类型的基本特点
2.4.3 转义字符
2.4.4 字符的输入/输出
2.5 浮点类型
2.5.1 浮点类型取值范围与表数精度
2.5.2 浮点类型变量和字面量
2.5.3 浮点类型数据的操作
2.6 switch型选择结构
2.6.1 基于整数值匹配的选择结构——switch结构
2.6.2 一个字符分类程序
2.6.3 用switch结构实现的calculate()函数
2.6.4 switch结构与if-else结构的比较
习题2
第3单元 重复程序设计
3.1 可连续计算的计算器程序的算法分析
3.1.1 主函数初步算法
3.1.2 主函数算法细化
3.1.3 重复结构的C语言实现途径
3.2 while结构
3.2.1 while结构的基本机理
3.2.2 使用while结构的可连续计算的计算器主函数
3.2.3 逗号操作符
3.3 do-while结构
3.3.1 do-while结构的基本机理
3.3.2 使用do-while结构的可连续计算的计算器程序主函数
3.4 for结构
3.4.1 for结构的基本机理
3.4.2 使用for结构的可连续计算的计算器程序主函数
3.4.3 计数型重复结构
3.4.4 复合赋值操作符与增值、减值操作符
3.5 重复结构的程序测试
3.5.1 基于路径覆盖的重复结构测试
3.5.2 边值分析法与重复结构测试
3.5.3 基于因果分析的程序测试
3.6 在重复体内控制重复过程
3.6.1 跳出当前层控制结构语句break
3.6.2 提前结束当前重复体语句continue
3.6.3 实例:求素数
习题3
第2篇 组织数据
第4单元 同类型数据的聚合类型:数组
4.1 一维数组
4.1.1 数组的特点
4.1.2 数组的定义
4.1.3 数组初始化
4.1.4 访问下标变量
4.2 二维数组
4.2.1 二维数组的概念
4.2.2 二维数组的初始化
4.2.3 访问二维数组元素
4.3 字符串
4.3.1 字符串字面量
4.3.2 字符串变量
4.3.3 字符串的输入/输出
4.3.4 字符串操作库函数
习题4
第5单元 描述一类对象属性的聚合类型:结构体和共用体
5.1 结构体类型与结构体变量
5.1.1 结构体类型及其定制
5.1.2 结构体变量的声明与初始化
5.1.3 结构体变量及其分量的应用
5.2 用结构体数组存储一组学生信息
5.2.1 结构体数组的定义与初始化
5.2.2 结构体数组元素的访问
5.3 共用体类型
5.3.1 共用体类型的定制与共用体变量的定义
5.3.2 共用体类型与结构体类型的比较
5.3.3 共用体变量的应用
习题5
第6单元 指针
6.1 指针类型与指针变量
6.1.1 指针=基类型+地址
6.1.2 同类型指针间的赋值与判等操作
6.1.3 指针的递引用
6.1.4 悬空指针、空指针与void指针
习题6.1
6.2 数组的指针形式
6.2.1 数组名与指向数组元素的指针
6.2.2 指向数组元素指针的加减运算
6.2.2 指针与字符串
6.2.3 二维数组与指针
习题6.2
6.3 指向结构体变量的指针与链表
6.3.1 指向结构体类型变量的指针
6.3.2 链表及其特点
6.3.3 构建链表
习题6.3
6.4 动态存储分配
6.4.1 申请需要的存储空间
6.4.2 释放一个指针指向的存储空间
6.4.3 修改一个指针指向的存储空间大小
6.4.4 构建动态链表
习题6.4
第3篇 构建算法
第7单元 基础算法
7.1 穷举
7.1.1 搬砖问题
7.1.2 推断名次
习题7.1
7.2 迭代与递推
7.2.1 用二分迭代法求方程在指定区间的根
7.2.2 猴子吃桃子
7.2.3 用辗转相除法求两个正整数的最大公因子
习题7.2
7.3 递归
7.3.1 阶乘的递归计算
7.3.2 汉诺塔
习题7.3
第8单元 计算机模拟
8.1 随机问题模拟
8.1.1 产品随机抽样
8.1.2 用蒙特卡洛法求π的近似值
习题8.1
8.2 基于步长的模拟
8.2.1 事件步长法——中子扩散问题
8.2.2 时间步长法——盐水池问题
习题8.2
第9单元 数据处理
9.1 排序
9.1.1 直接选择排序
9.1.2 冒泡排序
习题9.1
9.2 查找
9.2.1 穷举查找
9.2.2 二分查找
习题9.2
第4篇 语海探幽
第10单元 算术数据类型及其转换
10.1 C数据类型概览
10.2 整数类型
10.2.1 有符号整数类型与无符号整数类型
10.2.2 标准整数类型与扩展整数类型
10.2.3 整数类型的极值宏
10.2.4 char类型
10.2.5 枚举
10.2.6 _Bool类型
10.3 浮点类型
10.3.1 浮点类型的值特性
10.3.2 浮点数据的舍入模式
10.3.3 浮点数据的求值特性
10.3.4 IEEE754标准
10.3.5 关于浮点数的判等操作
10.3.6 _Complex类型和_Imaginary类型
10.4 数据类型转换
10.4.1 普通算术转换——提升拉齐规则
10.4.2 传送转换——与目的类型一致原则
10.4.3 数据的显式类型转换规则
10.4.4 数据类型转换注意事项
习题10
第11单元 C语言中的常量
11.1 字面量
11.1.1 整数字面量的表