《C语言程序设计教程 面向计算思维和问题求解》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:陈立潮主编;常文萃,曹建芳,郭晓东副主编
  • 出 版 社:北京:高等教育出版社
  • 出版年份:2016
  • ISBN:9787040449075
  • 页数:299 页
图书介绍:本书以“零基础”为起点,首先阐述了学习C语言必备的计算机基础知识和程序设计的基础知识,然后以C语言语法和句法的规则、程序设计方法和计算机思维的培养为重点,以应用为主线,由浅入深地阐述了C语言数据类型、结构化、模块化等知识点,归纳了选择、循环结构算法的设计思路及函数设计方法,配以大量的实例详细阐述了解决实际问题的程序设计方法。本书的主要内容包括计算机基础知识和程序设计基础知识,基本数据类型、表达式运算及类型转换;顺序、选择、循环结构化程序设计,模块化程序设计,指针的概念及应用,结构体、联合体、文件的概念和应用。 本书可以作为高等学校计算机及相关专业学生学习C语言程序设计的教材,也可作为参加有关考试和自学的参考书。

第1章 计算思维与程序设计 2

1.1 计算思维 2

1.1.1 计算科学 2

1.1.2 思维基础 3

1.1.3 计算思维概念 5

1.2 计算原理与模型 7

1.2.1 计算原理 7

1.2.2 计算模型 8

1.2.3 数值计算方法 9

1.3 计算思维与问题求解 10

1.3.1 问题抽象 10

1.3.2 问题映射 11

1.3.3 算法设计 12

1.3.4 编写程序 13

1.4 C语言求解问题初步 13

1.4.1 程序设计语言发展过程 13

1.4.2 C语言简介 16

1.4.3 C语言程序求解问题的过程 18

本章小结 20

习题 21

第2章 C语言基础知识 23

2.1 引例 23

2.1.1 问题描述 23

2.1.2 问题分析 23

2.2 数据类型 24

2.3 标识符与关键字 25

2.4 常量 25

2.4.1 数值常量 25

2.4.2 字符型常量 26

2.4.3 字符串常量 27

2.4.4 符号常量 27

2.5 变量 28

2.6 运算符与表达式 29

2.6.1 算术运算 29

2.6.2 赋值运算 31

2.6.3 逗号运算 33

2.6.4 强制类型转换 33

2.6.5 求字节数运算 34

2.6.6 取地址运算 34

2.7 引例的实现 34

本章小结 35

习题 35

第3章 简单问题求解 39

3.1 引例 39

3.1.1 问题描述 39

3.1.2 问题分析 39

3.1.2 算法设计 39

3.2 C语言程序的结构 40

3.2.1 简单的C程序结构 40

3.2.2 C语言程序的一般格式 41

3.2.3 C语言语句概述 43

3.2.4 C语言程序的书写规范 43

3.3 输入输出操作 43

3.3.1 格式化输入/输出函数 43

3.3.2 字符输入/输出函数 49

3.4 简单C程序设计 51

3.5 结构化程序设计与算法 53

3.5.1 结构化程序设计的基本思想 54

3.5.2 三种基本程序结构 54

3.5.3 算法 54

3.5.4 流程图 55

3.6 C语言程序的执行 57

3.7 引例的实现 58

本章小结 59

习题 59

第4章 选择问题求解 62

4.1 引例 62

4.1.1 问题描述 62

4.1.2 问题分析 62

4.1.3 算法设计 63

4.2 关系运算与逻辑运算 63

4.2.1 关系运算及其表达式 63

4.2.2 逻辑运算及其表达式 64

4.3 if条件语句 65

4.3.1 if语句 66

4.3.2 if-else语句 67

4.3.3 条件表达式 69

4.3.4 if条件语句的嵌套 70

4.3.5 引例的if条件语句实现 76

4.4 switch语句 78

4.4.1 switch语句的格式 79

4.4.2 switch中的break语句 80

4.4.3 引例的switch语句实现 84

本章小结 86

习题 86

第5章 重复问题求解 90

5.1 引例 90

5.1.1 问题描述 90

5.1.2 问题分析 90

5.1.3 算法设计 91

5.2 for语句 91

5.2.1 for语句的一般格式 91

5.2.2 引例的for语句实现 95

5.3 while语句 97

5.3.1 while语句的一般格式 97

5.3.2 引例的while语句实现 100

5.4 do-while语句 101

5.4.1 do-while语句的一般格式 101

5.4.2 三种循环语句的比较 103

5.5 循环嵌套 104

5.5.1 引例扩展 104

5.5.2 循环的嵌套结构 104

