《C语言程序设计》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:孙宏昌,王燕来编著
  • 出 版 社:北京:高等教育出版社
  • 出版年份:1999
  • ISBN:7040066882
  • 页数:341 页
图书介绍:本书是为成人高等教育工学有关专业学生学习C语言程序设计课程而编写的一本教材,主要内容包括:C语言的基本概念、数据类型、C语言程序结构、数组、指针、函数、结构、联合与枚举、标准库函数、文件系统、动态存储分配等。

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

1.1 C语言的发展与特点 1

1.1.1 C语言的发展 1

7.10 枚举类型 25 1

1.1.2 C语言的特点 2

1.2 C语言的基本成分 2

1.2.1 字符集 2

1.2.2 标识符 3

1.3.1 C程序的实例 4

1.3 C语言程序的结构特点和书写风格 4

1.3.2 C程序的结构特点 6

1.3.3 C程序的书写风格 7

1.4 C语言程序的编译和执行 8

1.5 小结 10

9.3 条件编译 3 10

思考与练习 11

2.1.2 C语言的数据类型 12

9.5 分别编译 3 12

2.1 C语言的数据类型 12

第二章 数据类型、运算符及表达式 12

2.1.1 数据类型的一般概念 12

2.2 常量 13

2.2.1 数 13

2.2.2 字符常量 14

2.2.4 转换字符 15

2.2.3 字符串常量 15

2.2.5 符号常量 16

2.3 变量及其说明 17

2.3.1 变量 17

2.3.2 基本数据类型 17

2.3.3 变量的定义 18

2.3.4 变量的初始化 19

2.4 数据类型转换 20

2.4.1 隐式类型转换 20

2.4.2 显式类型转换 22

2.5 运算符和表达式 23

2.5.1 运算符和表达式概述 23

2.5.2 算术运算符及算术表达式 23

2.5.3 赋值运算符和赋值表达式 26

2.5.4 关系运算符和关系表达式 28

2.5.5 逻辑运算符和逻辑表达式 29

2.5.6 三项条件运算符 30

2.5.7 其它运算符 31

2.6 位运算符 32

2.6.1 按位取反运算符 32

2.6.2 移位运算符 32

2.6.3 按位“与”、按位“或”、按位“异或” 33

2.6.4 位复合赋值运算符 35

2.7 小结及举例 35

2.7.1 小结 35

2.7.2 应用举例 37

思考与练习 39

第三章 C语言程序的控制结构和结构化程序设计 42

3.1 算法及其描述 42

3.1.1 算法与程序设计 42

3.1.2 算法的基本概念 42

3.1.4 算法的类型与结构 44

3.1.3 算法的基本特征 44

3.1.5 算法的描述工具 46

3.1.6 结构化程序设计 49

3.2 C语言的语句概述与控制结构 50

3.2.1 C语言的语句概述 50

3.2.2 C程序的控制结构 51

3.3 顺序结构程序设计 52

3.3.1 赋值语句 52

3.3.2 数据的输入/输出 53

3.3.3 顺序程序设计及举例 56

3.4 分支程序设计 60

3.4.1 if-else分支 60

3.4.2 if分支 61

3.4.3 条件分支的嵌套 62

3.4.4 if-else if结构 64

3.4.5 开关分支 66

3.4.6 条件分支程序设计举例 70

3.5.1 while语句 76

3.5 循环程序设计 76

3.5.2 do-while语句 77

3.5.3 for语句 79

3.5.4 三种循环的比较 81

3.5.5 多重循环 82

3.5.6 循环和开关分支的中途退出 85

3.5.7 goto语句 88

6.7.2 指针型函数的应用举例 1 89

3.5.8 循环结构程序设计举例 89

3.6.1 结构化程序的构造 91

3.6 结构化程序设计及应用举例 91

3.6.2 构造结构化程序应注意的问题. 92

3.6.3 结构化程序举例 94

3.7 小结 99

思考与练习 100

第四章 数组及其应用 105

4.1 一维数组 105

4.1.1 一维数组的定义 105

4.1.2 一维数组的存储形式 106

4.1.3 一维数组的引用 106

4.1.4 一维数组的初始化 107

4.1.5 一维数组的应用举例 107

4.2 多维数组 109

4.2.1 多维数组的定义 109

4.2.2 多维数组的存储形式 110

4.2.3 多维数组的引用 111

4.2.4 多维数组的初始化 111

4.2.5 多维数组应用举例 113

4.3.1 字符型数组的概念 115

4.3.2 字符型数组的初始化 115

4.3 字符型数组与字符串 115

4.3.3 字符型数组的输入/输出 116

4.3.4 字符数组的应用举例 117

4.4 小结与举例 119

4.4.1 小结 119

4.4.2 应用举例 119

思考与练习 122

第五章 指针 124

5.1 指针的基本概念 124

5.1.1 什么叫指针 124

5.1.3 目标运算符 125

5.1.2 指针的目标变量 125

5.2 指针的定义与初始化 126

5.2.1 指针的定义 126

5.2.2 指针的初始化 127

5.3 指针的运算 129

5.3.1 指针的算术运算 129

5.3.2 关系运算 132

5.3.3 指针的赋值运算 133

5.4 指针与数组 133

5.5 字符指针和字符串 136

5.6 指针数组 138

5.6.1 指针数组的概念 138

