图书目录

第1章计算机程序设计算法实现1

1.1程序设计概述1

1.1.1程序设计语言1

1.1.2程序设计过程3

1.2程序设计算法与实现4

1.3计算机程序算法的表示5

1.3.1自然语言描述6

1.3.2程序流程图描述6

1.3.3NS图描述7

1.3.4程序设计语言描述8

1.4程序算法实现案例分析12

1.5练习题15

第2章C语言程序的组成与编译运行16

2.1C语言程序设计概述16

2.1.1C语言程序设计的发展16

2.1.2C语言程序设计的特点17

2.1.3C语言程序的组成结构19

2.2C语言程序的编译与运行21

2.2.1编辑调试与编译运行步骤21

2.2.2常用编译运行环境22

2.3C语言的语义规范34

2.3.1C语言程序的基本规范34

2.3.2C语言的标识符37

2.3.3C语言的保留关键字38

2.4练习题38

第3章数据存储类型与相关运算39

3.1数据存储方式39

3.1.1数据存储与数制转换39

3.1.2数据存储类型与定义41

3.1.3存储地址与占用空间43

3.1.4数据常量分类45

3.1.5程序变量定义49

3.2数据存储方式与应用50

C程序设计案例教程(第2版)目录3.2.1数据存储的正负数问题51

3.2.2数据变量取值范围52

3.2.3实型数据存储方式56

3.2.4字符型数据存储方式59

3.2.5各种存储类型混合运算61

3.3运算符与运算表达式62

3.3.1运算符优先级与强制类型转换63

3.3.2算术运算符与算术运算表达式65

3.3.3赋值运算符与赋值运算表达式68

3.3.4逗号运算符与逗号运算表达式71

3.3.5关系运算符与关系运算表达式72

3.3.6逻辑运算符与逻辑运算表达式74

3.3.7条件运算符与条件运算表达式76

3.4练习题78

第4章顺序结构程序设计80

4.1C程序设计流程控制80

4.1.1基本流程控制80

4.1.2顺序结构流程控制81

4.2基本顺序结构命令语句83

4.2.1赋值语句83

4.2.2空语句83

4.2.3复合语句84

4.2.4无条件转向语句84

4.2.5函数调用语句85

4.2.6表达式语句86

4.3常用基本输入输出函数87

4.3.1字符类型输入函数87

4.3.2字符类型输出函数89

4.3.3格式化输入输出函数90

4.4练习题97

第5章条件分支选择结构程序设计99

5.1条件分支选择结构99

5.1.1简单if分支选择结构99

5.1.2ifelse分支选择结构101

5.1.3嵌套的ifelse选择结构103

5.1.4else if多路分支选择结构107

5.2switchcase条件选择语句109

5.2.1switchcase条件选择结构110

5.2.2switchcase条件选择语句的应用112

5.3综合案例分析116

5.4练习题121

第6章循环控制结构程序设计123

6.1循环控制结构123

6.1.1循环控制结构组成要素123

6.1.2while()循环控制结构124

6.1.3dowhile()循环控制结构131

6.1.4for()循环控制结构134

6.2循环控制结构的嵌套139

6.3循环控制结构的辅助控制命令142

6.3.1无条件转移命令goto语句142

6.3.2终止循环执行命令break语句143

6.3.3返回循环条件命令continue146

6.4几种循环控制结构的比较148

6.5循环控制结构综合案例分析148

6.6练习题154

第7章数组的定义及应用156

7.1数组的性质156

7.2一维数组的定义与引用158

7.2.1一维数组的定义158

7.2.2一维数组元素的引用159

7.2.3一维数组的初始化160

7.2.4一维数组应用案例161

7.3多维数组的定义与引用167

7.3.1二维数组的定义与引用167

7.3.2二维数组程序算法案例172

7.3.3三维数组的定义与引用176

7.3.4多维数组的应用177

7.4字符数组与字符串操作178

7.4.1字符数组的定义与初始化178

7.4.2字符串的处理及应用180

7.4.3常用的字符串处理函数182

7.4.4字符数组应用案例189

7.5练习题194

第8章函数与变量196

8.1C语言函数的分类与应用196

8.1.1C语言函数分类196

8.1.2系统标准库函数198

8.1.3自定义函数200

8.2自定义函数与函数类型203

8.3自定义函数参数与参数传递204

8.3.1形式参数和实际参数204

8.3.2数组作为函数参数206

8.4自定义函数的调用209

