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

  • 购买积分:12 如何计算积分?
  • 作  者:葛雷,王怀柱主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2012
  • ISBN:9787302264804
  • 页数:341 页
图书介绍:本书紧密围绕结构化程序设计思想,以案例驱动的方式深入浅出的引领学生掌握C语言程序设计知识。

第1章 概述 1

1.1 计算机与程序 1

1.1.1 冯·诺依曼计算机模型 1

1.1.2 存储程序思想 3

1.1.3 程序——计算机的灵魂 3

1.2 程序设计语言概述 4

1.2.1 程序设计语言及分类 4

1.2.2 编译与解释 5

1.3 Visual C++6.0编译环境的使用 6

1.3.1 Visual C++6.0开发环境简介 6

1.3.2 Visual C++6.0启动及界面 6

1.3.3 打开/新建C语言源程序文件 7

1.3.4 程序保存 7

1.3.5 编译、连接和执行程序 7

1.4 C语言程序设计概述 9

1.4.1 C语言简介 9

1.4.2 C语言源程序的组成元素 9

1.4.3 C语言源程序的结构 12

1.4.4 C语言多文件组织 14

1.5 面向过程(结构化)程序设计方法概述 15

1.5.1 面向过程程序设计的基本步骤 15

1.5.2 数据与数据结构 16

1.5.3 算法及其描述 17

本章小结 20

习题1 21

第2章 数据类型、运算符与表达式 22

2.1 C语言的数据类型概述 22

2.2 标识符、常量和变量 22

2.2.1 标识符 23

2.2.2 常量和符号常量 23

2.2.3 变量 24

2.3 C语言的简单数据类型 25

2.3.1 整型数据 26

2.3.2 实型数据 29

2.3.3 字符型数据 31

2.4 运算符和表达式 34

2.4.1 C运算符和表达式概述 34

2.4.2 算术运算符与算术表达式 35

2.4.3 关系运算符与关系表达式 36

2.4.4 逻辑运算符与逻辑表达式 37

2.4.5 条件运算符与条件表达式 39

2.4.6 赋值运算符与赋值表达式 40

2.4.7 逗号运算符与逗号表达式 42

2.4.8 位运算符与位运算表达式 43

2.4.9 求字节运算符 43

2.4.10 运算符及其优先级小结 44

2.5 数据的类型转换 44

2.5.1 系统自动进行的类型转换 44

2.5.2 强制类型转换 45

本章小结 46

习题2 47

第3章 顺序结构程序设计 50

3.1 C语言语句概述 50

3.1.1 C语言程序结构 50

3.1.2 C语言语句分类 51

3.2 输入输出函数语句 52

3.2.1 流 52

3.2.2 字符输入输出函数 52

3.2.3 格式输入输出函数 53

3.3 顺序结构程序举例 59

本章小结 61

习题3 61

第4章 选择结构程序设计 63

4.1 if-else语句结构 63

4.1.1 if-else语句结构的三种形式 63

4.1.2 if语句的嵌套 69

4.1.3 条件运算符和条件表达式 71

4.2 switch语句结构 73

4.3 选择结构程序举例 79

本章小结 81

习题4 81

第5章 循环结构程序设计 87

5.1 while语句 87

5.1.1 while语句的一般形式 87

5.1.2 while语句的执行过程 87

5.1.3 while语句的几点说明 90

5.2 do-while语句 92

5.2.1 do-while语句的形式 92

5.2.2 do-while语句的执行过程 92

5.2.3 do-while语句的几点说明 94

5.2.4 while语句与do-while语句的比较 94

5.3 for语句 95

5.3.1 for语句的一般形式 95

5.3.2 for语句的执行过程 96

5.3.3 for语句的几点说明 96

5.4 循环嵌套 99

5.5 goto语句、break语句、continue语句 103

5.5.1 goto语句 103

5.5.2 break语句 103

5.5.3 continue语句 105

5.6 经典例题 106

本章小结 111

习题5 111

第6章 数组 117

6.1 数组的概念 117

6.1.1 数组的引入 117

6.1.2 数值数组和字符数组 118

6.2 一维数组 118

6.2.1 一维数组的定义 118

6.2.2 一维数组元素的引用 119

6.2.3 一维数组的初始化 119

6.2.4 一维数组程序举例 119

6.3 二维数组 122

6.3.1 二维数组的定义 123

6.3.2 二维数组元素的引用 124

6.3.3 二维数组的初始化 124

6.3.4 二维数组程序举例 126

6.4 字符数组 129

6.4.1 字符数组的定义 129

6.4.2 字符数组元素的引用 129

6.4.3 字符数组的初始化 129

6.4.4 字符数组的输入输出 130

