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

  • 购买积分:12 如何计算积分?
  • 作  者:耿祥义,张跃平编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2010
  • ISBN:9787302230427
  • 页数:336 页
图书介绍:本书讲解了C程序的基本结构、基本数据类型、运算符、表达式语句等内容。

第1章 初识C语言 1

1.1 C语言与贝尔实验室 1

1.2 C程序的开发步骤 2

1.3 使用VC++开发环境 4

1.3.1 配置VC++6.0 5

1.3.2 使用VC++6.0的步骤 7

1.4 C语言的地位 10

1.5 小结 11

习题1 11

第2章 C程序的基本结构 13

2.1 用函数封装代码 13

2.1.1 问题的提出 13

2.1.2 函数封装代码的思想 15

2.2 C程序的基本结构 16

2.2.1 基本结构 16

2.2.2 main函数 16

2.2.3 源文件的结构 18

2.3 编程风格 20

2.3.1 Allmans风格 20

2.3.2 Kernighan风格 21

2.3.3 注释 21

2.4 小结 21

习题2 21

第3章 标识符与基本数据类型 23

3.1 标识符与关键字 23

3.1.1 标识符 23

3.1.2 关键字 24

3.2 变量与内存 25

3.2.1 了解内存 25

3.2.2 为变量分配内存 25

3.2.3 为变量赋值 25

3.2.4 使用变量的基本原则 27

3.3 整型类型 28

3.3.1 整型常量 28

3.3.2 int型变量 29

3.3.3 shott型变量 33

3.3.4 long型变量 34

3.3.5 无符号整型变量 34

3.4 浮点类型 37

3.4.1 浮点型常量 37

3.4.2 float型变量 38

3.4.3 double型变量 42

3.5 字符型 43

3.5.1 字符常量 43

3.5.2 char型变量 44

3.6 常量 46

3.6.1 字面常量 46

3.6.2 符号常量 46

3.6.3 const常量 47

3.7 数据转换 48

3.8 变量的地址和大小 49

3.9 输出数据 51

3.9.1 printf函数 51

3.9.2 putchar函数 53

3.10 输入数据 54

3.10.1 scanf函数 54

3.10.2 getchar函数 58

3.11 小结 60

习题3 60

第4章 运算符、表达式与语句 63

4.1 运算符概述 63

4.2 算术运算符与算术表达式 64

4.3 赋值运算符与赋值表达式 65

4.4 自增、自减运算符 66

4.5 关系运算符与关系表达式 69

4.6 逻辑运算符与逻辑表达式 71

4.7 类型转换运算符 72

4.8 逗号运算符 73

4.9 运算符与表达式小结 74

4.10 语句 75

4.11 小结 76

习题4 77

第5章 分支语句 80

5.1 if条件分支语句 80

5.2 if-else条件分支语句 85

5.3 if-else if-else条件分支语句 90

5.4 switch开关语句 93

5.5 条件运算符 95

5.6 exit函数与程序的输入错误 96

5.7 小结 97

习题5 97

第6章 循环语句 101

6.1 while循环语句 101

6.2 do-while循环语句 109

6.3 for循环语句 111

6.4 break和continue语句 115

6.5 循环嵌套 116

6.6 小结 118

习题6 118

第7章 函数的结构与调用 123

7.1 函数概述 123

7.2 有关函数的重要术语 124

7.2.1 函数头 124

7.2.2 函数原型 124

7.2.3 函数定义 125

7.3 无参函数与有参函数的定义 127

7.3.1 无参函数的定义 127

7.3.2 有参函数的定义 127

7.4 函数的类型与return语句 128

7.4.1 基本类型 128

7.4.2 void型 130

7.5 函数的调用与参数传值 131

7.5.1 调用无参数函数 132

7.5.2 调用有参数函数 132

7.6 函数封装代码的思想 135

7.7 函数的递归调用 138

7.7.1 递归调用的发生 138

7.7.2 递归的应用 139

7.7.3 递归的缺点 142

7.8 局部变量与全局变量 143

7.8.1 局部变量 143

7.8.2 全局变量 144

7.9 变量的存储方式 147

7.9.1 局部变量 147

7.9.2 全局变量 149

7.10 限制全局变量的有效范围 149

7.11 小结 149

习题7 150

第8章 数组 154

8.1 一维数组 154

8.1.1 一维数组的定义 154

8.1.2 一维数组的结构 155

8.1.3 一维数组的使用 157

8.1.4 怎样获取一维数组的长度 158

8.1.5 一维数组的初始化 159

8.1.6 避免下标越界 160

8.2 数组名作参数 161

8.2.1 一个重要的结论 161

8.2.2 形参与数组 162

8.3 起泡法 164

8.4 二维数组 167

8.4.1 二维数组的定义 167

8.4.2 二维数组的结构 168

8.4.3 二维数组的初始化 169

8.4.4 二维数组的使用 169

8.5 const数组 171

8.6 综合举例 173

8.6.1 选择排序法 173

8.6.2 折半法 174

8.6.3 存储并输出杨辉三角形 176

8.6.4 计算矩阵的乘积 177

8.7 小结 178

习题8 178

第9章 指针 181

9.1 概述 181

9.2 指针变量 182

9.2.1 指针变量的声明 182

9.2.2 指针变量与取地址运算符 183

9.3 指针访问所指向的变量 184

9.3.1 间接访问运算符 184

9.3.2 间接访问与直接访问 184

9.3.3 注意事项 185

9.4 指针的加减运算 186

9.4.1 指针递增 186

9.4.2 指针递减 187

