当前位置:首页 > 工业技术
C程序设计教程
C程序设计教程

C程序设计教程PDF电子书下载

工业技术

  • 电子书积分:11 积分如何计算积分?
  • 作 者:黄维通等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2011
  • ISBN:9787302236900
  • 页数:257 页
图书介绍:本书从C语言程序设计的基本原理及程序设计的基本思想出发,贯穿了“基础-应用”这一主线,基础部分包括程序设计中的基本概念及应用,还适时引入函数的结构与应用、指针的概念及应用、算法设计与实现等知识。
《C程序设计教程》目录

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

1.1 程序设计语言的历史和发展 1

1.2 程序设计过程中的几个基本概念 2

1.2.1 程序 2

1.2.2 程序设计 3

1.2.3 算法 3

1.2.4 数据结构 4

1.3 软件工程的概念 4

1.4 C语言的发展与特点 5

1.4.1 C语言的发展和ANSI C标准 5

1.4.2 C语言的特点 6

1.5 C语言程序的基本标识符 6

1.6 C程序的几个简单实例 8

1.7 C程序的结构特点 10

1.8 C语言程序的编译和执行 11

1.9 习题 12

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

2.1 C语言的数据类型 14

2.1.1 数据类型的一般概念 14

2.1.2 常量 15

2.2 数据类型及变量 18

2.2.1 基本数据类型 18

2.2.2 变量及变量的定义 19

2.2.3 变量的初始化 19

2.2.4 数据类型转换 20

2.3 运算符和表达式 22

2.3.1 运算符和表达式概述 22

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

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

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

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

2.3.6 条件运算符 27

2.3.7 其他运算符 28

2.4 位运算符 29

2.4.1 按位取反运算符 29

2.4.2 移位运算符 30

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

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

2.5.1 字符输入输出函数 32

2.5.2 格式化输入输出函数 33

2.6 习题 38

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

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

3.1.1 算法及其特征 40

3.1.2 算法的类型与结构 42

3.2 顺序结构程序设计 43

3.3 分支结构程序设计 44

3.3.1 if分支 44

3.3.2 if-else分支 44

3.3.3 多分支if-else if-else形式 45

3.3.4 条件分支的嵌套 46

3.3.5 开关分支 48

3.4 循环结构程序设计 51

3.4.1 while语句 51

3.4.2 do-while语句 51

3.4.3 for语句 52

3.4.4 3种循环的比较 53

3.4.5 多重循环 54

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

3.4.7 goto语句 56

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

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

3.6 习题 59

第4章 数组及其应用 63

4.1 一维数组 63

4.1.1 一维数组的定义 63

4.1.2 一维数组的初始化 64

4.1.3 一维数组的引用 65

4.1.4 一维数组的应用举例 66

4.2 多维数组 68

4.2.1 多维数组的定义 68

4.2.2 多维数组的存储形式 68

4.2.3 多维数组的引用 69

4.2.4 多维数组的初始化 69

4.2.5 多维数组的应用举例 71

4.3 字符型数组与字符串 72

4.3.1 字符型数组的概念 72

4.3.2 字符型数组的初始化 73

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

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

4.4 综合应用举例 76

4.5 习题 78

第5章 函数及其应用 80

5.1 函数的定义与调用 80

5.1.1 C源程序的结构 80

5.1.2 函数的定义 81

5.1.3 函数的调用 83

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

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

5.2.2 函数调用结果的返回 90

5.3 函数与数组 93

5.3.1 数组元素作实参 93

5.3.2 一维数组名作实参 93

5.3.3 多维数组名作参数 95

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

5.4 递归函数与递归调用 97

5.4.1 递归的概念 97

5.4.2 递归程序的设计 98

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

5.5.1 auto型变量 100

5.5.2 extern型变量 100

5.5.3 静态变量 103

5.6 习题 105

第6章 指针 108

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

6.1.1 指针的基本概念 108

6.1.2 指针的定义 109

6.1.3 指针的初始化 109

6.1.4 指针运算符 111

6.2 指针的运算 111

6.2.1 指针的算术运算 111

6.2.2 指针的关系运算 113

6.2.3 指针的赋值运算 113

6.3 指针与数组 114

6.3.1 指向一维数组的指针 114

6.3.2 指向多维数组的指针 116

6.4 字符指针和字符串 118

6.5 指针数组 119

6.5.1 指针数组的概念 119

6.5.2 指针数组的应用 121

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

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

6.7 指针型函数 124

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

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

6.8 多级指针 125

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

6.8.2 多级指针应用举例 126

6.9 指向函数的指针 127

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

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

6.10 动态指针 130

6.10.1 动态内存分配的概念 130

