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

  • 购买积分:12 如何计算积分?
  • 作  者:谭浩强著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2014
  • ISBN:9787302369646
  • 页数:337 页
图书介绍:本书的特点与基本内容,并在以下两个方面作了改进:(1)采用C99标准,对程序进行改写,以符合国际潮流。(2)文字说明更加清晰和容易理解,通过程序实例来介绍怎样进行C程序设计。在介绍程序时,采取:提出问题--解题思路--编写程序--运行结果--程序分析--程序改进--思考问题的步骤展开。以启迪思路,培养科学思维方法。

第1章 程序设计与C语言 1

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

1.2 C语言的出现和发展过程 2

1.3 简单的C语言程序 2

1.4 运行C程序的步骤与方法 7

1.4.1 运行C程序的步骤 7

1.4.2 上机运行C程序的方法 8

本章小结 15

习题 16

第2章 数据的存储与运算 17

2.1 数据在计算机中是怎样存储的 17

2.1.1 数据在计算机中是以二进制形式存储的 17

2.1.2 位、字节和地址 18

2.1.3 不同类型数据的存储方式 19

2.2 整型数据的运算与分析 21

2.2.1 整型数据运算程序举例和分析 21

2.2.2 整型常量与整型变量 23

2.3 实型数据的运算与分析 26

2.3.1 实型数据的运算举例 26

2.3.2 实型常量的表示形式 28

2.3.3 实型变量 29

2.4 字符型数据的运算 31

2.4.1 字符数据运算的简单例子 31

2.4.2 字符常量和字符变量 32

2.4.3 字符串常量 36

2.5 符号常量 37

2.5.1 为什么要用符号常量 38

2.5.2 符号常量的性质和使用方法 40

2.6 算术运算符和算术表达式 41

2.6.1 算术运算符 41

2.6.2 算术表达式 43

2.7 C运算符和C表达式 45

2.7.1 C运算符 45

2.7.2 C表达式 46

2.8 提高部分 46

2.8.1 求补码的方法 46

2.8.2 整型常量的表示形式 47

2.8.3 整型变量的类型 47

2.8.4 整型常量的类型 48

2.8.5 C语言允许使用的数据类型 49

2.8.6 运算符的优先级与结合性 50

本章小结 50

习题 51

第3章 最简单的C程序设计——顺序程序设计 53

3.1 算法是程序的灵魂 53

3.1.1 什么是算法 53

3.1.2 怎样表示算法 55

3.2 程序的三种基本结构 58

3.3 C语句综述 59

3.4 赋值表达式和赋值语句 62

3.4.1 赋值表达式 62

3.4.2 赋值过程中的类型转换 64

3.4.3 赋值语句 65

3.4.4 变量赋初值 66

3.5 数据输入输出的概念 67

3.6 字符数据的输入输出 68

3.6.1 用putchar函数输出一个字符 69

3.6.2 用getchar函数输入一个字符 70

3.7 简单的格式输入与输出 72

3.7.1 用简单的printf函数输出数据 72

3.7.2 用简单的scanf函数输入数据 76

3.8 顺序结构程序设计举例 79

3.9 提高部分 83

3.9.1 关于无符号数据与有符号数据之间的赋值 83

3.9.2 较复杂的输入输出格式控制 85

3.9.3 简单易用的C+++的输入输出 92

本章小结 93

习题 94

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

4.1 条件判断 96

4.1.1 条件判断的含义 96

4.1.2 关系运算符和关系表达式 97

4.1.3 逻辑运算符和逻辑表达式 98

4.2 用if语句实现选择结构 102

4.2.1 用if语句实现选择结构举例 102

4.2.2 if语句的一般形式 104

4.2.3 if语句使用的说明 104

4.2.4 使用嵌套的if语句实现多层条判断 106

4.3 利用switch语句实现多分支选择结构 110

4.4 程序综合举例 112

4.5 提高部分 116

4.5.1 用条件表达式实现简单的选择结构 116

4.5.2 在程序中使用条件表达式 118

本章小结 119

习题 120

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

5.1 程序中需要用循环结构 123

5.2 用while语句和do-while语句实现循环 124

5.2.1 用while语句实现循环 124

5.2.2 用do-while语句实现循环 126

5.3 用for语句实现循环 128

5.3.1 for语句的一般形式和执行过程 128

5.3.2 for循环程序举例 129

5.4 循环的嵌套 133

5.5 提前结束循环 133

5.5.1 用break语句提前退出循环 133

5.5.2 用continue语句提前结束本次循环 135

5.6 几种循环的比较 137

5.7 循环程序综合举例 137

5.8 提高部分 142

5.8.1 while和do-while循环的比较 142

5.8.2 for语句的各种形式 143

本章小结 147

习题 147

第6章 利用数组处理批量数据 149

6.1 为什么要用数组 149

