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

  • 购买积分:12 如何计算积分?
  • 作  者:郭继展,郭勇,苏辉编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2007
  • ISBN:9787111217114
  • 页数:317 页
图书介绍:本书全面介绍了C语言程序设计等的方面的知识,配有大量的习题。

第1章 C语言概述 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 热键功能 9

1.4.4 上机操作和查错 9

1.4.5 在Turbo C中使用汉字 10

1.5 算法和算法分析 10

1.5.1 算法的概念 10

1.5.2 算法复杂度 11

习题 12

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

2.1 C语言的基本概念 14

2.1.1 C语言字符集和标识符 14

2.1.2 C语言中的字母大小写 14

2.1.3 数据类型 15

2.1.4 常量 15

2.1.5 变量 16

2.2 数值型数据 16

2.2.1 整型数据 16

2.2.2 实型数据 18

2.3 字符型数据 18

2.3.1 字符常量与变量 18

2.3.2 与整型数据的通用 20

2.3.3 字符串常量 21

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

2.4.1 算术运算符 21

2.4.2 算术表达式 22

2.4.3 数据类型转换 22

2.5 算术赋值运算 23

2.6 数值型变量的指针 25

2.6.1 变量的地址和指针 25

2.6.2 指针变量的定义 26

2.6.3 指针变量赋值与应用 26

2.7 库标准函数 27

2.7.1 标准头文件 28

2.7.2 函数库中的随机函数 28

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

习题 30

第3章 顺序结构 33

3.1 C语句概述 33

3.1.1 C程序的组成 33

3.1.2 C语句分类 33

3.2 结构化程序设计 34

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

3.2.2 3种基本结构及流程图表示 34

3.3 数据输出 35

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

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

3.4 数据输入 41

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

3.4.2 getch与getche函数 42

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

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

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

习题 50

第4章 分支结构 53

4.1 分支结构中的表达式 53

4.1.1 C语言中的逻辑值 53

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

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

4.1.4 其他形式的表达式 55

4.2 if语句 56

4.2.1 if语句的3种形式 56

4.2.2 if语句的嵌套 59

4.2.3 条件运算符 60

4.2.4 运算符优先级 61

4.2.5 程序举例 61

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

习题 66

第5章 循环结构 69

5.1 if-goto循环 69

5.2 for循环 70

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

5.2.2 for循环的执行过程 71

5.2.3 for循环使用说明 72

5.3 while循环 74

5.4 do-while循环 75

5.5 循环的嵌套 76

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

5.6.1 求和法(与误差) 78

5.6.2 穷举法(枚举法) 79

5.6.3 迭代法 81

5.6.4 递推法 83

5.6.5 整数 84

习题 86

第6章 数值型数组 91

6.1 一维数组 91

6.1.1 一维数组的定义 91

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

6.1.3 程序举例 93

6.1.4 用数组优化程序 95

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

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

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

6.3 二维数组 99

6.3.1 二维数组的定义 99

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

6.3.3 程序举例 101

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

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

6.4.2 特殊的一维数组元素作指针 105

6.4.3 二维数组行指针变量(行指针) 105

6.4.4 二维数组名用作行指针 106

习题 108

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

7.1 一维字符数组 112

7.1.1 一维字符数组定义 112

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

7.1.3 一维字符数组引用 114

7.1.4 再谈‘\0’ 114

7.2 字符指针指向字符串 115

7.2.1 一维字符数组的指针 115

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

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

7.3 二维字符数组 117

7.4 字符串处理函数 119

习题 124

第8章 模块化程序设计 128

8.1 模块化程序设计概述 128

8.2 函数 130

8.2.1 C程序由函数构成 130

8.2.2 函数的定义 131

8.2.3 函数的调用 133

8.3 实参向形参传递数值 135

8.3.1 函数的形参和实参 135

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

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

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

8.4 实参向形参传递地址 139

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

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

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

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

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

8.5 函数的嵌套调用 147

8.6 函数的递归调用 150

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

8.7.1 变量的作用域 154

8.7.2 变量的生存期 156

8.7.3 变量的存储类别 157

8.7.4 变量小结 161

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

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

8.8.2 外部函数 162

8.8.3 多文件程序运行 165

8.9 编译预处理 166

8.9.1 宏定义与宏替换 166

8.9.2 文件包含 170

8.9.3 条件编译 172

习题 174

第9章 指针 179

9.1 对指针的再认识 179

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

9.1.2 指针变量的运算 180

9.2 函数的指针 182

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

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

9.3 返回指针值的函数 187

9.4 指针数组 189

9.5 指向指针的指针 192

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

9.5.2 指向数值型指针数组 194

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

9.7 指针小结 197

9.7.1 对象与其指针 197

9.7.2 理解掌握指针 198

9.7.3 指针作函数参数 199

9.7.4 使用指针常见的错误 200

习题 202

第10章 结构体与共用体 205

10.1 结构体类型 205

10.1.1 结构体类型 205

10.1.2 结构体类型嵌套 207

10.2 结构体类型变量 208

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

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

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

10.2.4 结构体变量的指针 211

10.2.5 结构体变量举例 213

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

10.3 结构体数组 215

10.3.1 结构体数组定义 215

10.3.2 结构体数组初始化 215

10.3.3 结构体数组举例 216

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

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

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

10.4.1 静态链表 219

10.4.2 动态链表 223

10.4.3 双向链表与循环链表 230

10.5 共用体 231

10.6 枚举类型 235

10.7 用typedef声明类型新标识 239

习题 240

第11章 位运算 244

11.1 位运算符及优先级 244

11.2 位运算 245

11.2.1 6种位运算符 245

11.2.2 复合的赋值位运算符 250

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

11.3 位运算举例 251

11.4 位段 254

习题 257

第12章 文件 260

12.1 C文件概述 260

12.1.1 C语言中的文件 260

12.1.2 缓冲文件系统 262

12.1.3 文件类型指针 263

12.2 文件的打开与关闭 263

12.3 文件的读写 266

12.3.1 读写一字符函数(fgetc、fputc) 266

12.3.2 读写数据块函数(fread、fwrite) 268

12.3.3 格式化读写函数(fprintf、fscanf) 271

12.3.4 读写一个字函数(putw、getw) 273

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

12.4 文件定位函数 274

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

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

12.4.3 文件位置检测函数ftell 276

习题 277

第13章 程序综合举例 281

13.1 高质量的随机数函数 281

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

13.3 巧筛一亿以内的素数 286

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

13.5 巧算万位π值 291

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

习题 295

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

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

14.2 程序调试 299

14.3 程序(软件)测试 302

14.3.1 软件测试的基本概念 302

14.3.2 黑盒法测调试程序 303

习题 305

附录 307

附录A 思考题参考答案 307

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

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

附录D 部分C库函数 312

参考文献 317