6.10.2 动态内存分配的应用 131

6.11 习题 133

第7章 排序及查找算法及其实现 136

7.1 排序概述 136

7.1.1 排序的概念 136

7.1.2 排序的定义 136

7.1.3 排序的方法 137

7.1.4 排序效率 137

7.2 冒泡排序法的设计及其实现 139

7.2.1 冒泡算法设计思想 139

7.2.2 冒泡算法的实现 140

7.3 选择排序法的设计及其实现 141

7.3.1 选择排序法设计思想 141

7.3.2 选择排序法的实现 142

7.4 插入排序法的设计及其实现 143

7.4.1 插入排序法设计思想 143

7.4.2 插入排序法的实现 144

7.5 Shell排序法的设计及其实现 145

7.5.1 Shell排序法设计思想 145

7.5.2 Shell排序法的实现 146

7.6 字符串数组的排序设计及其实现 148

7.6.1 字符串数组的排序算法设计思想 148

7.6.2 字符串数组排序算法的实现 149

7.7 查找概述 150

7.8 顺序查找及其应用 151

7.8.1 顺序查找算法的设计思想 151

7.8.2 顺序查找算法的实现 151

7.9 折半查找及其应用 152

7.9.1 折半查找算法的设计思想 152

7.9.2 折半查找算法的实现 153

7.10 习题 154

第8章 结构体、联合体和枚举 155

8.1 结构体的说明和定义 155

8.1.1 认识结构体 155

8.1.2 结构体的说明及结构体变量的定义 156

8.2 结构体成员的引用与结构体变量的初始化 159

8.2.1 结构体成员的引用 159

8.2.2 结构体变量的初始化 160

8.3 结构体数组 161

8.3.1 结构体数组的定义及初始化 161

8.3.2 结构体数组的应用举例 162

8.4 结构体指针 163

8.4.1 结构体指针及其定义 163

8.4.2 通过指针引用结构体成员 164

8.4.3 结构体指针的应用举例 165

8.5 结构体在函数间的传递 168

8.5.1 结构体变量的传递 168

8.5.2 结构体数组在函数间的传递 171

8.6 结构体指针型和结构体型函数 172

8.6.1 结构体指针型函数 172

8.6.2 结构体型函数 174

8.7 结构体嵌套 176

8.7.1 认识结构体嵌套 176

8.7.2 嵌套结构体类型变量的引用 177

8.7.3 结构体嵌套应用举例 178

8.8 联合体 179

8.8.1 联合体的说明及联合体变量的定义 179

8.8.2 使用联合体变量应注意的问题 184

8.9 枚举类型 186

8.9.1 枚举类型数据的概念及其定义 186

8.9.2 枚举型变量的使用 187

8.10 自定义类型 189

8.10.1 自定义类型及其表示形式 189

8.10.2 自定义类型的优点 190

8.11 位字段结构体 191

8.12 习题 191

第9章 文件操作 195

9.1 文件概述 195

9.2 文件的基本操作 199

9.2.1 文件的打开 199

9.2.2 文件的关闭 200

9.2.3 文件的删除 200

9.2.4 文件的重命名 201

9.2.5 临时文件的创建 201

9.3 文件的读写操作 202

9.3.1 文件的非格式化读写 202

9.3.2 文件的格式化写操作 208

9.3.3 文件的格式化读操作 210

9.4 文件的定位 211

9.4.1 fgetpos函数 211

9.4.2 fsetpos函数 211

9.4.3 ftell函数 211

9.4.4 fseek函数 212

9.4.5 feof函数 213

9.5 错误处理 213

9.5.1 ferror函数 213

9.5.2 perror函数 213

9.6 习题 214

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

A.1 预处理概述 220

A.2 宏定义 220

A.2.1 无参宏定义 220

A.2.2 带参宏定义 224

A.3 文件包含 228

A.4 条件编译 228

A.4.1 第1种条件编译形式 229

A.4.2 第2种条件编译形式 230

A.4.3 第3种条件编译形式 230

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

B.1 文件的建立与保存 232

B.2 文件的编辑 233

B.3 编译连接 234

B.4 程序的运行 235

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

C.1 程序的调试 237

C.1.1 有关调试的设置 237

C.1.2 设置断点及动态调试的基本操作 238

C.2 程序调试实例 240

C.2.1 添加断点 241

C.2.2 观察变量 242

C.2.3 单步执行 242

C.2.4 观察调用关系 242

C.2.5 终止调试 242

C.2.6 条件断点 242

C.2.7 动态修改变量值 243

附录D Turbo C 3.0常用的库函数 244

附录E ASCII码表 256

参考文献 257

相关图书
作者其它书籍
返回顶部