5.5.3 扩展引例的循环嵌套实现 107

5.6 break语句和continue语句 109

5.6.1 break语句 109

5.6.2 continue语句 110

5.7 引例的实现 111

本章小结 113

习题 113

第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 数组元素的引用 120

6.2.4 数组元素的输入与输出 121

6.3 二维数组 130

6.3.1 二维数组的定义 130

6.3.2 二维数组的初始化 130

6.3.3 二维数组元素的引用 132

6.4 字符数组 136

6.4.1 字符数组的定义 136

6.4.2 字符数组的初始化 137

6.4.3 字符数组的输入与输出 138

6.4.4 字符串处理函数 140

6.5 引例的实现 143

本章小结 145

习题 146

第7章 问题模块化求解 152

7.1 引例 152

7.1.1 问题描述 152

7.1.2 问题分析 153

7.1.3 算法设计 154

7.2 函数的定义 154

7.3 函数的调用和声明 157

7.3.1 函数的调用 157

7.3.2 函数的声明 160

7.4 函数间的参数传递 161

7.5 数组作函数参数 162

7.6 函数的递归调用 168

7.7 exit()函数 170

7.8 变量的作用域与存储类型 171

7.8.1 变量的作用域 171

7.8.2 变量的存储类型 172

7.9 C语言的编译预处理 175

7.9.1 宏定义 175

7.9.2 文件包含 176

7.9.3 条件编译 176

7.10 引例的实现 177

本章小结 182

习题 183

第8章 内存高效管理 191

8.1 引例 191

8.1.1 问题描述 191

8.1.2 问题分析 191

8.1.3 算法设计 191

8.2 指针 192

8.2.1 变量的内存地址 192

8.2.2 指针与指针变量 193

8.2.3 指针运算 195

8.3 指针与函数 197

8.3.1 指针作函数参数 197

8.3.2 返回指针的函数 199

8.4 指针与数组 201

8.4.1 指针与一维数组 201

8.4.2 指针与二维数组 205

8.4.3 指针数组 208

8.5 动态存储分配 209

8.5.1 malloc()函数 210

8.5.2 free()函数 211

8.6 引例的实现 212

本章小结 213

习题 213

第9章 复杂结构数据处理 217

9.1 引例 217

9.1.1 问题描述 217

9.1.2 问题分析 217

9.2 结构体类型的定义 218

9.2.1 定义结构体类型的一般格式 218

9.2.2 嵌套结构体的定义 219

9.3 结构体类型变量的定义和引用 220

9.3.1 定义结构体类型变量的方法 220

9.3.2 结构体变量的初始化 222

9.3.3 结构体变量的引用 222

9.4 结构体类型数组的定义和引用 225

9.4.1 结构体数组的定义 225

9.4.2 结构体数组的初始化和引用 226

9.5 结构体指针变量的定义和引用 229

9.5.1 结构体指针的定义 229

9.5.2 结构体指针的赋值和引用 230

9.6 结构体与函数 233

9.6.1 结构体变量作函数的形参 234

9.6.2 结构体指针作函数的形参 235

9.6.3 结构体数组作函数的形参 236

9.7 结构体与链表 237

9.7.1 链表的相关概念 237

9.7.2 链表的建立及其操作 238

9.8 用typedef声明新类型 242

9.8.1 声明新类型名 242

9.8.2 用typedef定义结构体类型 242

9.9 枚举 243

9.9.1 枚举类型的定义 243

9.9.2 枚举变量的定义和引用 244

9.10 引例的实现 245

本章小结 247

习题 247

第10章 数据文件管理 251

10.1 引例 251

10.1.1 问题描述 251

10.1.2 问题分析 251

10.1.3 算法设计 251

10.2 文件概述 252

10.3 文件的打开与关闭 252

10.3.1 文件的打开 253

10.3.2 文件的关闭 254

10.4 文本文件的读写 254

10.4.1 按字符读写文件 255

10.4.2 按字符串读写文件 257

10.4.3 格式化读写文件 260

10.5 二进制文件的读写 265

10.5.1 fwrite()函数 265

10.5.2 fread()函数 267

10.6 文件的定位 269

10.6.1 fseek()函数 269

10.6.2 ftell()函数 269

10.6.3 rewind()函数 269

10.7 文件的更新 272

10.8 引例的实现 275

10.8.1 需要明确的几个问题 275

10.8.2 算法实现 276

本章小结 281

习题 282

附录1 C语言关键字 284

附录2 ASCII码对照表 285

附录3 常用的ANSI C标准库函数 287

参考文献 296