6.2 怎样定义和引用一维数组 149

6.2.1 怎样定义一维数组 150

6.2.2 怎样引用一维数组的元素 150

6.2.3 一维数组的初始化 152

6.2.4 一维数组程序举例 153

6.3 怎样定义和引用二维数组 156

6.3.1 怎样定义二维数组 156

6.3.2 怎样引用二维数组的元素 157

6.3.3 二维数组的初始化 157

6.3.4 二维数组程序举例 159

6.4 字符数组 162

6.4.1 怎样定义字符数组及对其初始化 162

6.4.2 怎样引用字符数组 163

6.4.3 字符串和字符串结束标志 164

6.4.4 怎样进行字符数组的输入输出 166

6.4.5 字符串处理函数 168

6.4.6 字符数组应用举例 169

6.5 提高部分 173

6.5.1 为什么在定义二维数组时采用两对双括号的形式 173

6.5.2 对C的字符串函数的详细说明 174

本章小结 178

习题 179

第7章 用函数实现模块化程序设计 181

7.1 函数是什么 181

7.2 函数的定义和调用 184

7.2.1 为什么要定义函数 184

7.2.2 怎样定义函数 184

7.2.3 怎样调用函数 185

7.2.4 对被调用函数的声明和函数原型 188

7.3 函数的嵌套调用和递归调用 191

7.3.1 函数的嵌套调用 191

7.3.2 函数的递归调用 193

7.4 数组作为函数参数 199

7.4.1 用数组元素作函数实参 199

7.4.2 用数组名作函数参数 200

7.5 变量的作用域和生存期 207

7.5.1 变量的作用域——局部变量和全局变量 207

7.5.2 变量的存储方式和生存期 210

7.5.3 关于作用域和生存期的小结 214

7.6 内部函数和外部函数 215

7.6.1 什么是内部函数 215

7.6.2 什么是外部函数 215

7.7 提高部分 218

7.7.1 实参求值的顺序 218

7.7.2 递归的典型例子——Hanoi(汉诺)塔问题 218

本章小结 221

习题 223

第8章 善于使用指针 225

8.1 什么是指针 225

8.2 指针变量 226

8.2.1 使用指针变量访问变量的例子 226

8.2.2 怎样定义指针变量 228

8.2.3 怎样引用指针变量 229

8.2.4 指针变量作为函数参数 231

8.3 通过指针引用数组 236

8.3.1 数组元素的指针 236

8.3.2 通过指针引用数组元素 237

8.3.3 用数组名作函数参数 241

8.4 通过指针引用字符串 246

8.4.1 字符串的表示形式 246

8.4.2 字符指针作函数参数 250

8.4.3 使用字符指针变量和字符数组的区别 254

8.5 提高部分 257

8.5.1 指针使用的技巧 257

8.5.2 多维数组的指针 259

8.5.3 指向函数的指针 260

8.5.4 返回指针值的函数 260

8.5.5 指针数组 261

8.5.6 多重指针——指向指针的指针 262

本章小结 263

习题 265

第9章 使用结构体类型处理组合数据——用户自定义数据类型 267

9.1 定义和使用结构体变量 267

9.1.1 自己建立结构体类型 267

9.1.2 定义结构体类型变量 269

9.1.3 结构体变量的初始化和引用 271

9.2 结构体数组 275

9.3 结构体指针 278

9.4 用结构体变量和结构体变量的指针作函数参数 282

9.5 用指针处理链表 285

9.5.1 什么是线性链表 285

9.5.2 建立简单的静态链表 286

9.5.3 建立动态链表 287

9.6 提高部分 289

9.6.1 共用体类型 289

9.6.2 枚举类型 290

本章小结 293

习题 294

第10章 利用文件保存数据 295

10.1 C文件的有关概念 295

10.1.1 什么是文件 295

10.1.2 文件名 296

10.1.3 文件的分类 296

10.1.4 文件缓冲区 297

10.1.5 文件指针 297

10.2 文件的打开与关闭 298

10.2.1 用fopen函数打开数据文件 298

10.2.2 用fclose函数关闭文件 300

10.3 文件的顺序读写 300

10.3.1 向文件读写字符 301

10.3.2 向文件读写一个字符串 304

10.3.3 文件的格式化读写 308

10.3.4 用二进制方式读写文件 308

10.4 文件的随机读写 312

10.4.1 文件位置标记及其定位 313

10.4.2 随机读写文件 315

10.5 提高部分 317

10.5.1 系统定义的文件指针 317

10.5.2 回车换行符的转换 317

10.5.3 fread和fwrite函数用于二进制文件的输入输出 318

10.5 4文件读写的出错检测 318

本章小结 319

习题 320

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

附录B C语言中的关键字 323

附录C 运算符和结合性 324

附录D C语言常用语法提要 326

附录E C库函数 331

参考文献 337