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

  • 购买积分:12 如何计算积分?
  • 作  者:郭继展编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2003
  • ISBN:7111120299
  • 页数:302 页
图书介绍:本书介绍了C语言的基本知识。

前言 1

第1章 C语言概述 1

1.1 程序设计语言 1

1.1.1 计算机语言 1

编者的话 1

1.1.2 C语言发展简述 2

1.2 C语言的特点 3

1.3 C程序预览 4

1.3.1 C程序举例 4

1.3.2 C程序构成 6

1.4 Turbo C集成环境与上机操作 7

1.4.1 Turbo C集成编程环境 7

1.4.2 文字编辑 8

1.4.3 热键功能 8

1.4.4 上机操作和查错 8

1.5 算法和算法分析 9

1.4.5 C中使用汉字 9

1.5.1 算法概念 10

1.5.2 算法复杂度 10

习题 11

第2章 C程序设计的基本知识 13

2.1 C语言的基本概念 13

2.1.1 C字符集和标识符 13

2.1.2 C中字母大小写 13

2.1.3 C数据类型 14

2.1.4 常量 14

2.1.5 变量 15

2.2 数值型数据 15

2.2.1 整型数据 15

2.2.2 实型数据 16

2.3.1 字符常量与变量 17

2.3 字符型数据 17

2.3.2 字符型数据与整型数据的通用 18

2.3.3 字符串常量 19

2.4 算术运算符和算术表达式 19

2.4.1 算术运算符 19

2.4.2 算术表达式 20

2.4.3 数据类型转换 20

2.5 算术赋值运算 21

2.6 数值型变量的指针 23

2.6.1 变量的地址和指针 23

2.6.2 指针变量的定义 23

2.6.3 指针变量赋值与应用 24

2.7 库标准函数 25

2.7.1 标准头文件 25

2.7.2 函数库中的随机函数 26

习题 27

2.7.3 本书提供的随机数函数 27

第3章 顺序结构 30

3.1 C语句概述 30

3.1.1 C程序的组成 30

3.1.2 C语句分类 30

3.2 结构化程序设计 31

3.2.1 什么是结构化程序设计 31

3.2.2 三种基本结构及流程图表示 31

3.3 数据输出 32

3.3.1 putchar函数(单字符输出函数) 33

3.3.2 printf函数(格式输出函数) 33

3.4 数据输入 37

3.4.1 getchar函数(单字符输入函数) 37

3.4.2 getch与getche函数 38

3.4.3 scanf函数(格式输入函数) 39

3.4.4 顺序结构程序设计一般步骤 41

3.5 C语言编程中的用户负责 42

习题 45

第4章 分支结构 49

4.1 分支结构中的表达式 49

4.1.1 C中的逻辑值 49

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

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

4.1.4 其他形式的表达式 51

4.2.1 if语句的三种形式 52

4.2.2 if语句的嵌套 55

4.2.3 条件运算符 56

4.2.4 运算符优先级 56

4.2 if语句 57

4.2.5 程序举例 57

4.3 switch(开关)语句与break语句 58

习题 61

第5章 循环结构 64

5.1 ifgoto循环 64

5.2 for循环 66

5.2.1 逗号运算符和逗号表达式 66

5.2.2 for循环的执行过程 66

5.2.3 for循环使用说明 67

5.3 while循环 69

5.4 dowhile循环 70

5.5 循环的嵌套 71

5.6 程序设计常用算法举例 73

5.6.1 求和法(与误差) 73

5.6.2 穷举法(枚举法) 74

5.6.3 迭代法 76

5.6.4 递推法 77

5.6.5 整数 78

习题 80

第6章 数值型数组——构造类型数据之一 85

6.1 一维数组 85

6.1.1 一维数组的定义 85

6.1.2 一维数组元素的赋值和引用 85

6.1.3 程序举例 87

6.1.4 用数组优化程序 89

6.2 一维数组的指针和指针变量 90

6.2.1 指向一维数组元素的指针变量的定义 90

6.2.2 通过指针为数组元素赋值和引用数组元素 91

6.3 二维数组 93

6.3.1 二维数组的定义 93

6.3.2 二维数组元素的赋值和引用 94

6.3.3 程序举例 95

6.4.1 二维数组元素的指针和指针变量 97

6.4 二维数组的指针和指针变量 97

6.4.2 二维数组行指针变量(行指什) 99

6.4.3 二维数组名用作行指针 100

6.4.4 特殊的一维数组元素作指针 100

习题 102

第7章 字符型数组和字符串函数 105

7.1 一维字符数组 105

7.1.1 一维字符数组定义 105

7.1.2 一维字符数组元素赋值 105

7.1.3 一维字符数组引用 107

7.1.4 再谈’\0’ 107

7.2 字符指针指向字符串 108

7.2.1 一维字符数组的指针 108

7.2.2 字符型指针直接指向字符串 109

7.2.3 字符型指针变量与字符数组比较 109

7.3 二维字符数组 110

7.4 字符串处理函数 112

习题 117

第8章 模块化程序设计 121

