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

  • 购买积分:11 如何计算积分?
  • 作  者:王仲民主编;李震雄,易超,康雁编著
  • 出 版 社:北京:科学出版社
  • 出版年份:2014
  • ISBN:9787030398178
  • 页数:267 页
图书介绍:本书以突出算法应用、问题驱动的程序设计为主线、以软件工程原则为指导思想、以构思Conceiving、设计Designing、实现Implementing、运作Operating(CDIO)工程能力培养为目标、按照由浅入深、循序渐进的步骤,通过程序设计学习C语言的方法安排教学内容。

第一篇 程序设计基础 3

第1章 计算机与计算机程序 3

1.1硬件与软件 3

1.1.1计算机的基本组成 3

1.1.2计算机的基本原理 5

1.2计算机数据处理技术 6

1.2.1字符及文本处理 7

1.2.2数字媒体数据处理 8

1.2.3现代计算 9

1.2.4云计算的关键 9

思考与练习 9

第2章 计算机程序设计与程序语言 10

2.1程序设计与软件开发 10

2.1.1程序设计语言的分类 10

2.1.2程序设计 11

2.1.3软件开发 11

2.2程序设计与算法 13

2.2.1算法及其特征 13

2.2.2算法的表示 14

2.3程序设计的实现与程序语言 15

2.3.1编程语言 15

2.3.2编码的风格 16

2.3.3编程准则 17

思考与练习 17

第3章CDIO与程序设计 18

3.1 CDIO基本内容 18

3.2软件工程基本原则 18

3.2.1软件工程的基本原理 18

3.2.2以CDIO方法体现软件工程的原则 20

3.2.3面向过程与面向对象 20

思考与练习 21

第二篇 问题驱动的程序设计 25

第4章 软件工程师与计算机的简单对话 25

4.1数据处理 25

4.1.1数据处理简化流程 25

4.1.2简单问题求解 27

4.2数据类型与变量 29

4.2.1数据类型 29

4.2.2变量定义 30

4.2.3算术运算与赋值运算 31

4.2.4数据类型的转换 33

4.3小结 33

4.4 CDIO应用案例 34

思考与练习 35

第5章 面向用户的输入与输出 36

5.1输入处理 36

5.1.1单字符输入 36

5.1.2字符串输入 37

5.1.3格式化输入 37

5.1.4文件读取 39

5.1.5文件的打开与关闭 39

5.2输出处理 43

5.2.1单字符输出 43

5.2.2字符串输出 44

5.2.3格式化输出函数 44

5.2.4格式字符串 45

5.2.5文件写 47

5.2.6格式化写文件 49

5.3用户界面设计初步 50

5.4小结 51

5.5 CDIO应用案例 51

思考与练习 56

第6章 简单问题 58

6.1算法的直接应用 58

6.1.1简单问题的需求规约 58

6.1.2简单问题的算法选择 59

6.2位运算 61

6.2.1位运算 61

6.2.2&按位与运算 62

6.2.3|按位或运算 63

6.2.4^按位异或运算 63

6.2.5~按位取反运算 64

6.2.6不同存储空间大小数据的位运算 64

6.2.7<<左移运算 65

6.2.8>>右移运算 65

6.3解决方案的拓展问题 66

6.4小结 70

6.5 CDIO应用案例 70

思考与练习 72

第7章 决策性问题 73

7.1关系运算与逻辑运算 73

7.1.1关系运算 73

7.1.2逻辑运算 75

7.2边界型条件if以及if-else 76

7.2.1 if与if-else分支结构 76

7.2.2多因素约束条件与嵌套式if-else结构 80

7.2.3条件运算符?: 86

7.3预设型条件switch-case-break 87

7.4综合性条件的决策 89

7.5小结 90

7.6 CDIO应用案例 92

思考与练习 95

第8章 重复性问题 96

8.1有限次重复与for循环 96

8.1.1计数循环过程设计及for语句的使用 96

8.1.2嵌套式for语句的使用方法 99

8.2条件重复与while和do-while循环 101

8.2.1先验条件循环设计与while语句 101

8.2.2后验条件循环设计与do-while语句 103

8.3 for循环与while循环的选择与综合应用 105

8.3.1循环次数省略与continue语句 106

8.3.2循环状态终止与break语句 107

8.3.3特殊循环和跳转与goto语句 109

8.3.4 for循环的特殊应用 111

8.3.5循环结构的特殊用例 113

8.4小结 115

8.5 CDIO应用案例 116

思考与练习 120

第9章 复杂数据中相同数据类型的处理 121

9.1一维数组 121

9.1.1使用数组的原因 121

9.1.2一维数组的声明和定义方法 122

9.1.3一维数组的初始化方法 122

9.1.4一维数组的元素访问方法 123

9.1.5一维数组的普通应用 124

9.1.6一维数组在模块化编程中的应用 126

9.2二维数组 129

9.2.1使用二维数组的原因 129

9.2.2二维数组的声明和定义方法 129

9.2.3二维数组的初始化方法 130

9.2.4数组完整初始化的略写方法 131

9.2.5二维数组元素访问方法 132

9.2.6二维数组的普通应用 133

