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

  • 购买积分:10 如何计算积分?
  • 作  者:徐新华主编
  • 出 版 社:北京:中国水利水电出版社
  • 出版年份:2007
  • ISBN:7508444523
  • 页数:230 页
图书介绍:本书的最大特点是摒弃了目前流行于程序设计教材、“以语法为中心”的做法,全面贯彻“以应用为中心” 的指导思想;并用独立的“软件工程与方法”栏目形式,将软件工程思想和方法贯穿于源程序书写和程序设计,逐步形成符合软件工程要求的程序设计风格和编码风格。本书由13章组成。前12章,按ANSI C标准,全面、系统地介绍了C语言的基本知识,支持选择结构和循环结构程序设计的控制语句,以及数组、函数、编译预处理、指针、结构体、位运算和文件操作等。第13章是综合应用专题,旨在突破指针、结构体和文件操作等教学重点和难点,并通过专门设计的小型参考程序,详细介绍了一些增强程序健壮性、处理变长数据的设计思路、实现方法和技巧等。 本书适用于应用型本专科学历教育,成人本专科学历教育各专业,以及对C语言感兴趣的读者。

第二版前言 1

第一版前言 1

第1章 C语言概述 1

1.1 C语言的发展简史和特点 1

序 1

1.2 C语言源程序的结构及其书写规则 2

1.2.1 C语言程序的总体结构 2

1.2.2 函数的一般结构与函数分类 4

1.2.3 源程序书写规则 6

1.3 C语言的语句和关键字 6

1.3.1 C语言的语句 6

1.3.2 C语言的关键字 7

1.4 Turbo C++ 3.0的基本操作 7

1.5.2 方法与技巧 11

1.6 本章小结 11

1.5 软件工程与方法 11

1.5.1 软件工程评述 11

1.7 习题 12

第2章 数据类型、运算符与表达式 13

2.1 程序设计概述 13

2.1.1 算法的概念和特性 14

2.1.2 算法设计的一般方法 14

2.1.3 算法描述 15

2.1.4 结构化程序设计方法 17

2.3.1 常量 18

2.3.2 变量与标识符 18

2.2 C语言的数据类型 18

2.3 常量和变量 18

2.4 整型数据 19

2.4.1 整型变量 19

2.4.2 整型常量 20

2.5 实型数据 20

2.5.1 实型变量 20

2.5.2 实型常量 20

2.6.1 字符常量 21

2.6 字符型数据 21

2.6.2 字符变量 22

2.6.3 字符串常量 23

2.7 算术运算与算术表达式 24

2.7.1 5种基本算术运算符 24

2.7.2 表达式和算术表达式 24

2.7.3 运算符的优先级与结合性 25

2.7.4 数据类型转换 25

2.8.2 复合赋值运算 26

2.8.1 赋值运算 26

2.8 赋值运算与赋值表达式 26

2.8.3 赋值表达式 27

2.9 C语言特有的运算 27

2.9.1 自增(++)、自减(--)运算 27

2.9.2 逗号运算(,)及其表达式 29

2.10 软件工程与方法 29

2.10.1 良好的源程序书写风格——见名知义 29

2.10.2 软件工程评述 29

2.11 本章小结 30

2.10.3 方法与技巧 30

2.12 习题 32

第3章 顺序结构程序设计 33

3.1 格式化输出——printf()函数 33

3.1.1 printf()函数的一般格式 33

3.1.2 格式指示符应用举例 36

3.1.3 使用说明 38

3.2 格式化输入——scanf()函数 38

3.2.1 scanf()函数的一般格式 38

3.2.2 格式指示符 40

3.2.3 数据输入操作 41

3.3 单个字符输入输出——getchar()和 putchar()函数 41

3.3.1 单个字符输putchar()函数 42

3.3.2 单个字符输入——getchar()函数 42

3.4 顺序结构程序设计 43

3.5 软件工程与方法 44

3.5.1 良好的源程序书写风格——左对齐 44

3.6 本章小结 45

3.5.2 软件工程评述 45

3.7 习题 46

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

4.1 关系运算及其表达式 47

4.1.1 关系运算符及其优先级 48

4.1.2 关系表达式 48

4.2 逻辑运算及其表达式 48

4.2.1 逻辑运算及其优先级 49

4.2.2 逻辑表达式 49

4.3 if语句和条件运算 50

4.3.1 if语句 50

4.3.2 条件运算符 53

