《C程序设计教程》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:黄维通,鲁明羽编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2005
  • ISBN:730211465X
  • 页数:218 页
图书介绍:本书强调基本概念、基本原理和基本应用,在此基础上引入函数、指针、算法设计、结构型数据、文件的概念及应用。

目录 1

第1章 C语言的基本概念 1

1.1 C语言的发展与特点 1

1.1.1 C语言的发展 1

1.1.2 C语言的特点 1

1.2  几个基本概念 2

1.2.1 程序与程序设计 2

1.2.2 算法 3

1.2.3 数据结构 3

1.3 软件工程的概念 3

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

1.5 C程序的几个简单实例 5

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

习题 8

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

2.1 C语言的数据类型 10

2.1.1 数据类型的一般概念 10

2.1.2 常量 11

2.2 数据类型及变量 14

2.2.1 基本数据类型 14

2.2.2 变量及变量的定义 15

2.2.3 变量的初始化 15

2.2.4 数据类型转换 16

2.3 运算符和表达式 18

2.3.1 运算符和表达式概述 18

2.3.2 赋值运算符和赋值表达式 19

2.3.3 算术运算符和算术表达式 20

2.3.4 关系运算符和关系表达式 22

2.3.5 逻辑运算符和逻辑表达式 23

2.3.6 条件运算符 23

2.3.7 其他运算符 24

2.4 位运算符 25

2.4.1 按位取反运算符 25

2.4.2 移位运算符 26

2.4.3 按位“与”、按位“或”、按位“异或” 26

2.5 C语言基本输入输出函数 28

2.5.1 字符输入输出函数 28

2.5.2 格式化输入输出函数 29

习题 34

第3章 基本控制结构及其应用 36

3.1 算法及结构化程序设计 36

3.1.1 算法及其特征 36

3.1.2 算法的类型与结构 38

3.2 顺序结构程序设计 39

3.3 分支结构程序设计 40

3.3.1 if分支 40

3.3.2 if-else分支 40

3.3.3 多分支if…else if…else形式 41

3.3.4 条件分支的嵌套 42

3.3.5 开关分支 44

3.4.2 do-while语句 47

3.4.1 while语句 47

3.4 循环结构程序设计 47

3.4.3 for语句 48

3.4.4 三种循环的比较 49

7.7.3 结构体嵌套应用举例 1 50

3.4.5 多重循环 50

3.4.6 循环和开关分支的中途退出 51

3.4.7 goto语句 52

3.4.8 结构化程序设计注意事项 53

3.5 结构化程序设计及应用举例 54

7.8.2 使用联合体变量应注意的问题 1 54

习题 55

第4章 数组及其应用 59

4.1 一维数组 59

4.1.1 一维数组的定义 59

4.1.2 一维数组的初始化 60

4.1.3 一维数组的引用 61

4.1.4 一维数组的应用举例 62

第8章 排序及查找算法及其实现 1 64

4.2 多维数组 64

4.2.2 多维数组的存储形式 64

4.2.1 多维数组的定义 64

4.2.4 多维数组的初始化 65

4.2.3 多维数组的引用 65

4.2.5 数组应用举例 67

4.3 字符型数组与字符串 68

4.3.1 字符型数组的概念 68

4.3.2 字符型数组的初始化 69

4.3.3 字符型数组的输入输出 70

4.3.4 字符型数组的应用举例 71

4.4 综合应用举例 72

习题 74

第5章 函数及其应用 76

5.1 函数的定义与调用 76

5.1.1 C源程序的结构 76

5.1.2 函数的定义 77

5.1.3 函数的调用 79

5.2 函数间的信息传递方式 82

5.2.1 实参-形参之间的信息传递 83

5.2.2 函数调用结果的返回 86

5.3 函数与数组 89

5.3.1 数组元素作实参 89

5.3.2 一维数组名作实参 89

5.3.3 多维数组名作参数 91

5.3.4 字符数组作函数的参数 92

5.4 递归函数与递归调用 93

5.4.1 递归的概念 93

5.4.2 递归程序的设计 94

5.5 变量的存储类型及作用域 95

5.5.1 auto型变量 96

5.5.2 extern型变量 96

5.5.3 静态变量 99

习题 101