6.4.5 字符串处理函数 132

本章小结 138

习题6 138

第7章 指针 141

7.1 变量的地址和指针变量 141

7.1.1 变量的地址以及变量的存取方式 141

7.1.2 指针变量的定义和指针变量的基类型 142

7.1.3 给指针变量赋值 142

7.1.4 指针变量的引用 144

7.2 数组的指针与指向数组的指针变量 149

7.2.1 指向数组的指针变量 149

7.2.2 通过指针引用数组元素 150

7.2.3 指向多维数组的指针和指针变量 152

7.3 字符串的指针和指向字符串的指针变量 155

7.3.1 字符串的表示形式 155

7.3.2 字符数组与字符串指针的区别 156

7.4 指针数组与指向指针的指针 158

7.4.1 指针数组的概念 158

7.4.2 指向指针的指针 159

7.5 指针与动态内存分配初步 161

本章小结 164

习题7 164

第8章 函数 170

8.1 函数概述 170

8.1.1 模块化程序设计 170

8.1.2 函数的分类 170

8.2 函数的定义 172

8.3 函数间的参数传递 173

8.3.1 形式参数和实际参数 173

8.3.2 函数的返回值 175

8.4 函数的调用 178

8.4.1 函数调用的形式 178

8.4.2 函数调用的方式 179

8.4.3 被调函数的声明 180

8.5 数组作函数的参数 182

8.6 函数与指针 193

8.6.1 指针作为函数的参数 193

8.6.2 指针型函数 203

8.6.3 指向函数的指针 205

8.7 函数的嵌套调用 207

8.8 函数的递归调用 209

8.9 局部变量和全局变量 214

8.9.1 局部变量 215

8.9.2 全局变量 216

8.10 变量的存储类别 218

8.10.1 动态存储方式与静态存储方式 218

8.10.2 自动变量 219

8.10.3 静态局部变量 219

8.10.4 寄存器变量 221

8.10.5 外部变量 221

本章小结 222

习题8 222

第9章 预处理命令 229

9.1 宏定义 229

9.1.1 无参宏定义 230

9.1.2 有参宏定义 235

9.2 文件包含 239

9.3 条件编译 243

本章小结 250

习题9 250

第10章 结构体与共用体 253

10.1 结构体类型 253

10.1.1 结构体类型与结构体变量 254

10.1.2 结构体变量的引用 257

10.1.3 结构体变量的初始化 258

10.2 结构体数组 259

10.2.1 结构体数组的定义与引用 259

10.2.2 结构体数组的初始化 260

10.3 指向结构体的指针变量 260

10.3.1 结构体指针变量的定义 261

10.3.2 结构体和函数调用 265

10.4 链表 267

10.4.1 链表概述 267

10.4.2 处理链表的函数 267

10.4.3 链表的建立 268

10.4.4 链表的遍历 271

10.4.5 链表的插入 271

10.4.6 链表的删除 273

10.5 共用体 275

10.5.1 共用体类型定义 275

10.5.2 共用体变量的引用 276

10.6 枚举类型 278

10.7 用typedef定义类型 280

10.7.1 typedef的用法 280

10.7.2 typedef的基本功能 280

10.7.3 typedef使用说明 280

本章小结 281

习题10 281

第11章 位运算 285

11.1 位运算符及其功能 285

11.1.1 位运算符 285

11.1.2 位运算符的运算功能 286

11.2 位域结构 291

11.2.1 位域 291

11.2.2 位域程序举例 293

本章小结 294

习题11 294

第12章 文件 296

12.1 流及文件的相关概念 296

12.1.1 流的概念 296

12.1.2 文件的概念及分类 297

12.2 文件类型指针及文件的打开与关闭 298

12.2.1 文件类型指针 298

12.2.2 文件的打开与关闭 298

12.3 文件的顺序读写 300

12.3.1 文件的字符读写 300

12.3.2 文件的字符串读写 304

12.3.3 文件的格式化读写 306

12.3.4 文件的记录读写 308

12.4 文件的随机读写 309

12.5 文件检测函数 311

本章小结 311

习题12 312

第13章 综合案例:学生成绩管理系统 314

13.1 学生成绩管理系统需求分析 314

13.1.1 系统功能需求描述 314

13.1.2 需求分析 315

13.2 系统设计 320

13.2.1 模块设计 320

13.2.2 数据结构设计 322

13.2.3 系统界面设计 323

13.3 详细设计与编码实现 324

13.3.1 程序结构详细设计 324

13.3.2 编码实现 325

本章小结 335

习题13 335

附录A C语言ASCII表 336

附录B C语言关键字及用途 337

附录C 运算符和结合性 338

附录D 常用的ANSI C库函数表 339

参考文献 341