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

  • 购买积分:11 如何计算积分?
  • 作  者:刘渝妍,丁海燕,何红玲主编;邱莎,俞锐刚,陈韬伟,何英副主编;朱晓丽,孙建洪参编
  • 出 版 社:北京:科学出版社
  • 出版年份:2015
  • ISBN:9787030432049
  • 页数:294 页
图书介绍:以问题为驱动引领学生进入问题的研究性学习,以算法设计思路为主线,重点放在解决问题能力的培养上,包含理论和实验教学内容,叙述通俗易懂的C语言程序设计知识,将程序设计理论和实践有机结合起来。以问题为驱动引领学生进入问题的研究性学习,以算法设计思路为主线,重点放在解决问题能力的培养上,包含理论和实验教学内容,叙述通俗易懂的C语言程序设计知识,将程序设计理论和实践有机结合起来。

基础篇 2

第1章 绪论 2

1.1 引言 2

1.2 C语言出现的历史背景 4

1.2.1 C语言的诞生 4

1.2.2 C语言标准的演变 5

1.3 C语言的特点 6

1.3.1 基本特性 6

1.3.2 优点 6

1.3.3 缺点 7

1.4 一个简单的C语言程序 8

1.5 程序与程序设计语言 11

1.5.1 程序与指令 11

1.5.2 程序设计语言 13

1.5.3 程序的编辑与处理 14

1.6 运行C语言程序的步骤和方法 15

1.6.1 运行C语言程序的步骤 15

1.6.2 运行C语言程序的方法 15

1.7 程序设计中的命名规则 16

本章小结 18

习题1 19

第2章 算法 21

2.1 算法的概念 21

2.1.1 算法的定义及特征 22

2.1.2 算法的评价 23

2.2 算法的描述 24

2.2.1 自然语言描述算法 24

2.2.2 流程图描述算法 26

2.2.3 伪代码描述算法 27

2.3 简单算法举例 28

2.4 计算思维 30

2.4.1 计算思维的定义 30

2.4.2 计算思维的特征 32

2.5 结构化程序设计方法 32

2.5.1 自顶向下、逐步求精 33

2.5.2 基本控制结构 33

2.5.3 模块化设计 33

本章小结 35

习题2 35

第3章 用C语言编写程序 37

3.1 C语言程序的简单结构 37

3.1.1 程序的基本结构和格式 39

3.1.2 C语言的标识符 39

3.2 常量、变量与赋值 40

3.2.1 常量 40

3.2.2 变量与内存 41

3.2.3 变量的定义与赋值 43

3.3 运算符与表达式 44

3.3.1 算术运算符 44

3.3.2 赋值运算符 45

3.3.3 自增、自减运算符 46

3.3.4 条件运算符 46

3.3.5 逗号运算符 47

3.3.6 求字节运算符 47

3.4 基本输入输出 47

3.4.1 格式输入输出 47

3.4.2 字符输入输出 56

3.5 基本数据类型 57

3.5.1 整型数据在内存中的存储 58

3.5.2 浮点型数据在内存中的存储 59

3.5.3 字符型数据在内存中的存储 59

3.6 各类数值型数据间的混合运算 60

3.6.1 运算中不同类型数据间的类型转换 60

3.6.2 数据类型的强制转换 61

本章小结 61

习题3 62

第4章 选择结构 66

4.1 关系运算符和关系表达式 66

4.2 逻辑运算符和逻辑表达式 66

4.3 if语句 67

4.3.1 简单猜数游戏 67

4.3.2 if单分支语句 68

4.3.3 if双分支语句 69

4.3.4 if多分支语句 69

4.4 switch语句 70

4.4.1 简单菜单程序 70

4.4.2 switch语句 72

本章小结 73

习题4 74

第5章 循环结构 79

5.1 求1+2+3+…+100 79

5.1.1 while循环语句 79

5.1.2 do…while循环语句 80

5.1.3 for循环语句 82

5.1.4 goto语句以及用goto构成的循环 83

5.2 判断素数 83

5.2.1 break语句 83

5.2.2 continue语句 85

5.3 嵌套循环 87

5.4 循环结构程序设计 89

本章小结 91

习题5 92

第6章 数据组织 98

6.1 一维数组的定义和引用 98

6.1.1 一维数组的定义 98

6.1.2 一维数组元素的引用 99

6.1.3 一维数组的初始化 99

6.1.4 一维数组编程 101

6.2 二维数组的定义和引用 104

6.2.1 二维数组的定义 105

6.2.2 二维数组的引用 106

6.2.3 二维数组的初始化 106

6.2.4 二维数组编程 107

6.3 字符数组 109

6.3.1 字符数组的定义 109

6.3.2 字符数组的初始化 110

6.3.3 字符数组的输入和输出 111

6.3.4 其他字符串处理函数 114

6.3.5 字符数组编程 114

6.4 结构体变量 115

6.4.1 结构体类型的声明 116

6.4.2 定义结构体变量 117

6.4.3 结构体类型变量的初始化和引用 118

6.4.4 结构体数组 119

6.4.5 结构体数组编程 120

6.5 共用体 121

6.5.1 共用体的概念 123

