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

  • 购买积分:13 如何计算积分?
  • 作  者:姜恒远主编;陶烨,张莉,张萍等编
  • 出 版 社:北京:高等教育出版社
  • 出版年份:2010
  • ISBN:9787040302769
  • 页数:365 页
图书介绍:“C程序设计基础及实验”是国家精品课程,本书充分展示了浙江大学程序设计教学改革的成果,即以强化实践教学和激发自主学习为手段,提高大学生的程序设计能力。语言程序设计为主线,从应用出发,通过案例和问题引入教学内容,重点讲解程序设计的思想和方法,并结合相关的C语言知识的介绍。适合一般院校非计算机专业学生的学习特点和习惯,有利于激发学习兴趣。全书共12章,主要包括3方面的内容:基本内容(数据表达、数据处理和流程控制)、常用算法和程序设计风格,以及C语言应用中的一些处理机制(编译预处理和命令行参数)。结构设计上,强调实践,使学生从第1周起,就开始练习编程,并贯穿始终。为了提高读者的学习兴趣,对语言知识的介绍一般通过实例程序引入,还将程序设计的技巧、方法,以及编程中的常见错误分散在每节的内容中,以“编程风格”、“提示”和“思考”的形式给出。

第1章 C程序设计概述 1

1.1 程序设计语言、程序与程序设计 1

1.1.1 程序设计语言 1

1.1.2 程序 2

1.1.3 程序设计 3

1.2 C语言概述 7

1.2.1 C语言的发展 7

1.2.2 C语言的特性 8

1.2.3 C语言程序的结构与执行 9

1.2.4 C语言程序实例 10

1.2.5 C语言程序的书写 17

1.2.6 上机调试运行C语言程序的过程 19

习题 30

第2章 数据的表示与存储 32

2.1 C语言的数据类型 32

2.2 整型数据 33

2.2.1 整型常量 34

2.2.2 整型变量 36

2.3 浮点型数据 42

2.3.1 浮点型常量 44

2.3.2 浮点型变量 45

2.4 字符型数据 45

2.4.1 字符集 45

2.4.2 字符型常量 46

2.4.3 字符型变量 47

2.5 字符串数据 48

2.6 指针型数据 50

2.6.1 地址的概念 50

2.6.2 指针变量声明及初始化 50

2.7 枚举型数据 53

2.7.1 定义枚举数据类型 53

2.7.2 枚举型变量的声明 53

2.8 符号常量与const限定 54

2.8.1 符号常量 54

2.8.2 const限定 57

2.9 使用typedef命名数据类型 58

习题 60

第3章 基本运算与输入输出 61

3.1 运算符与表达式概述 61

3.1.1 运算符 61

3.1.2 表达式 62

3.2 数据对象的存取 63

3.2.1 间接引用运算与间接引用数据对象 63

3.2.2 赋值运算与赋值表达式 64

3.3 基本数值运算 71

3.3.1 算术运算符 71

3.3.2 算术表达式 73

3.3.3 常见的数值计算与数学库函数的使用 76

3.3.4 数值计算中的溢出、有效数字与计算误差 78

3.4 其他常用运算 82

3.4.1 强制类型转换运算及其表达式 82

3.4.2 sizeof运算符及其表达式 83

3.4.3 逗号运算符及其表达式 84

3.5 输入与输出 85

3.5.1 输入输出包含文件stdio.h 86

3.5.2 字符数据的输入输出 86

3.5.3 格式化输入输出 88

习题 101

第4章 结构化程序设计 105

4.1 结构化算法及其表示 105

4.1.1 算法举例 105

4.1.2 基本算法结构及其表示 106

4.2 结构化程序开发 109

4.2.1 结构化程序设计方法 109

4.2.2 表示顺序算法结构的语句 111

4.2.3 表示选择算法结构的语句 113

4.2.4 表示循环算法结构的语句 129

4.2.5 break语句和continue语句 137

4.2.6 无条件转移语句 139

习题 140

第5章 常用数值计算算法及其程序设计 143

5.1 素数判断 143

5.1.1 最简单的素数判断算法 143

5.1.2 改进后的素数判断算法 144

5.2 求最大公约数 145