8.5函数的嵌套调用210

8.6函数的递归调用212

8.7函数变量的存储与作用域216

8.7.1局部变量216

8.7.2全局变量218

8.8动态存储变量和静态存储变量222

8.8.1程序变量的存储类型222

8.8.2auto型变量224

8.8.3extern型变量225

8.8.4static型局部变量与全局变量225

8.8.5register型变量227

8.9全局函数和局部函数227

8.9.1局部函数228

8.9.2全局函数228

8.10函数与变量综合案例分析231

8.11练习题238

第9章编译预处理242

9.1编译预处理命令242

9.2宏定义与宏代换243

9.2.1不带参数的宏定义244

9.2.2带参数的宏定义245

9.2.3宏定义作用域的终止249

9.3文件包含处理251

9.4条件编译253

9.5练习题257

第10章地址与指针变量259

10.1变量的内存地址与指针259

10.1.1指针变量的定义261

10.1.2指针变量的赋值262

10.1.3指针变量运算符及运算263

10.1.4指针变量作函数参数266

10.2数组与地址指针268

10.2.1指向数组的指针变量268

10.2.2指向数组元素的指针变量269

10.2.3数组名作函数参数272

10.2.4指针变量作函数参数274

10.2.5多维数组与指针变量277

10.3字符串与指针变量281

10.3.1字符串处理方法281

10.3.2字符串指针作函数参数285

10.4函数的指针及指向函数的指针变量287

10.4.1函数指针变量的定义288

10.4.2用函数指针调用函数288

10.4.3用函数指针变量作函数参数289

10.4.4返回指针值的指针函数291

10.5指针数组与指向指针数组的指针变量293

10.5.1指针数组293

10.5.2指向指针的指针变量296

10.6main()命令行参数传递298

10.7指针变量综合案例300

10.8练习题305

第11章构造类型与自定义类型308

11.1结构体类型与结构体变量308

11.1.1结构体类型的定义308

11.1.2结构体类型变量的定义及引用310

11.2结构体数组的定义及引用315

11.2.1结构体数组的定义及初始化315

11.2.2结构体数组的引用316

11.3指向结构体类型数据的指针318

11.3.1指向结构体变量的指针318

11.3.2指向结构体数组的指针319

11.3.3结构体类型作为函数参数321

11.4链表结构及应用325

11.4.1静态链表的创建及引用326

11.4.2动态链表的创建及引用327

11.4.3单向动态链表的创建及引用329

11.4.4在单向动态链表中插入结点334

11.4.5从单向动态链表中删除结点339

11.5共用体类型与共用体变量344

11.5.1共用体类型及共用体变量的定义345

11.5.2共用体变量的引用346

11.6枚举类型与枚举变量349

11.6.1枚举类型的定义349

11.6.2枚举类型变量349

11.7自定义数据类型说明符351

11.8练习题357

第12章位运算操作358

12.1位运算符及运算操作358

12.1.1位运算及运算符358

12.1.2按位与运算359

12.1.3按位或运算360

12.1.4按位异或运算361

12.1.5按位取反运算361

12.1.6按位左移运算362

12.1.7按位右移运算363

12.1.8复合赋值位运算364

12.2位段定义及应用364

12.2.1位段的定义364

12.2.2位段的引用366

12.3位运算操作应用案例367

12.4练习题369

第13章文件系统管理与操作370

13.1文件的组成结构370

13.1.1文件的概念与构成370

13.1.2文件系统操作形式372

13.2缓冲型文件的操作与使用373

13.2.1缓冲型文件结构类型与文件指针373

13.2.2缓冲型文件的标准库函数374

13.3文件的打开与关闭375

13.3.1文件打开函数与操作模式375

13.3.2文件关闭函数的使用379

13.4文件中数据的读写操作380

13.4.1文件中字符数据的读写操作380

13.4.2文件中字符串数据的读写操作384

13.4.3文件中数值数据的读写操作387

13.4.4文件中数据的格式化读写操作389

13.5文件位置指针的定位392

13.5.1文件指针的定位操作392

13.5.2文件指针复位函数392

13.5.3当前指针位置测试函数393

13.5.4定位指针位置函数394

13.6文件操作错误的检测395

13.6.1文件读写操作检测函数396

13.6.2文件错误状态清除函数397

13.7其他缓冲型文件函数398

13.7.1文件结束位置测试函数398

13.7.2磁盘文件删除函数399

13.8文件操作管理综合应用案例分析401