8.1 模块化程序设计概述 121

8.2 函数 123

8.2.1 C程序由函数构成 123

8.2.2 函数的定义 124

8.2.3 函数的调用 126

8.3 实参向形参传递数值 128

8.3.1 函数的形参和实参 128

8.3.2 变量或变量的指针表示作函数实参 129

8.3.3 数组元素或数组元素的指针表示作函数实参 129

8.3.4 函数(值)作另一函数的实参 131

8.4 实参向形参传递地址 132

8.4.1 变量的指针作函数参数 132

8.4.2 数组元素的指针作函数实参 133

8.4.3 一维数组名或其指针作函数参数 135

8.4.4 二维数组行指针作函数参数 137

8.4.5 字符串指针作函数参数 138

8.5 函数的嵌套调用 140

8.6 函数的递归调用 143

8.7 变量的作用域和变量的存储类别 146

8.7.1 变量的作用域 146

8.7.2 变量的生存期 148

8.7.3 变量的存储类别 149

8.7.4 变量小结 153

8.8 内部外部函数和多文件程序运行 154

8.8.1 内部函数(静态函数) 154

8.8.2 外部函数 154

8.8.3 多文件程序运行 157

8.9.1 宏定义与宏替换 158

8.9 编译预处理 158

8.9.2 文件包含 162

8.9.3 条件编译 164

习题 166

第9章 指针 171

9.1 对指针的再认识 171

9.1.1 从几个方面重新认识指针 171

9.1.2 指针变量的运算 172

9.2 函数的指针 174

9.2.1 用函数指针代替函数名调用函数 174

9.2.2 函数的指针作另一函数的参数 175

9.3 返回指针值的函数 178

9.4 指针数组 181

9.5 指向指针的指针 184

9.5.1 指向字符型指针数组和整型指针变量 184

9.5.2 指向数值型指针数组 186

9.6 指针数组作main函数的形参 187

9.7 指针小结 189

9.7.1 对象与其指针 189

9.7.2 理解掌握指针 190

9.7.3 作函数参数 191

9.7.4 使用指针常见的错误 192

习题 193

第10章 结构体与共用体 196

10.1 结构体类型——构造类型数据之二 196

10.1.1 结构体类型 196

10.1.2 结构体类型嵌套 198

10.2 结构体类型变量 198

10.2.1 结构体类型变量的定义 199

10.2.2 结构体类型变量的引用 200

10.2.3 结构体类型变量的初始化 201

10.2.4 结构体变量的指针 202

10.2.5 结构体变量举例 203

10.2.6 结构体变量和结构体变量的指针作函数参数 204

10.3 结构体数组 205

10.3.1 结构体数组定义 205

10.3.2 结构体数组初始化 206

10.3.3 结构体数组举例 206

10.3.4 指向结构体数组的指针 207

10.3.5 结构体数组及其指针作函数参数 208

10.4 用结构体类型指针处理链表 210

10.4.1 静态链表 210

10.4.2 动态链表 213

10.4.3 双向链表与循环链表 221

10.5 共用体——构造类型数据之三 222

10.6 枚举类型——构造类型数据之四 226

10.7 用typedef声明类型新标识——构造类型数据之五 229

习题 230

11.1 位运算符及优先级 234

第11章 位运算 234

11.2 位运算 235

11.2.1 六种位运算符 235

11.2.2 复合的赋值位运算符 240

11.2.3 不同长度数据的位运算 240

11.3 位运算举例 240

11.4 位段——构造类型数据之六 243

习题 246

第12章 文件——构造类型数据之七 249

12.1 C文件概述 249

12.1.1 C语言中的文件 249

12.1.2 缓冲文件系统 251

12.1.3 文件类型指针 251

12.2 文件的打开与关闭 252

12.3.1 读写一字符函数fgetc和fputc 255

12.3 文件的读写 255

12.3.2 读写数据块函数fread和fwrite 257

12.3.3 格式化读写函数fprintf和fscanf 259

12.3.4 读写—个字函数(putw、getw) 261

12.3.5 读写字符串函数(fgets、fputs) 261

12.4 文件定位函数 262

12.4.1 文件位置指针返回开头函数rewind 262

12.4.2 文件位置指针设置函数fseek 263

12.4.3 文件位置检测函数ftell 263

习题 264

第13章 程序综合举例 268

13.1 高质量的随机数函数 268

13.2 用数组实现任意位精度运算 271

13.3 巧筛一亿内的素数 273

13.4 哥德巴赫猜想的筛法验证 276

13.5 巧算万位π值 277

13.6 计算机辅助数学证明:数学黑洞153 280

习题 282

第14章 程序常见错误、调试和测试 283

14.1 Turbo C编译常见错误对照 283

14.2 程序调试 285

14.3 程序(软件)测试 288

14.3.1 软件测试的基本概念 288

14.3.2 黑盒法测调试程序 289

习题 291

附录 292

附录A 思考题参考答案 292

附录B ASCII代码与字符对照表 295

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

附录D C库函数 297

参考文献 302