5.2.1 brute-force算法 145

5.2.2 欧几里得算法 145

5.3 穷举法求满足条件的一组解 146

5.4 级数近似计算 147

5.4.1 简单方法 148

5.4.2 递推法 148

5.5 一元非线性方程求根 150

5.5.1 牛顿迭代法 150

5.5.2 二分法和弦截法 151

5.6 定积分近似计算 152

5.6.1 梯形法 152

5.6.2 矩形法 154

习题 154

第6章 函数 156

6.1 函数概述 156

6.1.1 模块化程序设计 156

6.1.2 函数 156

6.2 函数定义 160

6.2.1 函数定义形式 160

6.2.2 函数名 160

6.2.3 函数返回值类型 160

6.2.4 函数的形式参数 161

6.2.5 函数体 162

6.2.6 函数的存储类型 163

6.3 函数返回 163

6.4 函数调用 165

6.4.1 调用函数的引用性声明 165

6.4.2 函数调用 167

6.4.3 函数调用时的参数传递 170

6.4.4 函数间数据通信的实现 172

6.4.5 递归函数 173

6.5 标识符的作用域 179

6.5.1 标识符的作用域 179

6.5.2 外部对象的连接属性 183

6.6 变量的存储属性 185

6.6.1 变量的生存周期属性 185

6.6.2 变量的存储器属性 187

6.7 参数个数可变函数的定义及调用 188

6.8 编译预处理及预处理命令 190

6.8.1 预处理概念 190

6.8.2 文件包含命令 191

6.8.3 宏定义命令 192

6.8.4 条件编译命令 194

习题 196

第7章 数组 202

7.1 数组概念 202

7.2 一维数组 203

7.2.1 一维数组声明 203

7.2.2 引用一维数组元素 204

7.2.3 一维数组的初始化 205

7.2.4 使用指针间接引用一维数组元素 206

7.2.5 一维数组作函数参数 208

7.2.6 一维数组应用 211

7.3 二维数组 224

7.3.1 二维数组声明与二维数组元素引用 224

7.3.2 二维数组初始化 226

7.3.3 使用指针间接引用二维数组元素 228

7.3.4 二维数组作函数参数 230

7.3.5 二维数组应用 231

7.4 字符与字符串处理 233

7.4.1 字符处理 233

7.4.2 字符数组与字符串 235

7.4.3 字符型指针变量 236

7.4.4 字符串输入输出 237

7.4.5 字符串处理 239

7.4.6 字符串处理实例 242

7.5 指针数组及应用 249

7.5.1 指针数组 249

7.5.2 指向指针变量的指针变量 251

7.5.3 带形式参数的main函数 252

7.6 动态数组 254

习题 257

第8章 结构、联合与指针 263

8.1 结构数据类型 263

8.1.1 结构类型定义 263

8.1.2 结构类型变量声明及初始化 265

8.1.3 结构类型变量及其成员的表示与使用 267

8.1.4 结构数组 271

8.1.5 函数间结构类型数据的传递 274

8.1.6 链表 281

8.2 联合类型 292

8.3 指针小结 296

8.3.1 指针与指针变量 296

8.3.2 利用指针存取指向的数据对象 299

8.3.3 指针运算 301

8.3.4 在函数间传递数据对象的地址 302

8.3.5 指针的综合应用例 304

习题 309

第9章 文件操作 314

9.1 文件概念 314

9.2 C文件系统 314

9.3 利用高级I/O库函数存取文件 315

9.3.1 打开文件 316

9.3.2 读写文件 319

9.3.3 关闭文件 324

9.3.4 文件结尾检测与读写错误检测 325

9.3.5 文件定位 327

9.3.6 其他文件操作函数 329

习题 334

第10章 位运算 336

10.1 位运算符 336

10.1.1 位逻辑运算符 337

10.1.2 移位运算符 339

10.1.3 位运算应用实例 341

10.2 位段 342

10.2.1 位段结构 342

10.2.2 位段结构应用实例 345

习题 348

附录A ASCII字符集及其编码 350

附录B C99中的关键字 351

附录C C99运算符的优先级与结合性 352

附录D 常用的C语言库函数 354

参考文献 364