9.2.7二维数组在模块化编程中的应用 134

9.3三维及多维数组 135

9.3.1三维数组的声明和定义方法 136

9.3.2三维数组的初始化方法 136

9.3.3三维数组的元素访问方法 138

9.3.4三维数组的普通应用 139

9.3.5三维数组在模块化编程中的应用 141

9.4字符串 142

9.4.1字符串的输入与输出 142

9.4.2字符数组的声明和初始化 143

9.4.3字符串的访问方法 143

9.4.4字符串的普通应用 144

9.4.5字符串在模块化编程中的应用 149

9.5小结 150

9.6 CDIO应用案例 150

9.6.1案例1:整型数据的输入校验 150

9.6.2案例2:单词统计 154

思考与练习 157

第10章 复杂数据中不同数据类型的处理 159

10.1结构体 159

10.1.1使用结构体的原因 159

10.1.2结构体的定义和声明 159

10.1.3结构体的成员访问和初始化 161

10.1.4结构体的简单应用 162

10.1.5结构体在模块化编程中的应用 162

10.2结构体数组 163

10.2.1使用结构体数组的原因 163

10.2.2结构体数组的声明和初始化 164

10.2.3结构体数组的应用 165

10.2.4结构体数组关联数组 166

10.3联合体 166

10.3.1使用联合体的原因 166

10.3.2联合体的定义和声明 167

10.3.3联合体的成员访问和初始化 168

10.3.4联合体的简单应用 169

10.3.5联合体在模块化编程中的应用 170

10.4枚举数据类型 170

10.4.1使用枚举数据类型的原因 170

10.4.2枚举数据类型的定义和声明 170

10.4.3枚举数据类型的常量列表和常量值 171

10.4.4枚举数据类型的简单应用 171

10.5小结 172

10.6 CDIO应用案例 172

思考与练习 175

第11章 数据的间接访问 176

11.1指针 176

11.1.1数据的访问方式 176

11.1.2指针的声明与使用 177

11.1.3指针的运算 179

11.2指针与传地址 180

11.2.1函数的传值调用 180

11.2.2函数的传地址调用 181

11.3数组与指针 182

11.3.1数组名就是指针常量 182

11.3.2数组元素的指针访问形式 183

11.3.3数组名作为参数时 184

11.3.4数组名形式参数的等价声明 185

11.3.5字符数组与字符指针 186

11.4函数与指针 186

11.4.1指向函数的指针声明和定义 186

11.4.2指向函数的指针初始化和指针应用 187

11.4.3指向函数的指针与返回值是指针的函数 187

11.4.4复杂声明 187

11.5结构体与指针 188

11.5.1指向结构体的指针 188

11.5.2通过指针访问结构体成员 188

11.5.3自引用结构体 189

11.5.4简单的链表 189

11.6小结 190

11.7 CDIO应用案例 190

11.7.1案例1:整型数据的输入校验 190

11.7.2案例2:单词统计 194

11.7.3案例3:根据输入值给出对应月份值及对应英文名称 197

思考与练习 198

第12章 解决方案的拓展与重用:函数 199

12.1模块重用与函数 199

12.1.1软件重用基本概念 199

12.1.2程序的模块化设计 200

12.1.3函数及其定义 201

12.1.4函数调用方法及参数传递 205

12.1.5函数及变量的作用域 211

12.1.6递归函数 216

12.2标准库函数与自建函数库 219

12.2.1标准库函数 219

12.2.2自建函数库 223

12.3小结 224

12.4 CDIO应用案例 226

12.4.1案例1:一元二次方程求解 226

12.4.2案例2:汉诺塔问题 229

思考与练习 231

第13章 从程序设计到软件开发 232

13.1模块化程序与信息隐藏 232

13.1.1多模块编译 232

13.1.2自定义头文件 234

13.2结构化与面向对象程序设计方法 235

13.3小结 236

思考与练习 236

第三篇C语言参考 239

第14章C语言基本元素 239

14.1基本数据类型及算符 239

14.1.1基本数据类型 239

14.1.2算符 240

14.1.3运算符的优先顺序 240

14.2流程控制 241

14.2.1 if和if-else语句以及条件表达式 241

14.2.2 switch语句 243

14.2.3 for循环 243

14.2.4 while循环 244

14.2.5 break与continue 244

14.3复杂数据类型 245

14.3.1数组与字符串 245

14.3.2地址与指针 245

14.3.3结构体及结构体数组 245

14.3.4联合体 246

14.3.5枚举 246

14.4函数 246

14.4.1标准库函数 246

14.4.2自建函数 247

14.4.3函数调用方法及返回值 247

14.5文件 248

14.5.1文本文件与二进制文件 248

14.5.2文件的基本操作 248

14.6预处理 249

14.6.1宏定义 249

14.6.2文件包含 249

14.6.3条件编译 250

附录A C语言程序常见错误 251

附录B C语言程序的风格 252

附录C C语言常用开发环境 253

C.1用Microsoft Visual C++ 2008速成版编写C语言程序 253

C.2用Dev-C++编写C语言程序 256

附录D标准C库函数 260

附录E ASCII码表 264