13.9练习题404

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

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

参考文献410

1.1程序设计概述1

1.1.1程序设计语言1

1.1.2程序设计过程3

1.2程序设计算法与实现4

1.3计算机程序算法的表示5

1.3.1自然语言描述6

1.3.2程序流程图描述6

1.3.3NS图描述7

1.3.4程序设计语言描述8

1.5程序算法实现案例分析12

1.6练习题15

第2章C程序设计组成与编译运行16

2.1C语言程序设计概述16

2.1.1C语言程序设计的发展16

2.1.2C程序设计特点17

2.1.3C程序设计组成结构19

2.2C程序设计的编译与运行21

2.2.1编辑调试与编译运行步骤21

2.2.2常用编译运行环境22

2.3C语言程序设计语义规范34

2.3.1C语言程序的基本规范34

2.3.2C语言程序设计标识符37

2.3.3C语言的保留关键字38

2.4练习题38

第3章数据存储类型与相关运算39

3.1数据存储方式39

3.1.1数据存储与数制转换39

3.1.2数据存储类型与定义41

3.1.3存储地址与占用空间44

3.1.4数据常量分类45

3.1.5程序变量定义49

3.2数据存储方式与应用51

3.2.1数据存储的正负数问题51

3.2.2数据变量取值范围52

3.2.3实型数据存储方式56

3.2.4字符型数据存储方式59

3.2.5各种存储类型混合运算62

3.3运算符与运算表达式63

3.3.1运算符优先级与数据类型转换63

3.3.2算术运算符与算术运算表达式65

3.3.3赋值运算符与赋值运算表达式69

3.3.4逗号运算符与逗号运算表达式71

3.3.5关系运算符与关系运算表达式73

3.3.6逻辑运算符与逻辑运算表达式74

3.3.7条件运算符与条件运算表达式76

3.4练习题78

第4章顺序结构程序设计80

4.1C程序设计流程控制80

4.1.1基本流程控制80

4.1.2顺序结构流程控制81

4.2基本顺序结构命令语句83

4.2.1基本顺序命令83

4.2.2表达式语句86

4.3常用基本输入输出函数87

4.3.1字符类型输入函数87

4.3.2字符类型输出函数89

4.3.3格式化输入输出函数90

4.4练习题97

第5章条件分支选择结构程序设计99

5.1条件分支选择结构99

5.1.1简单if分支选择结构99

5.1.2ifelse分支选择结构101

5.1.3嵌套的ifelse选择结构103

5.1.4elseif多路分支选择结构107

5.2switchcase条件选择开关语句109

5.2.1switchcase条件选择结构110

5.2.2switchcase条件选择语句112

5.3综合案例分析116

5.4练习题121

第6章循环控制结构程序设计123

6.1循环控制结构123

6.1.1循环控制结构组成要素123

6.1.2while()循环控制结构124

6.1.3dowhile()循环控制结构131

6.1.4for()循环控制结构134

6.2循环控制结构的嵌套139

6.3循环控制结构的辅助控制命令142

6.3.1无条件转移命令goto语句142

6.3.2终止循环执行命令break语句143

6.3.3返回循环条件命令continue语句146

6.4几种循环控制结构的比较148

6.5循环控制结构综合案例分析148

6.6练习题154

第7章数组的定义及应用156

7.1数组的性质156

7.2一维数组的定义与引用158

7.2.1一维数组的定义158

7.2.2一维数组元素的引用159

7.2.3一维数组的初始化160

7.2.4一维数组应用案例161

7.3多维数组的定义与应用167

7.3.1二维数组的定义与引用167

7.3.2二维数组程序算法案例172

7.3.3三维数组的定义与应用176

7.3.4多维数组的应用177

7.4字符数组与字符串操作178

7.4.1字符数组的定义与初始化178

7.4.2字符串的处理及应用180

7.4.3常用的字符串处理函数182

7.4.4字符数组应用案例189

7.5练习题194

第8章函数与变量的作用196

8.1C语言函数的分类与应用196

8.1.1C语言函数分类196

8.1.2系统标准库函数198

8.1.3自定义函数200

8.2自定义函数与函数类型203

8.3自定义函数参数与参数传递204

8.3.1形式参数和实际参数204

8.3.2数组作为函数参数206

8.4自定义函数的调用209

8.5函数的嵌套调用210

8.6函数的递归调用212

8.7函数变量的存储与作用域216

8.7.1局部变量216

