C语言程序设计

C语言程序设计
作 者: 黄维通 马力妮
出版社: 清华大学出版社
丛编项: 清华大学计算机基础教育课程系列教材
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: C
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《C语言程序设计》作者简介

内容简介

本书从C语言程序设计的基本原理及程序设计的基本思想出发,贯穿“基础-应用-专题”这一主线,紧扣基础,重点突出,循序渐进,面向应用。本教材基础部分的主要内容包括程序设计中的基本概念与应用,如变量、数组、控制结构等;在掌握了这些基本概念与应用的基础上引入函数的结构与应用、指针的概念及其应用、图形用户界面的设计与应用、算法设计与实现、结构型数据的应用及文件的操作等面向应用的知识点介绍;然后在上述知识点的基础上进一步介绍数据结构专题,包括链表、栈、队列和二叉树的概念与应用。本书语言表达严谨、流畅,实例丰富,书中例题的代码都做了详细注释,便于自学。与本书配套的《C语言程序设计电子教案》和《C语言程序设计习题解析》将由清华大学出版社出版。本书适合作为大专院校程序设计课程的入门教材,也可供计算机水平考试培训及各类成人教育等教学使用,还可供计算机爱好者自学。

图书目录

第1章 C语言的基本概念

1. 1 C语言的发展与特点

1. 1. 1 C语言的发展

1. 1. 2 C语言的特点

1. 2 几个基本概念

1. 2. 1 程序

1. 2. 2 程序设计

1. 2. 3 算法

1. 2. 4 数据结构

1. 3 软件工程的概念

1. 4 C语言程序的基本标识符

1. 5 C程序的几个简单实例

1. 6 C程序的结构特点

1. 7 C语言程序的编译和执行

习题

第2章 C语言程序的基本数据类型及其运算

2. 1 C语言的数据类型

2. 1. 1 数据类型的一般概念

2. 1. 2 常量

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 算术运算符和算术表达式

2. 3. 4 关系运算符和关系表达式

2. 3. 5 逻辑运算符和逻辑表达式

2. 3. 6 条件运算符

2. 3. 7 其他运算符

2. 4 位运算符

2. 4. l 按位取反运算符

2. 4. 2 移位运算符

2. 4. 3 按位与. 按位或. 按位异或

2. 5 C语言基本输人输出函数

2. 5. 1 字符输人输出函数

2. 5. 2 格式化输人输出函数

习题

第3章 C语言程序基本控制结构及其应用

3. 1 算法及结构化程序设计

3. l. l 算法及其特征

3. 1. 2 算法的类型与结构

3. 2 顺序结构程序设计

3. 3 分支结构程序设计

3. 3. l if分支

3. 3. 2 if-else分支

3. 3. 3 多分支 if… else

if… else形式

3. 3. 4 条件分支的嵌套

3. 3. 5 开关分支

3. 4 循环结构程序设计

3. 4. l while语句

3. 4. 2 do-while语句

3. 4. 3 for语句

3. 4. 4 三种循环的比较

3. 4. 5 多重循环

3. 4. 6 循环和开关分支的中途退出

3. 4. 7 goto语句

3. 4. 8 结构化程序设计注意事项

3. 5 结构化程序应用举例

习题

第4章 数组及其应用

4. l 一维数组

4. 1. l 一维数组的定义

4. 1. 2 一维数组的存储形式

4. 1. 3 一维数组的初始化

4. 1. 4 一维数组的引用

4. 1. 5 一维数组的应用举例

4. 2 多维数组

4. 2. 1 多维数组的定义

4. 2. 2 多维数组的存储形式

4. 2. 3 多维数组的引用

4. 2. 4 多维数组的初始化

4. 2. 5 多维数组的应用举例

4. 3 字符型数组与字符串

4. 3. 1 字符型数组的概念

4. 3. 2 字符型数组的初始化

4. 3. 3 字符型数组的输人输出

4. 3. 4 字符型数组的应用举例

4. 4 综合应用举例

习题

第5章 函数及其应用

5. 1 函数的定义与调用

5. 1. 1 C源程序的结构

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. 3. 4 字符数组作函数的参数

5. 4 递归函数与递归调用

5. 4. 1 递归的概念

5. 4. 2 递归程序的设计

5. 5 变量的存储类型及作用域

5. 5. l auto型变量

5. 5. 2 extern型变量

5. 5. 3 register型变量

5. 5. 4 静态变量

习题

第6章 指针

6. l 指针的基本概念及定义方式

6. 1. 1 指针的基本概念

6. 1. 2 指针的定义

6. l. 3 指针的初始化

6. 1. 4 指针运算符

6. 2 指针的运算

6. 2. 1 指针的算术运算

6. 2. 2 关系运算

6. 2. 3 指针的赋值运算

6. 3 指针与数组

6. 3. l 指向一维数组的指针

6. 3. 2 指向多维数组的指针

6. 4 字符指针和字符串

6. 5 指针数组

6. 5. 1 指针数组的概念

6. 5. 2 指针数组的应用

6. 5. 3 指针数组在带形参的main函数中的应用

6. 6 指针在函数参数传递中的应用

6. 7 指针型函数

6. 7. 1 指针型函数的定义和引用

6. 7. 2 指针型函数的应用举例

6. 8 多级指针

6. 8. l 多级指针的概念及定义

6. 8. 2 多级指针应用举例

6. 9 指向函数的指针

6. 9. 1 指向函数的指针的概念

6. 9. 2 指向函数的指针的应用

6. 10 动态指针