9.4.3 两个指针作减法 187

9.4.4 指针自增(自减)的重要结论 188

9.5 指针作参数 188

9.5.1 函数的原型与实现 188

9.5.2 传递变量的值 190

9.5.3 传递变量的地址 190

9.6 指针与函数之间的交互 192

9.7 指向指针的指针 193

9.8 const指针 194

9.9 综合举例 195

9.10 小结 196

习题9 196

第10章 指针与数组 199

10.1 指向数组元素的指针 199

10.2 数组名与间接访问运算符 201

10.2.1 数组名的自增、自减运算 201

10.2.2 间接访问运算符作用于数组名 202

10.3 指针作参数访问数组 203

10.4 指针与下标运算 204

10.5 指针与二维数组 205

10.5.1 指向二维数组元素的指针 205

10.5.2 二维数组的名字与间接访问运算符 206

10.6 指针数组 207

10.7 指向行的指针 209

10.8 综合举例 210

10.8.1 旋转数组 210

10.8.2 围圈留一 212

10.9 小结 213

习题10 213

第11章 指针与函数 216

11.1 函数的入口地址与指针变量 216

11.1.1 函数的入口地址 216

11.1.2 指向函数的指针变量 217

11.2 指向函数的指针作参数 219

11.3 让函数更易维护 220

11.3.1 显示广告词的函数 221

11.3.2 间接调用的好处 222

11.4 返回地址的函数 222

11.5 指针的分类 224

11.6 小结 225

习题11 225

第12章 处理字符串 228

12.1 字符串常量 228

12.2 char型数组与字符串 229

12.2.1 字符数组及初始化 230

12.2.2 puts函数与gets函数 232

12.3 指针与字符串 233

12.4 复制字符串 234

12.5 连接字符串 235

12.6 比较字符串 236

12.7 检索字符串 237

12.8 字符串转换为数字 240

12.9 综合举例 241

12.9.1 统计单词 241

12.9.2 排序字符串 242

12.9.3 输出商品列表 243

12.9.4 将字符串转换为整数 246

12.9.5 加密字符串 247

12.10 小结 248

习题12 248

第13章 结构体、共用体与枚举 252

13.1 结构体类型与结构体变量 252

13.1.1 描述商品信息 252

13.1.2 结构体类型 253

13.1.3 结构体变量 253

13.1.4 访问结构体变量的成员 255

13.1.5 结构体变量的赋值操作 256

13.2 使用typedef关键字 256

13.3 指针与结构体变量 257

13.3.1 指向结构体变量的指针 257

13.3.2 通过指针访问结构体变量的成员 258

13.4 结构体变量的初始化 259

13.5 结构体数组 260

13.6 结构体的嵌套 261

13.7 结构体与函数 261

13.8 共用体 262

13.8.1 共用体类型与共用体类型变量 263

13.8.2 共用体类型变量的特点 263

13.8.3 通过指针访问共用体变量的成员 264

13.9 枚举 265

13.9.1 定义枚举类型 265

13.9.2 声明枚举变量 265

13.10 综合举例 266

13.11 小结 268

习题13 268

第14章 读写文件 271

14.1 什么是文件 271

14.1.1 二进制文件 271

14.1.2 文本文件 272

14.2 打开与关闭文件 273

14.2.1 FILE指针 273

14.2.2 打开文件 273

14.2.3 关闭文件 274

14.3 读写文本文件 274

14.3.1 按文本方式打开文件 274

14.3.2 按文本方式读文件 275

14.3.3 按文本方式写文件 277

14.4 读写二进制文件 279

14.4.1 按二进制方式打开文件 279

14.4.2 按二进制方式写文件 280

14.4.3 按二进制方式读文件 281

14.5 读写位置与随机读写 283

14.5.1 rewind和ftell函数 283

14.5.2 fseek函数 284

14.6 复制文件 285

14.7 综合举例 286

14.7.1 标准化考试 286

14.7.2 保存商品信息 287

14.7.3 加密、解密文件 289

14.8 小结 290

习题14 290

第15章 链表 293

15.1 初识链表 293

15.2 链表与节点 294

15.2.1 空链表 295

15.2.2 链表的节点 295

15.2.3 创建一个简单的链表 296

15.3 头插法创建链表 297

15.4 尾插法创建链表 299

15.5 链表的插入操作 300

15.6 链表的删除操作 303

15.7 综合举例 305

15.7.1 旋转链表 305

15.7.2 围圈留一 308

15.8 小结 309

习题15 309

第16章 预处理指令 310

16.1 宏指令 310

16.1.1 不带参数的宏指令 310

16.1.2 带参数的宏指令 311

16.2 文件包含指令 312

16.2.1 包含源文件 313

16.2.2 包含头文件 314

16.2.3 math.h和time.h 314

16.3 条件编译指令 317

16.3.1 #ifdef条件编译指令 317

16.3.2 #ifndef条件编译指令 318

16.3.3 #if常量表达式 319

16.4 小结 320

习题16 320

第17章 位运算 323

17.1 位运算符和位运算 323

17.1.1 “按位与”运算符 324

17.1.2 “按位或”运算符 325

17.1.3 “按位非”运算符 325

17.1.4 “按位异或”运算符 326

17.1.5 左移位运算符 327

17.1.6 右移位运算符 327

17.2 位段 328

17.2.1 结构体与位段 328

17.2.2 隔开位段 329

17.3 小结 330

习题17 330

附录A 标准ASCⅡ表 332

附录B 运算符表 333

附录C math与string库函数 334

参考文献 336