4.4 switch语句 54

4.5 选择结构程序设计 56

4.6 软件工程与方法 61

4.6.1 良好的源程序书写风格 61

4.6.2 软件工程评述 62

4.7 本章小结 63

4.6.3 方法与技巧 63

4.8 习题 64

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

5.1 循环语句概述 65

5.2 for语句和while语句 66

5.2.1 for语句 66

5.2.2 while语句 68

5.3 直到型循环do-while语句 69

5.4 break语句与continue语句 70

5.5 循环结构程序设计 71

5.6 软件工程与方法 74

5.6.1 良好的源程序书写风格 74

5.6.2 软件工程评述 75

5.7 本章小结 75

5.8 习题 76

第6章 数组 77

6.1 1维数组的定义、存储和引用 78

6.1.1 1维数组的定义与存储 78

6.1.2 1维数组元素的引用 79

6.1.3 1维数组元素的初始化 80

6.2 2维数组的定义、存储和引用 80

6.2.1 2维数组的定义与存储 80

6.2.2 2维数组元素的引用 82

6.2.3 2维数组元素的初始化 82

6.3 字符数组与字符串 83

6.3.1 字符数组概述 83

6.3.2 字符数组的逐个字符处理 84

6.3.3 字符数组的整体处理 85

6.4 常用的字符串处理函数 87

6.4.1 字符串输入——gets()函数 87

6.4.2 字符串输出——puts()函数 88

6.4.3 字符串比较——strcmp()函数 88

6.4.4 拷贝字符串——strcpy()函数 89

6.4.5 连接字符串——strcat()函数 89

6.5 应用案例 90

6.4.8 将小写字母转换成大写——strupr()函数 90

6.4.7 将大写字母转换成小写——strlwr()函数 90

6.4.6 求字符串长度——strlen()函数 90

6.6 软件工程与方法 94

6.6.1 软件工程评述 94

6.6.2 方法与技巧 95

6.7 本章小结 95

6.8 习题 97

7.1 函数的定义与调用 98

第7章 函数与变量作用域 98

7.1.1 函数的定义 99

7.1.2 函数的返回值与函数类型 100

7.1.3 对被调用函数的说明和函数原型 100

7.1.4 函数调用与返回 102

7.1.5 参数传递——值传递方式 103

7.2 函数的嵌套调用与递归调用 104

7.2.1 函数的嵌套调用 104

7.2.2 函数的递归调用 105

7.3.1 内部函数(又称静态函数) 107

7.3.2 外部函数 107

7.3 内部函数与外部函数 107

7.3.3 多个源文件的编译和连接 109

7.4 内部变量与外部变量 110

7.4.1 内部变量 110

7.4.2 外部变量 110

7.5 变量的动态存储与静态存储 112

7.5.1 内部变量的存储方式 112

7.5.2 外部变量的存储方式及其作用域 114

7.6.1 良好的源程序书写风格——注释 115

7.6 软件工程与方法 115

7.6.2 软件工程评述 116

7.6.3 方法与技巧 116

7.7 本章小结 116

7.8 习题 118

第8章 编译预处理 119

8.1 宏定义与符号常量 119

8.1.1 无参宏定义 119

8.1.3 有参宏定义 121

8.1.2 符号常量 121

8.2.1 文件包含的概念 123

8.2 文件包含 123

8.2.2 文件包含的一般格式 124

8.2.3 使用文件包含的优点 124

8.2.4 说明 124

8.3 条件编译 125

8.3.1 #ifdef~#endif和#ifndef~#endif命令 125

8.4.2 方法与技巧 126

8.5 本章小结 126

8.4 软件工程与方法 126

8.4.1 软件工程评述 126

8.3.2 #if~#endif 126

8.6 习题 127

第9章 指针 128

9.1 指针和指针变量的概念 128

9.1.1 内存地址 128

9.1.3 变量值的存取 129

9.1.2 变量地址 129

9.1.4 指针与指针变量 130

9.2 指针变量及其应用 131

9.2.1 指针变量的定义与相关运算 131

9.2.2 指针变量作函数参数 133

9.3.1 维数组的指针与列指针变量 136

9.3.1 使用列指针变量引用1维数组的元素 136

9.3.2 数组作函数参数 138

9.4.1 2维数组的1维化处理 139

9.4 2维数组的指针与行指针变量 139

9.4.2 2维数组的指针 140

