《C语言程序设计 面向工程应用实践》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:牛连强,冯海文,侯春光编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2017
  • ISBN:9787121306747
  • 页数:268 页
图书介绍:本书的内容共分10章。第1章介绍程序设计的基本概念、常识以及C语言的初步知识,可完成对C语言、程序设计及设计环境的基本了解。第2章和第3章介绍数据、运算、输入输出、顺序与与分支流程控制,可满足设计简单但完整的C语言程序的要求。第4章介绍循环结构以及数组的基本应用方法,可以解决稍微复杂的实际问题。第5章介绍函数,能够较全面了解C语言程序的组织结构和模块化的程序设计技术。第6章介绍指针,这是C语言”高级”能力的体现。第7章介绍字符串,这是应用广泛且能够体现C语言程序设计技巧的内容。第8章介绍了利用指针访问数组的方法、动态内存管理、指向函数的指针以及类型识别与描述方法,集中讨论了几种与指针相关的复杂概念和技术。第9章介绍自定义的数据类型,包括枚举、结构体和共用体,使程序能够顺利描述复杂的对象,建立复杂的数据结构。第10章介绍文件操作,完成数据在内存与磁盘文件之间的交互。

第1章 概述 1

1.1 程序设计基础 1

1.1.1 问题的求解过程 1

1.1.2 算法及其描述 2

1.1.3 模块化与结构化 4

1.2 C语言及其特点 5

1.2.1 C语言的产生和发展 5

1.2.2 C语言的主要特点 5

1.3 C语言程序的基本结构 6

1.4 高级语言程序的处理过程 10

1.5 利用Visual C++6.0环境编写和运行C语言程序 11

1.5.1 VC6环境的安装与运行 12

1.5.2 编制一个(控制台)源程序 13

1.5.3 编译、链接与运行程序 14

1.5.4 程序调试技术 15

1.5.5 简单的程序调试与纠错 17

1.6 习题 19

1.7 编程实战 20

第2章 数据与运算 21

2.1 标识符与关键字 21

2.1.1 标识符 21

2.1.2 关键字 22

2.2 数据类型 22

2.3 常量 23

2.3.1 直接常量与符号常量 23

2.3.2 整型常量 24

2.3.3 字符型常量与字符串常量 25

2.3.4 浮点型常量 28

2.4 变量 29

2.4.1 变量定义与初始化 29

2.4.2 整型变量 31

2.4.3 字符型变量 32

2.4.4 浮点型变量 33

2.5 算术运算与赋值运算 33

2.5.1 运算符和表达式 34

2.5.2 算术运算 35

2.5.3 赋值运算 35

2.5.4 自加和自减运算 38

2.6 关系运算和逻辑运算 39

2.6.1 逻辑值 39

2.6.2 关系运算 40

2.6.3 逻辑运算 41

2.7 位运算 44

2.7.1 位运算符及表达式 44

2.7.2 位运算操作 44

2.8 sizeof运算与逗号运算 48

2.8.1 sizeof运算符 48

2.8.2 逗号运算符 49

2.9 数据类型转换 50

2.9.1 隐式类型转换 50

2.9.2 显式类型转换 51

2.10 习题 52

2.11 编程实战 54

第3章 简单程序设计 55

3.1 C语言语句概述 55

3.1.1 语句分类 55

3.1.2 语句的形式 56

3.2 数据输出 58

3.2.1 输出一个字符 58

3.2.2 按自定义格式输出数据 59

3.3 数据输入 62

3.3.1 输入一个字符 62

3.3.2 按自定义格式输入数据 63

3.4 分支结构 66

3.4.1 条件运算符与条件表达式 66

3.4.2 if语句 67

3.4.3 switch语句与多分支处理 72

3.5 习题 76

3.6 编程实战 77

第4章 循环结构与数组 78

4.1 while语句与do while语句 78

4.1.1 while语句 78

4.1.2 do while语句 80

4.2 for语句 82

4.2.1 for语句的语法 82

4.2.2 for语句的特殊形式 83

4.3 流程转移语句 85

4.3.1 break语句 85

4.3.2 continue语句 86

4.3.3 goto语句 87

4.4 循环结构的应用 88

4.5 一维数组的定义和引用 91

4.5.1 一维数组的定义 91

4.5.2 一维数组的引用 92

4.5.3 一维数组的定义初始化 93

4.6 一维数组的应用 94

4.7 二维数组 97

4.7.1 二维数组的定义与引用 97

4.7.2 二维数组的定义初始化 98

4.7.3 二维数组的应用 99

4.8 习题 101

4.9 编程实战 103

第5章 函数 104

5.1 函数的定义与声明 104

5.1.1 函数定义 104

5.1.2 函数声明 107

5.2 函数调用及返回 108

5.2.1 函数的调用过程 108

5.2.2 用return语句控制函数返回 109

5.3 形参与实参 111

5.3.1 函数的形式参数 111

5.3.2 实参与形参的匹配 112

5.3.3 函数调用表达式 112

5.4 参数的传值调用规则 114

5.5 递归调用 116

