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

  • 购买积分:12 如何计算积分?
  • 作  者:陈建铎主编
  • 出 版 社:西安:西北大学出版社
  • 出版年份:2008
  • ISBN:9787560424477
  • 页数:338 页
图书介绍:本书分为上下两篇。上篇主要介绍了C语言基本知识、程序设计和案例;下篇实训与课程设计指导,给出13个实训和5个课程设计项目以及相应的参考程序。

上篇 C语言程序设计 3

第1章 程序设计及C语言概述 3

1.1 算法与程序设计 3

1.1.1 算法 3

1.1.2 程序 4

1.1.3 程序设计语言与程序设计过程 5

1.2 C语言的特点 7

1.3 C语言程序结构 8

1.3.1 C语言程序的一般形式 8

1.3.2 C语言程序的主要成分 9

1.4 上机操作 11

1.4.1 Turbo C 2.0启动与退出 11

1.4.2 编辑、编译、连接、运行的基本操作 12

1.4.3 在Turbo C++环境下编辑运行C语言程序 14

1.5 流程图及N-S图 15

1.5.1 用流程图表示算法 15

1.5.2 用N-S图表示算法 16

1.6 结构化程序设计 18

1.6.1 结构化程序 18

1.6.2 结构化程序设计遵循的原则 18

1.6.3 结构化程序设计举例 19

习题一 21

第2章 C语言数据类型、运算符和表达式 23

2.1 C语言数据类型 23

2.2 常量与变量 23

2.2.1 常量与符号常量 23

2.2.2 标识符与变量 24

2.3 整型数据 26

2.3.1 整型常量 26

2.3.2 整型变量 26

2.4 实型数据 28

2.4.1 实型常量 28

2.4.2 实型变量 28

2.4.3 精度数据 29

2.5 字符型数据 30

2.5.1 字符常量 30

2.5.2 字符变量 31

2.5.3 字符串常量 33

2.6 系统函数 33

2.6.1 系统库函数 33

2.6.2 常用数学函数 34

2.7 算术运算符 35

2.7.1 基本算术运算符 35

2.7.2 算术表达式和运算符的优先级与结合性 36

2.7.3 自增自减运算符 36

2.7.4 类型转换运算符及类型转换 38

2.8 关系运算符和逻辑运算符 39

2.8.1 关系运算符 39

2.8.2 逻辑运算符 40

2.8.3 条件运算符 41

2.9 赋值运算符和赋值表达式 42

2.9.1 赋值运算中的运算符和表达式 42

2.9.2 赋值运算中的数据类型转换 42

2.9.3 算术自反赋值运算符 42

2.9.4 赋值运算符的优先级与结合性 43

2.10 逗号运算符和逗号表达式 43

2.11 运算符的优先级与表达式的类型 44

2.11.1 运算符的优先级 44

2.11.2 C语言表达式的类型 45

习题二 45

第3章 简单程序设计 47

3.1 程序设计简例 47

3.2 格式输入输出函数的一般形式 48

3.2.1 格式输入函数scanf 48

3.2.2 格式输出函数printf 50

3.3 字符输入输出函数 51

3.3.1 字符输入函数getchar 51

3.3.2 字符输出函数putchar 52

3.4 程序设计案例 53

习题三 55

第4章 结构化程序设计 57

4.1 概述 57

4.2 分支选择结构程序设计 57

4.2.1 分支选择结构 57

4.2.2 分支选择程序设计案例 62

4.3 循环结构程序设计 65

4.3.1 当型循环与直到型循环 65

4.3.2 for循环控制语句 67

4.3.3 goto转移控制语句 68

4.3.4 break语句和continue语句 68

4.4 多重循环的实现 69

4.4.1 循环语句的比较 71

4.4.2 循环程序设计案例 72

习题四 74

第5章 数组 78

5.1 一维数组 78

5.1.1 一维数组的定义和初始化 78

5.1.2 一维数组元素的引用 79

5.1.3 数列的排序程序实例 80

5.2 维数组及多维数组 81

5.2.1 二维数组的定义和初始化 82

5.2.2 二维数组元素的引用 83

5.2.3 二维数组程序设计实例 83

5.2.4 多维数组 85

5.3 字符数组与字符串 86

5.3.1 字符数组与字符串 86

5.3.2 字符数组程序设计实例 91

5.3.3 字符串处理函数 92

5.4 程序设计案例 95

习题五 96

第6章 函数 99

6.1 函数的概念 99

6.1.1 C语言程序的结构 100

6.1.2 函数的使用说明与分类 100

6.1.3 函数定义 101

6.2 函数调用 103

6.2.1 函数的调用 103

6.2.2 函数调用的3种方式 104

6.2.3 对被调用函数的声明 105

6.2.4 实参与形参的数据传送 106

6.2.5 数组名作为函数参数 108

6.3 变量的作用域和存储类型 110

6.3.1 变量的作用域 110

6.3.2 变量的存储类型 113

6.4 嵌套调用与递归函数 118

6.4.1 数的嵌套调用 118

6.4.2 递归函数 119

6.5 内部函数和外部函数 120

6.5.1 内部函数和外部函数的概念 121

6.5.2 多文件程序的运行 122

习题六 123

第7章 指针 127

7.1 内存数据的指针与指针变量 127