6. 10. l 动态内存分配的概念

6. 10. 2 动态内存分配的应用

习题

*第7章 图形设计与应用

7. l 用C语言图形库函数绘图

7. 1. l 显示方式及图形方式的初始化

7. 1. 2 常用图形函数

7. 2 复杂图形的绘制和图形程序设计方法

7. 2. 1 复杂图形的绘制

7. 2. 2 图形程序设计中的递归算法及其应用

习题

第8章 结构体. 联合体和枚举

8. l 结构体的说明和定义

8. 1. 1 什么叫结构体

8. 1. 2 结构体的说明及结构体变量的定义

8. 2 结构体成员的引用与结构体变量的初始化

8. 2. 1 结构体成员的引用

8. 2. 2 结构体变量的初始化

8. 3 结构体数组

8. 3. 1 结构体数组的定义及初始化

8. 3. 2 结构体数组的应用举例

8. 4 结构体指针

8. 4. 1 结构体指针及其定义

8. 4. 2 通过指针引用结构体成员

8. 4. 3 结构体指针的应用举例

8. 5 结构体在函数间的传递

8. 5. l 结构体变量的传递

8. 5. 2 结构体数组在函数间的传递

8. 6 结构体指针型和结构体型函数

8. 6. l 结构体指针型函数

8. 6. 2 结构体型函数

8. 7 结构体嵌套

8. 7. l 什么是结构体嵌套

8. 7. 2 嵌套结构体类型变量的引用

8. 7. 3 结构体嵌套应用举例

8. 8 联合体

8. 8. 1 联合体的说明及联合体变量的定义

8. 8. 2 使用联合体变量应注意的问题

8. 9 枚举类型

8. 9. l 枚举类型数据的概念及其定义

8. 9. 2 枚举型变量的使用

8. 10 自定义类型

8. 10. 1 自定义类型及其表示形式

8. 10. 2 自定义类型的优点

8. 11 位字段结构体

习题

*第9章 排序及查找算法及其实现

9. l 排序概述

9. 1. l 排序的概念

9. l. 2 排序的定义

9. 1. 3 排序的方法

9. 1. 4 排序效率

9. 2 冒泡排序法的设计及其实现

9. 2. l 冒泡算法设计思想

9. 2. 2 冒泡算法的实现

9. 3 选择排序法的设计及其实现

9. 3. l 选择排序法设计思想

9. 3. 2 选择排序法的实现

9. 4 插入排序法的设计及其实现

9. 4. l 插入排序法设计思想

9. 4. 2 插入排序法的实现

9. 5 SHELL排序法的设计及其实现

9. 5. 1 SHELL排序法设计思想

9. 5. 2 SHELL排序法的实现

9. 6 字符串数组的排序设计及其实现

9. 6. l 字符串数组的排序算法设计思想

9. 6. 2 字符串数组排序算法的实现

9. 7 查找概述

9. 8 顺序查找及其应用

9. 8. 1 顺序查找算法的设计思想

9. 8. 2 顺序查找算法的实现

9. 9 折半查找及其应用

9. 9. l 折半查找算法的设计思想

9. 9. 2 折半查找算法的实现

习题

第10章 文件操作

10. 1 文件的概念

10. 2 文件的基本操作

10. 2. 1 文件的打开

10. 2. 2 文件的关闭

10. 2. 3 文件的删除

10. 2. 4 文件的重命名

10. 2. 5 临时文件的创建

10. 3 文件的读写操作

10. 3. l 文件的非格式化读写

10. 3. 2 文件的格式化写操作

10. 3. 3 文件的格式化读操作

10. 4 文件的定位

10. 4. l fgetpos函数

10. 4. 2 fsetpos函数

10. 4. 3 ftell函数

10. 4. 4 fseek函数

10. 4. 5 feof函数

10. 5 错误处理

10. 5. l ferror函数

10. 5. 2 perror函数

习题

*第11章 链表及其应用

11. l 链表的基本概念

11. 1. 1 链表的定义及基本结构

11. 1. 2 动态内存分配

11. 2 链表的基本操作方法

11. 2. l 链表的建立

11. 2. 2 链表结点的访问

11. 2. 3 同结构链表的连接

11. 2. 4 链表结点的插入

11. 2. 5 结点的删除

11. 2. 6 释放链表存储空间

11. 3 循环链表

11. 4 双向链表

11. 5 链表的应用

习题

*第12章 栈及其应用

12. l 栈的定义及其基本操作

12. 2 栈的实现

12. 2. 1 栈的数组实现

12. 2. 2 栈的链式存储实现

12. 3 进制转换--栈的应用实例

12. 3. 1 进制转换的算法

12. 3. 2 算法的实现

习题

*第13章 队列及其应用

13. 1 队列的定义及基本操作

13. 2 队列的实现

13. 2. 1 用循环数组实现队列

13. 2. 2 用线性表实现队列操作

13. 3 队列的应用

习题

* 第14章 二叉树及其应用

14. l 树的概念

14. 2 关于树的一些术语及特性

14. 3 二叉树的特点与数学性质

14. 3. l 二叉树的特点

14. 3. 2 两种特殊形态的二叉树

14. 3. 3 二叉树的数学性质

14. 4 二叉树的基本操作及其实现

14. 4. 1 二叉树的基本操作

14. 4. 2 二叉树基本操作的实现

14. 5 二叉树的应用

习题

附录A 预处理命令的应用

附录B Turbo C 3. 0的上机过程

附录C Turbo C 3. 0程序的调试

附录D ASCll码表

参考文献