当前位置:主页 > 书籍配套资源 > C语言配套资源
《C语言解惑:指针、数组、函数和多文件编程》源码

《C语言解惑:指针、数组、函数和多文件编程》源码

  • 更新:2022-03-08
  • 大小:4.1 MB
  • 类别:C语言
  • 作者:刘振安、刘燕君
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

本书面向已经了解C语言基础知识的读者,集中讨论C语言的核心部分—函数的设计。这将涉及指针、数组、函数和多文件编程等知识,最后落脚在如何实现C语言的结构化程序设计,并给出完整的设计实例。

封面图

目录

  • 前言
  • 第1章引入指针变量1
  • 1.1变量的三要素1
  • 1.2变量的操作4
  • 1.3指针变量5
  • 1.4指针类型11
  • 第2章指针基础知识13
  • 2.1指针运算符13
  • 2.2指针移动16
  • 2.3指针地址的有效性21
  • 2.4指针的初始化26
  • 2.5指针相等29
  • 2.6对指针使用const限定符32
  • 2.7使用动态内存35
  • 2.7.1动态内存分配函数36
  • 2.7.2内存分配实例37
  • 2.7.3NULL指针39
  • 第3章一维数组40
  • 3.1一维数值数组40
  • 3.2一维字符串数组44
  • 3.3使用一维数组容易出现的错误46
  • 3.3.1一维数组越界错误46
  • 3.3.2一维数组初始化错误49
  • 3.3.3数组赋值错误50
  • 3.3.4求值顺序产生歧义错误53
  • 3.4综合实例54
  • 第4章指针与数组59
  • 4.1数组与指针的关系59
  • 4.2一维字符串数组与指针61
  • 4.3字符串常量63
  • 4.4指针数组64
  • 4.5配合使用一维数组与指针65
  • 4.5.1使用一维数组名简化操作65
  • 4.5.2使用指针操作一维数值数组66
  • 4.5.3使用一维字符数组73
  • 4.5.4指针初始化实例74
  • 4.6动态内存分配与非数组的指针75
  • 4.7二维数组与指针79
  • 4.7.1二维数组79
  • 4.7.2二维数组操作实例82
  • 4.7.3二维数组与指针的关系85
  • 4.7.4二维数组与指向一维数组的指针90
  • 4.7.5二维字符串数组91
  • 4.8综合设计实例95
  • 4.8.1使用数组求解96
  • 4.8.2使用动态内存求解99
  • 4.8.3使用二级字符串指针求解101
  • 第5章函数基础知识103
  • 5.1函数103
  • 5.1.1函数和函数原型104
  • 5.1.2函数值和return语句104
  • 5.1.3函数调用形式106
  • 5.1.4函数参数的基础知识108
  • 5.1.5被调用函数的返回位置114
  • 5.2C程序的典型结构114
  • 5.2.1单文件结构114
  • 5.2.2一个源文件和一个头文件115
  • 5.2.3多文件结构117
  • 5.3变量的作用域121
  • 5.3.1单文件里的块结构及函数122
  • 5.3.2单文件多函数的变量131
  • 5.3.3多文件变量作用域133
  • 5.4变量的存储地址分配135
  • 5.4.1单文件变量的存储地址分配135
  • 5.4.2多文件变量的存储地址分配139
  • 5.5main函数原型及命令行参数140
  • 第6章函数设计143
  • 6.1函数设计的一般原则143
  • 6.1.1函数设计基础143
  • 6.1.2函数设计的注意事项144
  • 6.1.3函数的一般结构149
  • 6.2函数的返回值157
  • 6.2.1无返回值的void类型函数157
  • 6.2.2非void类型的函数必须返回一个值159
  • 6.2.3使用临时变量作为返回值的函数159
  • 6.2.4不能使用临时数组名作为返回值160
  • 6.2.5返回临时指针必须是首地址161
  • 6.2.6返回结构的函数162
  • 6.2.7返回结构指针的函数163
  • 6.2.8返回枚举的函数164
  • 6.3函数参数的传递方式166
  • 6.3.1传数值166
  • 6.3.2传地址值168
  • 6.4函数指针180
  • 6.5理解函数声明183
  • 6.5.1词法分析中的“贪心法”183
  • 6.5.2克服语法“陷阱”读懂函数185
  • 6.6函数设计举例190
  • 6.6.1完璧归赵190
  • 6.6.2多余的参数193
  • 6.6.3传递的参数与函数参数匹配问题195
  • 6.6.4等效替换参数198
  • 6.6.5设计状态机函数200
  • 第7章函数设计实例204
  • 7.1函数的类型和返回值204
  • 7.1.1函数的类型应力求简单204
  • 7.1.2实参要与函数形参的类型匹配206
  • 7.1.3正确设计函数的返回方式208
  • 7.1.4正确区别指针函数和函数指针214
  • 7.2正确选择函数参数219
  • 7.2.1使用结构作为参数219
  • 7.2.2使用键盘为参数赋值222
  • 7.2.3结构的内存分配226
  • 7.3算法基本概念227
  • 7.4使用库函数229
  • 7.5设计实例230
  • 7.5.1递推与递归230
  • 7.5.2递推求解切饼问题233
  • 7.5.3八皇后问题235
  • 7.5.4疑案求解242
  • 7.5.5二分查找247
  • 7.5.6汉诺塔问题248
  • 7.5.7青蛙过河251
  • 7.5.8猜数游戏253
  • 7.5.9生死游戏255
  • 7.5.10最短路径263
  • 第8章多文件中的函数设计272
  • 8.1C语言预处理器272
  • 8.1.1宏定义与const修饰符272
  • 8.1.2文件包含274
  • 8.1.3条件编译274
  • 8.2模块化程序设计基础276
  • 8.2.1模块化程序设计276
  • 8.2.2分块开发276
  • 8.2.3工程文件279
  • 8.2.4函数设计的注意事项279
  • 8.3使用两个文件的设计实例286
  • 8.3.1设计题目和实现方法286
  • 8.3.2算法和函数设计286
  • 8.3.3完整源程序290
  • 8.3.4组成工程并运行程序292
  • 8.4使用3个文件的设计实例293
  • 8.4.1设计思想293
  • 8.4.2算法分析293
  • 8.4.3完整源程序297
  • 8.4.4程序运行301
  • 8.5使用条件编译的多文件设计实例302
  • 8.5.1实现功能302
  • 8.5.2设计思想303
  • 8.5.3参考程序305
  • 8.5.4程序运行310
  • 第9章多文件综合设计实例314
  • 9.1使用链表设计一个小型通讯录程序314
  • 9.1.1功能设计要求314
  • 9.1.2设计思想315
  • 9.1.3程序设计318
  • 9.1.4运行示范327
  • 9.2使用数组设计一个实用的小型学生成绩管理程序332
  • 9.2.1功能设计要求332
  • 9.2.2总体设计334
  • 9.2.3函数设计335
  • 9.2.4参考程序339
  • 9.2.5运行示范356
  • 第10章设计游戏程序实例365
  • 10.1剪刀、石头、布365
  • 10.1.1设计思想365
  • 10.1.2参考程序367
  • 10.1.3运行示范369
  • 10.2迷宫370
  • 10.2.1设计思想370
  • 10.2.2参考程序371
  • 10.2.3运行示范373
  • 10.3空战375
  • 10.3.1设计思想375
  • 10.3.2参考程序376
  • 10.4贪吃蛇381
  • 10.4.1供改造的源程序381
  • 10.4.2运行示范387
  • 10.5停车场388
  • 10.5.1参考程序388
  • 10.5.2运行示范393
  • 10.6画矩形393
  • 10.6.1用C语言编写Windows程序394
  • 10.6.2Windows的程序结构398
  • 10.6.3用C语言编写画矩形程序400
  • 10.7俄罗斯方块405
  • 10.7.1基本游戏规则405
  • 10.7.2基本操作方法406
  • 10.7.3编写游戏交互界面问题406
  • 10.7.4用C语言编写控制台俄罗斯方块游戏407
  • 10.7.5编写Windows俄罗斯方块游戏419
  • 10.8用C语言编写Windows下的贪吃蛇游戏430
  • 10.8.1程序清单430
  • 10.8.2运行示范442
  • 附录7位ASCII码表444
  • 参考文献445

资源下载

资源下载地址1:https://pan.baidu.com/s/1V44H-giQ_o1umXgpnURTWA

相关资源

网友留言