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

  • 购买积分:11 如何计算积分?
  • 作  者:朱鸣华,刘旭麟,杨微,李慧,孙大为,罗晓芳,赵晶编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2007
  • ISBN:9787111206835
  • 页数:270 页
图书介绍:本书介绍了C语言的基本概念、输入和输出、选择结构、循环结构、数组、函数、编译预处理、 文件等内容。

前言 1

第1章 C语言概述 1

1.1 C语言发展简史 1

1.2 C语言的特点 2

1.3 简单C语言程序举例 2

1.4 C语言程序的组成与结构 4

1.5 C语言程序的开发步骤 5

小结 6

习题 6

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

2.1 C语言的基本符号 8

2.1.1 标识符 8

2.1.2 常量 8

2.1.3 变量 9

2.2 C语言的数据类型 10

2.1.4 关键字 10

2.2.1 整型数据 11

2.2.2 实型数据 13

2.2.3 字符型数据 14

2.3 运算符和表达式 16

2.3.1 算术运算符和算术表达式 17

2.3.2 赋值运算符和赋值表达式 18

2.3.3 逗号运算符和逗号表达式 19

2.4 数据类型转换 20

2.4.1 不同数据类型的数据间的混合运算 20

2.4.2 强制类型转换 21

2.5 自增运算和自减运算 21

2.6 位运算 22

小结 24

习题 25

3.1.1 格式输出函数printf 27

第3章 数据的输入和输出 27

3.1 数据的输出 27

3.1.2 字符输出函数putchar 31

3.2 数据的输入 31

3.2.1 格式输入函数scanf 31

3.2.2 字符输入函数getchar 34

3.3 应用举例 34

小结 35

习题 35

第4章 选择结构 38

4.1 关系运算符和关系表达式 38

4.1.1 关系运算符 38

4.1.2 关系表达式 38

4.2 逻辑运算符和逻辑表达式 38

4.2.1 逻辑运算符 38

4.2.2 逻辑表达式 39

4.3 选择语句 40

4.3.1 if语句 40

4.3.2 if语句的嵌套 42

4.3.3 switch语句 43

4.4 条件运算符和条件表达式 45

4.5 应用举例 46

小结 50

习题 50

第5章 循环结构 53

5.1 goto语句与标号 53

5.2 while循环语句 54

5.7.3 空语句 54

5.3 do-while循环语句 56

5.4 for循环语句 57

5.6 循环嵌套 60

5.5 三种循环语句的比较 60

5.7 break语句、continue语句和空语句 62

5.7.1 break语句 62

5.7.2 continue语句 63

5.8 应用举例 65

小结 68

习题 68

第6章 数组 74

6.1 数组的概念 74

6.2 一维数组 74

6.2.1 一维数组的定义和引用 74

6.2.2 一维数组的初始化 75

6.2.3 一维数组应用举例 76

6.3.1 二维数组的定义和引用 77

6.3 二维数组 77

6.3.2 二维数组的初始化 78

6.3.3 二维数组应用举例 78

6.4 字符数组 80

6.4.1 字符数组的定义 80

6.4.2 字符数组的初始化 80

6.4.3 字符数组的引用 80

6.4.4 字符数组与字符串 81

6.4.5 字符数组的输入和输出 82

6.4.6 字符串处理函数 83

6.4.7 字符数组应用举例 85

小结 86

习题 87

第7章 函数 91

7.1 函数的基本概念 91

7.1.1 函数的概念 91

7.1.2 函数的定义 92

7.1.3 函数的调用 94

7.1.4 函数参数的传递方式 95

7.1.5 函数的返回值 96

7.1.6 函数的原型声明 97

7.2 数组作为函数参数 99

7.2.1 一维数组作为函数参数 99

7.2.2 二维数组作为函数参数 101

7.2.3 数组作为函数参数的函数调用方式 102

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

7.3.1 函数的嵌套调用 104

7.3.2 函数的递归调用 105

7.4 变量的作用域和存储方法 108

7.4.1 局部变量和全局变量 108

7.4.2 变量的存储方法 111

7.5 内部函数和外部函数 114

7.6 应用举例 115

小结 118

习题 118

第8章 编译预处理 124

8.1 宏定义 124

8.1.1 无参宏定义 124

8.1.2 带参宏定义 126

8.2 文件包含 128

8.2.1 文件包含命令的形式 128

8.2.2 文件包含的实现过程 129

8.3 条件编译 130

8.3.1 条件编译命令的形式 130

8.3.2 条件编译命令的嵌套 132

小结 133

习题 133

9.1.1 指针的基本概念 136

9.1.2 指针变量的定义方法 136

9.1 指针的基本概念及指针变量的定义 136

第9章 指针 136

9.2 指针运算 137

9.2.1 赋值运算 137

9.2.2 取地址运算 137