6.5.2 共用体类型的定义 123

6.5.3 共用体变量的定义 124

6.5.4 共用体变量的引用 124

6.5.5 共用体类型数据的特点 125

6.6 枚举类型 126

本章小结 127

习题6 127

第7章 函数初步 131

7.1 计算组合数Cn m 131

7.1.1 问题提出 131

7.1.2 函数的分类 132

7.1.3 函数的定义 132

7.1.4 函数的调用 133

7.2 显示一条横线 135

7.2.1 不返回结果的函数应用 135

7.2.2 不返回结果的函数定义 136

7.3 变量的作用域和生存期 136

7.3.1 局部变量和全局变量 136

7.3.2 变量的生存周期和存储属性 138

7.4 函数应用程序设计 141

本章小结 143

习题7 143

第8章 指针初步 149

8.1 指针基本概念 149

8.1.1 交换两个变量的值 149

8.1.2 地址和指针的概念 151

8.1.3 指针变量定义 151

8.1.4 指针变量的引用 152

8.1.5 指针作为函数的参数 153

8.2 指针与数组 153

8.2.1 冒泡排序法 153

8.2.2 指针、数组和地址的关系 155

8.2.3 数组名作为函数参数 157

8.3 指针与字符串 157

8.3.1 字符串的分类统计 157

8.3.2 字符串和字符指针 159

8.3.3 常用字符串处理函数 160

8.4 指针与结构体 163

8.4.1 制造虚拟汽车 163

8.4.2 指针与结构体 164

8.4.3 指针与结构体数组 165

8.5 指针与函数 165

8.5.1 简单模式匹配 165

8.5.2 定义函数返回值为指针 167

8.6 指针应用程序设计 169

本章小结 169

习题8 169

提高篇 173

第9章 函数与程序结构 173

9.1 嵌套调用求组合数 173

9.2 函数递归调用 176

9.2.1 函数递归调用基本概念 176

9.2.2 汉诺塔问题 178

9.3 编译预处理 180

9.3.1 宏定义 181

9.3.2 文件包含 182

9.3.3 条件编译 182

9.4 学生成绩管理系统设计 185

9.4.1 分模块设计学生成绩管理系统 185

9.4.2 程序文件模块图 185

9.4.3 文件模块间的通信 185

本章小结 188

习题9 189

第10章 动态组织数据 194

10.1 用链表构造学生信息 194

10.1.1 链表的概念 196

10.1.2 处理动态链表所需的函数 197

10.1.3 建立动态链表 198

10.2 输出学生链表信息 200

10.2.1 链表的遍历 200

10.2.2 链表遍历的简单应用 202

10.3 在链表中插入一个新学生信息 202

10.4 在链表中删除一个指定学生信息 206

10.5 动态组织数据综合应用 210

10.5.1 用typedef命名已有类型 210

10.5.2 综合应用 211

本章小结 214

习题10 215

第11章 文件 222

11.1 C文件的概念 222

11.1.1 文本文件和二进制文件 223

11.1.2 文件缓冲区 223

11.1.3 文件类型指针 224

11.2 文件的打开与关闭 225

11.2.1 文件的打开(fopen函数) 225

11.2.2 文件的关闭(fclose函数) 227

11.3 C文件的读写 227

11.3.1 字符读写函数fgetc和fput 228

11.3.2 字符读写函数fgets和fputs 232

11.3.3 数据块读写函数fread和fwrite 235

11.3.4 格式化读写函数fbrintf和fscanf 237

11.4 C文件的随机读写 239

11.4.1 文件定位 240

11.4.2 随机读写 240

11.5 C文件的检测函数 241

11.5.1 文件结束检测函数 241

11.5.2 读写文件出错检测函数 242

11.5.3 文件出错标志和文件结束标志置0函数 242

本章小结 243

习题11 243

第12章 指针进阶 247

12.1 用矩形法求多个函数的定积分 247

12.1.1 指向函数指针的概念 249

12.1.2 指向函数的指针变量 249

12.1.3 指向函数指针的调用 249

12.2 查找关键字符号表 251

12.2.1 指针数组的定义 252

12.2.2 指针数组与二维数组 254

12.3 用指向指针数据的指针实现字符串的排序 257

12.3.1 指向指针数据的指针变量 258

12.3.2 定义指向指针数据的指针变量 258

12.3.3 指向指针数据的指针变量作为函数参数 259

12.3.4 命令行参数 260

12.4 指针综合应用 261

本章小结 263

习题12 264

第13章 位运算 269

13.1 位运算符 269

13.1.1 按位与运算 269

13.1.2 按位或运算 271

13.1.3 按位异或运算 271

13.1.4 求反运算 273

13.1.5 左移运算 273

13.1.6 右移运算 274

13.1.7 不同长度的数据进行位运算 275

13.2 位运算应用与举例 275

13.3 位域 277

本章小结 279

习题13 279

附录 283

附录A 常用字符与ASCII代码对照表 283

附录B 关键字及其用途 284

附录C 运算符的优先级和结合性 285

附录D C常用库函数 286

附录E VC6.0常见编译错误信息 290

参考文献 294