9.4.3 行指针变量——指向由n个元素组成的1维数组的指针变量 141

9.4.4 2维数组指针作函数参数 142

9.5 字符串的指针和指向字符串的指针变量 142

9.5.1 字符串的表示与引用 143

9.5.2 字符串指针作函数参数 144

9.6 指针数组与主函数main()的参数 145

9.6.1 指针数组 145

9.6.2 主函数main()的参数 147

9.6.3 指向指针的指针变量简介 148

9.7 返回指针值的函数 149

9.8 函数的指针和指向函数的指针变量简介 150

9.9 软件工程与方法 151

9.9.1 软件工程评述 151

9.9.2 方法与技巧 151

9.10 本章小结 153

9.11 习题 155

10.1.1 结构类型定义 156

第10章 结构类型与链表 156

10.1 结构类型与结构变量的定义 156

10.1.2 结构变量定义 157

10.2 结构变量的引用与初始化 158

10.3 结构数组 159

10.4 指向结构类型数据的指针 161

10.4.1 指向结构变量的指针 161

10.4.2 指向结构数组的指针 162

10.4.3 指向结构数据的指针作函数参数 163

10.5 链表处理——结构指针的应用 164

10.5.1 概述 164

10.5.2 创建一个新链表 165

10.5.3 对链表的插入操作 167

10.6 枚举型和共用型简介 169

10.6.1 枚举型 169

10.6.2 共用型 169

10.7 定义已有类型的别名 170

10.8 软件工程与方法 171

10.9 本章小结 172

10.10 习题 173

第11章 位运算 175

11.1 数值在计算机中的表示 175

11.2 位运算 176

11.2.1 位运算及其运算符 176

11.2.2 应用举例 177

11.3.2 说明 179

11.3.1 位段类型的概念与定义 179

11.3 位段简介 179

11.4 软件工程与方法 180

11.4.1 实现按位与( )、按位或(|)、按位异或(^)运算主要用途的方法 180

11.4.2 实现按位取反运算主要用途的方法 180

11.5 本章小结 180

11.6 习题 181

12.1.2 文件分类 182

12.1.1 文件与文件名 182

12.1 C语言文件概述 182

第12章 文件 182

12.1.3 C语言的流式文件 183

12.1.4 文件类型FILE 183

12.1.5 读文件与写文件 184

12.1.6 缓冲文件系统 184

12.2 文件的打开与关闭 184

12.2.1 文件的打开——fopen()函数 185

12.3 常用的文件读写操作库函数 186

12.3.1 读/写1个字符 186

12.2.2 文件的关闭——fclose()函数 186

12.3.2 读/写1个字符串——fgets()和fputs()函数 189

12.3.3 读/写1个数据块——fread()和fwrite()函数 191

12.3.4 对文件进行格式化读/写——fscanf()和fprintf()函数 191

12.3.5 读/写函数的选用原则 192

12.4 读写位置指针与文件定位 192

12.4.1 读写位置指针复位函数rewind() 192

12.4.2 随机读写与fseek()函数 192

12.5.1 ferror()函数 193

12.5.2 clearerr()函数 193

12.4.3 返回文件当前位置的函数ftell() 193

12.5 出错检测 193

12.6 软件工程与方法 194

12.6.1 软件工程评述 194

12.6.2 方法与技巧 194

12.7 本章小结 194

12.8 习题 195

13.1.1 FoxBASE+库文件的逻辑结构与存储结构 197

13.1 FoxBASE+及其模拟系统简介 197

第13章 综合应用——FoxBASE+模拟系统 197

13.1.2 模拟系统功能简介 199

13.2 算法设计要点与参考源程序 199

13.2.1 数据结构头文件(Foxsys.h) 199

13.2.2 源程序文件(Foxsys.c) 200

13.3 软件工程与方法 209

13.3.1 增强程序健壮性的基本方法——校验并规范化 209

13.4.1 理解题 210

13.4 C语言程序设计实训项目 210

13.3.2 处理可变长度数据的基本方法——动态处理 210

13.4.2 程序设计题 211

附录A ASCII编码表(基本部分) 212

附录B C语言的运算符和结合性 213

附录C 标准库函数 214

附录D 控制语句和编译预处理命令索引 219

附录E TC++ 3.0的安装、配置、多源文件的编译连接与程序调试 222

附录F 在VC++ 6.0环境中运行C语言程序的基本操作 227

参考文献 231