7.2 指针变量的定义及指针运算 128

7.2.1 指针变量的定义 129

7.2.2 指针变量的运算 129

7.2.3 指针变量作为函数的参数 132

7.3 数组元素的指针与数组的指针 134

7.3.1 数组元素的指针 134

7.3.2 数组的指针 135

7.3.3 多维数组的指针 135

7.3.4 指向由m个元素组成的一维数组的指针变量 136

7.4 函数的指针和返回指针的函数 137

7.4.1 指向函数的指针变量 137

7.4.2 返回指针的函数 138

7.5 字符指针 140

7.5.1 字符串的指针 140

7.5.2 字符数组和字符指针变量的区别 141

7.6 指针数组与指向指针的指针 141

7.6.1 指针数组 141

7.6.2 指向指针的指针 142

7.6.3 命令行参数 143

7.7 程序设计案例 144

习题七 147

第8章 结构体与共用体 151

8.1 结构体类型和结构体类型变量 151

8.1.1 结构体类型及其定义 151

8.1.2 结构体类型变量的定义 153

8.1.3 结构体类型变量及其成员的引用与初始化 155

8.2 结构体数组 156

8.2.1 结构体数组的定义及初始化 156

8.2.2 结构体数组的初始化 157

8.2.3 结构体数组的应用 157

8.3 指向结构体类型数据的指针 159

8.3.1 指向结构体变量的指针 159

8.3.2 指向结构体数组的指针 160

8.3.3 指向结构数据的指针作函数参数 161

8.4 内存的动态分配与单链表 163

8.4.1 内存的动态分配 163

8.4.2 链表的概念 164

8.4.3 链表的操作运算 165

8.5 共用体和枚举型 167

8.5.1 共用体 167

8.5.2 枚举型 168

8.6 typedef语句 169

8.6.1 typedef语句的一般形式及使用方法 169

8.6.2 使用typedef语句应注意的问题 169

8.7 结构体与共用体应用案例 170

习题八 175

第9章 位运算符与长度运算符 179

9.1 原码、反码和补码 179

9.2 移位运算符 180

9.2.1 位左移运算符 180

9.2.2 位右移运算符 180

9.3 位逻辑运算符 181

9.3.1 按位“取反”运算符 181

9.3.2 按位“与”运算符 181

9.3.3 按位“或”运算符 182

9.3.4 按位“异或”运算符 182

9.4 位自反赋值运算符 183

9.5 求长度运算符 183

9.6 位段 183

9.7 位运算案例 186

习题九 187

第10章 文件操作 189

10.1 文件概述 189

10.2 文件类型指针 190

10.3 文件的打开和关闭 190

10.3.1 文件的打开 190

10.3.2 文件的关闭 192

10.4 文件的读写 192

10.4.1 文件的字符读写函数 192

10.4.2 文件的字符串读写函数 194

10.4.3 文件的数据块读写函数 195

10.4.4 文件格式化读写函数 198

10.4.5 文件的其他读写函数 199

10.5 文件定位 200

10.5.1 rewind函数 200

10.5.2 ftell函数 201

10.5.3 fseek函数 201

10.6 文件操作中的检错检测 202

10.6.1 ferror函数 202

10.6.2 clearerror函数 202

10.6.3 feof函数 203

10.7 程序设计案例 203

习题十 206

第11章 编译预处理 209

11.1 概述 209

11.2 宏定义 209

11.2.1 不带参数的宏定义 209

11.2.2 带参数的宏定义 211

11.2.3 解除宏定义 213

11.3 文件包含 214

11.4 条件编译 215

11.5 程序设计案例 216

习题十一 219

第12章 图形处理 222

12.1 图形输出初始化和显示模式设置 222

12.1.1 图形输出初始化 222

12.1.2 显示模式的设置 224

12.1.3 退出图形方式 225

12.2 绘图函数 225

12.2.1 视区和屏幕操作函数 225

12.2.2 颜色控制函数 227

12.2.3 像素和位映像操作函数 227

12.2.4 直线类绘图函数 229

12.2.5 矩形和多边形的绘图函数 230

12.2.6 圆弧类绘图函数 231

12.2.7 填充函数 232

12.2.8 图形文本函数 233

12.3 图形处理应用实例 234

习题十二 236

下篇 实验、课程设计与参考程序 241

一、实验 241

实验一 上机练习 241

实验二 数据类型、运算符和表达式 241

实验三 简单程序设计 243

实验四 分支结构程序设计 244

实验五 循环结构程序设计 245

实验六 数组 247

实验七 函数 247

实验八 指针 248

实验九 结构体与共用体 249

实验十 位运算与长度运算符 250

实验十一 文件操作 251

实验十二 编译预处理 251

实验十三 图形处理 252

二、程序阅读 254

三、课程设计 259

课程设计一 学生成绩分段统计 259

课程设计二 中国古代民间游戏 260

课程设计三 学生成绩查询管理 260

课程设计四 学生成绩管理系统 261

课程设计五 指针时钟设计 263

四、实验参考程序 265

五、课程设计参考程序 285

六、习题参考答案 303

附录 327

附录1 C语言的字符集 327

附录2 C语言的保留字 327

附录3 C语言的库函数 327

附录4 实验报告表 336

参考文献 338