9.2.3 取内容运算 138

9.2.4 指针表达式与整数相加、减运算 139

9.2.5 自增、自减运算 139

9.2.6 同类指针相减运算 140

9.2.7 关系运算 140

9.2.8 强制类型转换运算 141

9.2.9 空指针 141

9.3 指针变量与一维数组 142

9.3.1 指针变量与一维数组之间的联系和区别 142

9.3.2 字符串指针与字符串 143

9.4 指针与函数 144

9.4.1 指针作为函数参数 144

9.4.2 返回指针的函数 147

9.4.3 函数的指针和指向函数的指针变量 148

9.5 指针与二维数组 150

9.5.1 二维数组的结构 150

9.5.2 二维数组元素及其地址 150

9.5.3 指针数组 152

9.5.4 指针与字符串数组 153

9.5.5 指向数组的指针变量 154

9.6 二级指针 156

9.7 内存空间的动态分配 158

9.7.1 指向void的指针 158

9.7.2 常用内存管理函数 159

9.8 main函数的参数 159

9.8.2 指针数组作为main函数的形参 160

9.8.1 命令行参数 160

9.9 应用举例 161

小结 167

习题 167

第10章 结构体与共用体 174

10.1 结构体类型和结构体变量 174

10.1.1 结构体类型的定义 174

10.1.2 结构体变量的定义 175

10.1.3 结构体变量的引用 176

10.1.4 结构体变量的初始化 177

10.2 结构体数组 177

10.2.1 结构体数组的定义 178

10.2.2 结构体数组的引用 178

10.2.3 结构体数组的初始化 179

10.3 应用举例 179

10.4.1 结构体指针变量的定义 181

10.4 结构体指针变量 181

10.4.2 结构体数组指针 182

10.5 结构体类型数据在函数间的传递 183

10.5.1 结构体变量作为函数参数 183

10.5.2 结构体指针变量作为函数参数 184

10.5.3 结构体数组作为函数参数 185

10.6 共用体 185

10.6.1 共用体类型的定义 185

10.6.3 共用体变量的引用和初始化 186

10.6.2 共用体变量的定义 186

10.7 枚举类型 189

10.7.1 枚举类型的说明 189

10.7.2 枚举型变量的定义 189

10.8 用typedef定义类型 191

小结 192

习题 193

11.1 文件概述 196

第11章 文件 196

11.2 文件类型的指针 197

11.3 文件的打开与关闭 197

11.3.1 文件的打开函数fopen 197

11.3.2 文件的关闭函数fclose 198

11.4 文件的读写 198

11.4.1 格式化读写函数fscanf和fprintf 198

11.4.2 向文件读取或写入字符函数fgetc和fputc 199

11.4.3 读写数据块函数fread和fwrite 200

11.4.4 读写字符串函数fgets和fputs 200

11.5 文件的定位 201

11.5.1 文件指针重定位函数rewind 201

11.5.2 随机读写函数fseek 201

11.5.3 取文件指针的位置函数ftell 202

习题 203

小结 203

11.5.5 检测文件指针函数feof 203

11.5.4 检测调用文件是否出错的函数ferror 203

第12章 面向对象程序设计与C++基础 207

12.1 面向对象程序设计的基本思想 207

12.1.1 结构化程序设计与面向对象程序设计的区别 207

12.1.2 面向对象程序设计的基本概念 209

12.2 面向对象程序设计语言C++简介 211

12.2.1 C++程序结构 211

12.2.2 C++对C的补充 213

12.2.3 C++中的类 216

12.2.4 C++中的构造函数和析构函数 218

12.2.5 C++中的继承 220

12.2.6 C++中的多态性、函数重载和虚函数 221

小结 223

习题 224

13.1.1 数据结构的基本概念 226

13.1 概述 226

第13章 数据结构基础 226

13.1.2 算法的基本概念 228

13.2 线性表 229

13.2.1 线牲表概述 229

13.2.2 线性表的存储及运算 229

13.3 栈和队列 233

13.3.1 栈 233

13.3.2 队列 235

13.4 树与二叉树 239

13.4.1 树的定义 239

13.4.2 二叉树 240

13.4.3 哈夫曼树 244

13.5 图 246

13.5.1 图的定义 246

13.5.2 图的存储结构 247

13.5.3 图的应用——最小生成树 248

13.6 查找 249

13.6.1 顺序查找 249

13.6.2 折半查找 250

13.6.3 散列查找 251

13.7 排序 252

小结 253

习题 254

习题参考答案 255

附录A Turbo C的主要文件 259

附录B C语言的关键字 261

附录C 双目算术运算中两边运算量类型转换规律 262

附录D 运算符的优先级和结合性 263

附录E 常用字符与ASCII码对照表 264

附录F 常用库函数 266

参考文献 270