5.6.2 指针数组的应用 140

5.7.1 多级指针的概念 143

5.7 多级指针 143

5.7.2 多级指针应用举例 146

5.8 命令行参数 147

5.9 小结及应用举例 149

5.9.1 小结 149

5.9.2 指针的应用举例 150

思考与练习 151

第六章 函数 153

6.1.1 软件的模块化设计方法 153

6.1 软件的模块化设计方法及C语言程序的结构 153

6.1.2 C语言的程序结构 154

6.2.2 函数的定义 155

6.2 函数的定义和引用 155

6.2.1 函数的数据类型 155

6.2.3 函数的引用 158

6.2.4 C程序的执行过程 161

6.3.1 C语言程序的存储空间分配和变量的存储类型 163

6.3 变量的存储类型及作用域 163

6.3.2 自动型 164

6.3.3 寄存器变量 165

6.3.4 静态变量 166

6.3.5 外部变量 168

6.4.1 传值方式 176

6.4 函数间的通信方式 176

6.4.2 地址复制方式 178

6.4.3 利用参数返回结果 180

6.4.4 利用函数返回值传递数据 181

6.4.5 利用全局变量传递数据 182

6.5 数组与函数 183

6.6 字符串和函数 186

6.7 指针型函数 188

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

6.8.1 函数指针的概念 192

6.8 指向函数的指针 192

6.8.2 函数指针的应用 193

6.9 递归函数与递归程序设计 196

6.9.1 递归函数的概念 196

6.9.2 递归程序设计 199

6.10 小节 203

思考与练习 205

第七章 结构、联合和枚举 207

7.1 结构的说明和定义 207

7.1.1 什么叫结构 207

7.1.2 结构的说明 207

7.1.3 结构变量的定义 209

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

7.2.1 结构成员的引用 211

7.2.2 结构变量的初始化 213

7.3 结构数组 213

7.3.1 结构数组的定义 213

7.3.2 结构数组的初始化 215

7.3.3 结构数组的应用举例 216

7.4.1 结构指针及其定义 219

7.4 结构指针 219

7.4.2 通过指针引用结构成员 220

7.4.3 结构指针的应用举例 221

7.5 结构在函数间的传递 225

7.5.1 用数据复制方式传递结构变量 225

7.5.2 用地址复制方式传递结构变量 227

7.5.3 结构数组在函数间的传递 228

7.6 结构型和结构指针型函数 229

7.6.1 结构型函数 229

7.6.2 结构指针型函数 231

7.7 结构嵌套 233

7.7.1 什么是结构嵌套 233

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

7.7.3 结构嵌套应用举例 236

7.8 位字段结构 237

7.8.1 位操作方式 238

7.8.2 位字段结构方式 239

7.8.3 位字段结构的应用 241

7.9 联合 244

7.9.1 联合的说明 244

7.9.2 联合变量的定义 245

7.9.3 联合变量成员的引用 . 247

7.9.4 使用联合变量应注意的问题 248

7.10.2 枚举类型的说明 251

7.10.3 枚举型变量的定义 251

7.10.1 什么是枚举类型 251

7.10.4 如何正确使用枚举型变量 252

7.11.1 类型定义(typedef)的含义及表示形式 255

7.11 类型定义 255

7.11.2 类型定义的优点 256

7.12 小结 258

思考与练习 261

第八章 标准库函数和文件系统 264

8.1 文件概述 264

8.1.1 C语言的文件概念 264

8.1.2 文件类型指针 265

8.1.3 文件的处理过程 266

8.2 标准文件的输入/输出函数 266

8.2.1 字符输入/输出函数 267

8.2.2 字符串输入/输出函数 268

8.2.3 格式化输入/输出函数 269

8.3 一般文件的打开和关闭 272

8.3.1 文件的打开函数 272

8.3.2 文件关闭函数 273

8.4 一般文件的读写 274

8.4.1 一般文件的字符输入/输出函数 274

8.4.2 一般文件的字符串输入/输出函数 278

8.4.3 一般文件的格式化输入/输出函数 280

8.4.4 二进制形式的输入/输出函数 284

8.4.5 文件状态检查函数 288

8.4.6 文件定位函数 290

8.5 非缓冲文件系统 293

8.5.1 文件标识号 293

8.5.2 文件的打开、建立和关闭 294

8.5.3 文件的读写 295

8.6 其它标准函数 298

8.6.1 字符分类函数 298

8.6.2 字符串处理函数 298

8.6.3 数据变换函数 299

8.7 小结 301

思考与练习 301

第九章 C语言的预编译程序 303

9.1 文件包括 303

9.2 宏定义 305

9.2.1 符号常量的定义 305

9.2.2 带参数的宏定义 307

9.4 预定义的宏名和其它预编译语句 311

9.4.1 预定义的宏名 311

9.5.1 什么叫分别编译 312

9.4.2 #line 312

9.5.2 各源文件间变量和函数的传递 313

9.6 小结 316

思考与练习 317

第十章 动态存储分配及其应用 318

10.1 动态存储分配 318

10.2 动态数据结构及链表 322

10.2.1 动态数据结构 322

10.2.2 链表 322

10.3 二叉树 329

10.3.1 二叉树的基本概念 329

10.3.2 二叉树的应用实例 330

附录 A C语言的标准库函数 334

附录 B常用字符的ASCⅡ代码 340

参考书目 341