5.5.1 递归调用过程 116

5.5.2 典型的递归问题与函数示例 118

5.6 变量的存储属性 120

5.6.1 变量的生存期与作用域 120

5.6.2 局部变量 121

5.6.3 外部变量 125

5.6.4 static修饰、变量屏蔽和外部变量的使用 127

5.7 编译预处理指令 129

5.7.1 宏定义 129

5.7.2 文件包含 131

5.7.3 条件编译 132

5.8 习题 132

5.9 编程实战 135

第6章 指针 138

6.1 指针与指针变量 138

6.1.1 指针是经过包装的地址 138

6.1.2 指针变量 140

6.2 指针变量的赋值与指针的间接引用 141

6.2.1 指针变量的赋值 141

6.2.2 运算符与间接访问 142

6.2.3 指针变量的初始化 144

6.3 指针的运算 145

6.3.1 指针的加减算术运算 145

6.3.2 指针的自加和自减运算 147

6.3.3 指针的比较 147

6.4 指针作函数的参数 148

6.4.1 修改实参变量的值 148

6.4.2 从被调用函数取得信息 150

6.5 利用指针访问一维数组 151

6.5.1 利用指针实现快速数组元素访问 151

6.5.2 一维数组名的指针含义 152

6.5.3 指针与数组的一致性 153

6.6 向函数传递一维数组 154

6.7 习题 158

6.8 编程实战 161

第7章 字符串 162

7.1 用字符数组作字符串变量 162

7.1.1 对字符数组的特殊处理 162

7.1.2 用作字符串变量的字符数组初始化 164

7.2 指向字符串常量的指针变量 165

7.2.1 界限模糊的字符串常量与变量 165

7.2.2 利用const限制指针的行为 166

7.3 字符串的输出与输入 167

7.3.1 字符串输出 167

7.3.2 字符串输入 168

7.3.3 内存格式化 169

7.4 字符串操作 170

7.4.1 向函数传递字符串 170

7.4.2 返回指针的函数 171

7.4.3 字符串运算函数 173

7.4.4 字符串处理函数的设计 176

7.5 指针数组 178

7.5.1 指针数组的定义与引用 178

7.5.2 字符串数组 179

7.6 指向指针的指针 181

7.6.1 指向指针的指针常量与变量 181

7.6.2 指针数组作函数参数 183

7.7 习题 184

7.8 编程实战 187

第8章 与指针相关的其他技术 189

8.1 二维数组的指针访问 189

8.1.1 二维数组的一维表示 189

8.1.2 二维数组名的指针含义 190

8.1.3 指向一维数组的指针变量 192

8.1.4 二维数组作函数参数 193

8.1.5 利用二维数组实现的字符串数组 195

8.2 动态内存管理 196

8.2.1 动态内存的申请与使用 197

8.2.2 calloc函数与realloc函数 199

8.3 指向函数的指针 201

8.3.1 指向函数的指针常量与变量 202

8.3.2 函数指针的应用 203

8.4 定义的识别与数据类型的显式描述 205

8.4.1 由运算识别复杂的定义 205

8.4.2 用typedef显式描述数据类型 207

8.5 习题 209

8.6 编程实战 211

第9章 自定义数据类型 212

9.1 枚举 212

9.2 结构体类型 214

9.2.1 结构体类型的定义 214

9.2.2 结构体类型的变量定义 216

9.3 结构体变量的引用 217

9.3.1 引用结构体成员 217

9.3.2 结构体变量的初始化 218

9.3.3 整体引用结构体变量 218

9.3.4 结构体对象在函数间的传递 219

9.4 结构体数组和指针 220

9.4.1 结构体数组 220

9.4.2 结构体指针 221

9.5 结构体指针的应用——链表 224

9.5.1 单向链表及其支撑结构 224

9.5.2 链表的创建与访问 225

9.5.3 链表结点的查找、插入与删除 227

9.6 位段 231

9.7 共用体 232

9.8 习题 233

9.9 编程实战 235

第10章 文件 236

10.1 文件概述 236

10.1.1 文件的概念 236

10.1.2 文本流与二进制流 236

10.1.3 标准I/O和系统I/O 237

10.2 文件的打开与关闭 238

10.2.1 文件类型与文件指针 238

10.2.2 文件的打开 238

10.2.3 文件的关闭 241

10.3 文件的顺序读写 242

10.3.1 字符读写函数fgetc和pfutc 242

10.3.2 文件尾检测 243

10.3.3 getw函数和putw函数 245

10.3.4 读写字符串函数fgets和fputs 246

10.3.5 格式化读写函数fscanf和fprintf 247

10.3.6 按块读写函数fread和fwrite 248

10.4 文件的随机读写 251

10.4.1 以读/写方式打开文件 251

10.4.2 fseek函数与读写位置的随机定位 252

10.5 相关函数 253

10.6 习题 254

10.7 编程实战 255

附录A 常用字符与ASCII码对照表 257

附录B 运算符的优先级与结合性 258

附录C C++Builder编程环境的使用 259

附录D DEV-C++编程环境简介 264

参考文献 267