6.1.1 指针的基本概念 104

6.1 指针的基本概念及定义方式 104

第6章 指针 104

6.1.2 指针的定义 105

6.1.3 指针的初始化 105

6.1.4 指针运算符 107

6.2.1 指针的算术运算 107

6.2 指针的运算 107

6.2.3 指针的赋值运算 109

6.2.2 关系运算 109

6.3 指针与数组 110

6.3.1 指向一维数组的指针 110

6.3.2 指向多维数组的指针 112

6.4 字符指针和字符串 114

6.5 指针数组 115

6.5.1 指针数组的概念 115

6.5.2 指针数组的应用 117

6.5.3 指针数组在带形参的main函数中的应用 117

6.6 指针在函数参数传递中的应用 119

6.7 指针型函数 120

6.7.1 指针型函数的定义和引用 120

6.7.2 指针型函数的应用举例 120

6.8.1 多级指针的概念及定义 121

6.8 多级指针 121

6.8.2 多级指针应用举例 122

6.9 指向函数的指针 123

6.9.1 指向函数的指针的概念 123

6.9.2 指向函数的指针的应用 124

6.10 动态指针 126

6.10.1 动态内存分配的概念 126

6.10.2 动态内存分配的应用 127

习题 129

第7章 结构体、联合体和枚举 132

7.1 结构体的说明和定义 132

7.1.1 什么叫结构体 132

7.1.2 结构体的说明及结构体变量的定义 132

7.2 结构体成员的引用与结构体变量的初始化 135

7.2.1 结构体成员的引用 135

7.2.2 结构体变量的初始化 136

7.3 结构体数组 137

7.3.1 结构体数组的定义及初始化 137

7.3.2 结构体数组的应用举例 137

7.4 结构体指针 138

7.4.1 结构体指针及其定义 138

7.4.2 通过指针引用结构体成员 139

7.5 结构体在函数间的传递 141

7.5.1 结构体变量的传递 141

7.5.2 结构体数组在函数间的传递 144

7.6.1 结构体指针型函数 145

7.6 结构体指针型和结构体型函数 145

7.6.2 结构体型函数 147

7.7 结构体嵌套 148

7.7.1 什么是结构体嵌套 148

7.7.2 嵌套结构体类型变量的引用 149

7.8 联合体 151

7.8.1 联合体的说明及联合体变量的定义 151

7.9.1 枚举类型数据的概念及其定义 156

7.9 枚举类型 156

7.9.2 枚举型变量的使用 157

7.10 自定义类型 159

7.10.1 自定义类型及其表示形式 159

7.10.2 自定义类型的优点 160

习题 161

8.1 排序概述 164

8.1.1 排序的概念 164

8.1.2 排序的方法 164

8.2.2 冒泡算法的实现 165

8.2 冒泡排序法的设计及其实现 165

8.2.1 冒泡算法设计思想 165

8.3 选择排序法的设计及其实现 167

8.3.1 选择排序法设计思想 167

8.3.2 选择排序法设计的实现 167

8.4 插入排序法的设计及其实现 169

8.4.1 插入排序法设计思想 169

8.4.2 插入排序法的实现 169

8.5 SHELL排序法的设计及其实现 171

8.5.1 SHELL排序法设计思想 171

8.5.2 SHELL排序法的实现 172

8.6.1 顺序查找及其应用 173

8.6 查找概述 173

8.6.2 折半查找及其应用 175

习题 176

第9章 文件操作 177

9.1 文件概述 177

9.2 文件的基本操作 178

9.2.1 文件的打开 178

9.2.2 文件的关闭 179

9.2.3 文件的重命名 180

9.3 文件的读写操作 180

9.3.1 文件的非格式化读写 180

9.3.2 文件的格式化写操作 185

9.3.3 文件的格式化读操作 187

9.4 文件的定位 189

9.4.1 fgetpos函数 189

9.4.2 fsetpos函数 189

9.4.3 ftell函数 189

9.4.4 fseek函数 189

9.4.5 feof函数 191

习题 191

附录A 预处理命令的应用 193

附录B Turbo C 3.0的上机过程 205

附录C Turbo C 3.0程序的调试 210

附录D ASCII码表 217

参考文献 218