8.7.2全局变量218

8.8动态存储变量和静态存储变量222

8.8.1程序变量的存储类型222

8.8.2auto型动态存储变量224

8.8.3extern全程变量225

8.8.4static静态局部变量与静态全局变量225

8.8.5register型寄存器变量227

8.9全局函数和局部函数228

8.9.1static局部函数228

8.9.2extern全局函数228

8.10函数与变量综合案例分析231

8.11练习题239

第9章编译预处理243

9.1编译预处理命令243

9.2宏定义与宏代换244

9.2.1不带参数的宏定义245

9.2.2带参数的宏定义246

9.2.3宏定义作用域的终止250

9.3文件包含处理252

9.4条件编译254

9.5练习题258

第10章地址与指针变量260

10.1变量的内存地址与指针260

10.1.1指针变量的定义262

10.1.2指针变量的赋值263

10.1.3指针变量运算符及运算264

10.1.4指针变量作函数参数267

10.2数组与地址指针269

10.2.1指向数组的指针变量270

10.2.2指向数组元素的指针变量270

10.2.3数组名作函数参数273

10.2.4指针变量作函数参数275

10.2.5多维数组与指针变量278

10.3字符串与指针变量282

10.3.1字符串处理方法282

10.3.2字符串指针作函数参数286

10.4函数的指针及指向函数的指针变量288

10.4.1函数指针变量的定义289

10.4.2用函数指针调用函数289

10.4.3用函数指针变量作函数参数290

10.4.4返回指针值的指针函数292

10.5指针数组与指向指针数组的指针变量294

10.5.1指针数组294

10.5.2指向指针的指针变量296

10.6main命令行参数传递299

10.7指针变量综合案例301

10.8练习题306

第11章构造类型与自定义类型309

11.1结构体类型与结构体变量309

11.1.1结构体类型的定义309

11.1.2结构体类型变量的定义与引用311

11.2结构体数组的定义和引用316

11.2.1结构体数组的定义与初始化316

11.2.2结构体数组的引用317

11.3指向结构体类型数据的指针319

11.3.1指向结构体变量的指针319

11.3.2指向结构体数组的指针320

11.3.3结构体类型作为函数参数322

11.4链表结构及应用326

11.4.1静态链表的创建与引用327

11.4.2动态链表的创建与引用328

11.4.3单向动态链表的创建与引用330

11.4.4在单向动态链表中插入结点334

11.4.5从单向动态链表中删除结点339

11.5共用体类型与共用体变量345

11.5.1共用体类型及共用体变量的定义345

11.5.2共用体变量的引用347

11.6枚举类型与枚举变量349

11.6.1枚举类型的定义350

11.6.2枚举类型变量350

11.7自定义数据类型说明符352

11.8练习题357

第12章位运算操作359

12.1位运算符及运算操作359

12.1.1位运算及运算符359

12.1.2按位“与”运算360

12.1.3按位“或”运算361

12.1.4按位“异或”运算362

12.1.5按位“取反”运算362

12.1.6按位“左移”运算363

12.1.7按位“右移”运算364

12.1.8复合赋值位运算365

12.2位段定义及应用365

12.2.1位段的定义366

11.2.2位段的引用367

12.3位运算操作应用案例368

12.4练习题370

第13章文件系统管理与操作371

13.1文件的组成结构371

13.1.1文件的概念与构成371

13.1.2文件系统操作形式373

13.2缓冲型文件的操作与使用374

13.2.1缓冲型文件结构类型与文件指针374

13.2.2缓冲型文件的标准库函数375

13.3文件的打开与关闭376

13.3.1文件打开函数与操作模式376

13.3.2文件关闭函数的使用380

13.4文件中数据的读写操作381

13.4.1文件中字符数据的读写操作382

13.4.2文件中字符串数据的读写操作385

13.4.3文件中数值数据的读写操作389

13.4.4文件中数据的格式化读写操作391

13.5文件指针的定位393

13.5.1文件指针的定位操作393

13.5.2文件指针复位函数393

13.5.3当前指针位置测试函数394

13.5.4定位指针位置函数395

13.6文件操作错误的检测397

13.6.1文件读写操作检测函数397

13.6.2文件错误状态清除函数398

13.7其他缓冲型文件函数400

13.7.1文件结束位置测试函数400

13.7.2磁盘文件删除函数401

13.8文件操作管理综合应用案例分析402

13.9练习题406

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

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

参考文献411