《C语言解惑 指针、数组、函数和多文件编程》的前提是读者已经学过C语言,书中将完整、系统地论述各个部分的知识并结合实用程序和趣味游戏程序,综合讲解函数设计、多文件编程和结构化程序设计的方法。本书既可以作为教师、学生及工程技术人员的参考书,也可以作为常备手册。 中国科学技术大学信息学院教授,曾任全国高等教育自学考试委员会委员,全国计算机等级考试委员会委员,GPS实验室主任。获省部科技二等奖2次,三等奖一次,贝尔教学一等奖一次。主持并完成国家自然基金两项、863项目1项、部委、军工口及合肥市项目多项。主要研究方向是图像处理与通信及GPS应用。出版专著二部,编写各类教材几十部(含C语言教材十余部),其中获奖教材多部。 第1章 引入指针变量

1.1变量的三要素

1.2 变量的操作

1.3 指针变量

1.4 指针类型

1.5 高级指针

第2章 指针基础知识

2.1 指针运算符

2.2 指针移动

2.3 指针地址的有效性

2.4 指针的初始化

2.5 指针相等

2.6 对指针使用const限定符

第3章 一维数组

3.1 一维数值数组

3.2 一维字符串数组

3.3 使用一维数组容易出现的错误

3.3.1 一维数组越界错误

3.3.2 一维数组初始化错误

3.3.3 数组赋值错误

3.3.4 求值顺序产生歧义错误

3.4 综合实例

第4章 指针与数组

4.1 数组与指针的关系

4.2 一维字符串数组与指针

4.3 字符串常量

4.4 指针数组

4.5 配合使用一维数组与指针

4.5.1 使用一维数组名简化操作

4.5.2 使用指针操作一维数值数组

4.5.3 使用一维字符数组

4.5.4 指针初始化实例

4.6 二维数组与指针

4.6.1 二维数组

4.6.2 二维数组操作实例

4.6.3 二维数组与指针

4.6.4 二维数组与指向一维数组的指针

4.6.5 字符串二维数组

4.7 多维数组与指针

4.7.1 多维数组

4.7.2 多维数组与指针

4.7.3 多维数组实例

4.8 综合设计实例

第5章 函数基础知识

5.1 函数

5.1.1 函数和函数原型

5.1.2 函数值和return语句

5.1.3 函数调用形式

5.1.4 函数参数的基础知识

5.1.5 被调用函数的返回位置

5.2 C程序的典型结构

5.2.1 单文件结构

5.2.2 一个源文件和一个头文件

5.2.3 多文件结构

5.3 变量的作用域

5.3.1 单文件里的块结构及函数

5.3.2 单文件多函数的变量

5.3.3 多文件变量作用域

5.4 变量的存储地址分配

5.4.1 单文件变量的存储地址分配

5.4.2 多文件变量的存储地址分配

5.5 main函数原型及命令行参数

第6章 函数设计

6.1 函数设计的一般原则

6.1.1 函数设计基础

6.1.2 函数设计的注意事项

6.1.3 函数的一般结构

6.2 函数的返回值

6.2.1 无返回值的void类型函数

6.2.2非void类型的函数必须返回一个值

6.2.3 函数使用临时变量作为返回值

6.2.4 不能使用临时数组名作为返回值

6.2.5 返回临时指针必须是首地址

6.2.6 返回结构的函数

6.2.7 返回结构指针的函数

6.2.8 返回枚举的函数

6.3 函数参数的传递方式

6.3.1 传数值

6.3.2 传地址值

6.4 函数指针

6.5 理解函数声明

6.5.1 词法分析中的“贪心法”

6.5.2 克服语法“陷井”读懂函数

6.6 函数设计举例

6.6.1 完璧归赵

6.6.2 多余的参数

6.6.3 传递的参数与函数参数匹配问题

6.6.4 等效替换参数

第7章 函数设计实例

7.1 函数设计注意事项

7.1.1 再谈函数的类型和返回值

7.1.2 注意区分使用结构的场合

7.1.3 注意正确地为结构分配内存

7.1.4 不同结构变量的赋值问题

7.1.5 其他注意事项

7.2 正确区分并设计指针函数和函数指针

7.3 多文件中的交互函数设计方法

7.4 一个简单游戏设计实例

第8章 C 程序结构化设计实例

8.1 实用结构化程序设计基础

8.2 程序设计实例

8.2.1 功能设计要求

8.2.2 总体设计

8.2.3 函数设计

8.3 参考程序

8.4 运行示例

第9章 库函数与算法基础

9.1 算法基本概念

9.2 算法典型实例

9.3 基本库函数

9.4 C语言预处理器

9.5 高级库函数

9.5.1 典型实用的高级库函数

9.5.2 使用它们简化程序设计

9.5.3 应用实例

9.6 算法设计实例

9.6.1 链表

9.6.2 决策树

9.6.3 状态机

第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

内容简介:

《C语言解惑 指针、数组、函数和多文件编程》的前提是读者已经学过C语言,书中将完整、系统地论述各个部分的知识并结合实用程序和趣味游戏程序,综合讲解函数设计、多文件编程和结构化程序设计的方法。本书既可以作为教师、学生及工程技术人员的参考书,也可以作为常备手册。

作者简介:

中国科学技术大学信息学院教授,曾任全国高等教育自学考试委员会委员,全国计算机等级考试委员会委员,GPS实验室主任。获省部科技二等奖2次,三等奖一次,贝尔教学一等奖一次。主持并完成国家自然基金两项、863项目1项、部委、军工口及合肥市项目多项。主要研究方向是图像处理与通信及GPS应用。出版专著二部,编写各类教材几十部(含C语言教材十余部),其中获奖教材多部。

目录:

第1章 引入指针变量

1.1变量的三要素

1.2 变量的操作

1.3 指针变量

1.4 指针类型

1.5 高级指针

第2章 指针基础知识

2.1 指针运算符

2.2 指针移动

2.3 指针地址的有效性

2.4 指针的初始化

2.5 指针相等

2.6 对指针使用const限定符

第3章 一维数组

3.1 一维数值数组

3.2 一维字符串数组

3.3 使用一维数组容易出现的错误

3.3.1 一维数组越界错误

3.3.2 一维数组初始化错误

3.3.3 数组赋值错误

3.3.4 求值顺序产生歧义错误

3.4 综合实例

第4章 指针与数组

4.1 数组与指针的关系

4.2 一维字符串数组与指针

4.3 字符串常量

4.4 指针数组

4.5 配合使用一维数组与指针

4.5.1 使用一维数组名简化操作

4.5.2 使用指针操作一维数值数组

4.5.3 使用一维字符数组

4.5.4 指针初始化实例

4.6 二维数组与指针

4.6.1 二维数组

4.6.2 二维数组操作实例

4.6.3 二维数组与指针

4.6.4 二维数组与指向一维数组的指针

4.6.5 字符串二维数组

4.7 多维数组与指针

4.7.1 多维数组

4.7.2 多维数组与指针

4.7.3 多维数组实例

4.8 综合设计实例

第5章 函数基础知识

5.1 函数

5.1.1 函数和函数原型

5.1.2 函数值和return语句

5.1.3 函数调用形式

5.1.4 函数参数的基础知识

5.1.5 被调用函数的返回位置

5.2 C程序的典型结构

5.2.1 单文件结构

5.2.2 一个源文件和一个头文件

5.2.3 多文件结构

5.3 变量的作用域

5.3.1 单文件里的块结构及函数

5.3.2 单文件多函数的变量

5.3.3 多文件变量作用域

5.4 变量的存储地址分配

5.4.1 单文件变量的存储地址分配

5.4.2 多文件变量的存储地址分配

5.5 main函数原型及命令行参数

第6章 函数设计

6.1 函数设计的一般原则

6.1.1 函数设计基础

6.1.2 函数设计的注意事项

6.1.3 函数的一般结构

6.2 函数的返回值

6.2.1 无返回值的void类型函数

6.2.2非void类型的函数必须返回一个值

6.2.3 函数使用临时变量作为返回值

6.2.4 不能使用临时数组名作为返回值

6.2.5 返回临时指针必须是首地址

6.2.6 返回结构的函数

6.2.7 返回结构指针的函数

6.2.8 返回枚举的函数

6.3 函数参数的传递方式

6.3.1 传数值

6.3.2 传地址值

6.4 函数指针

6.5 理解函数声明

6.5.1 词法分析中的“贪心法”

6.5.2 克服语法“陷井”读懂函数

6.6 函数设计举例

6.6.1 完璧归赵

6.6.2 多余的参数

6.6.3 传递的参数与函数参数匹配问题

6.6.4 等效替换参数

第7章 函数设计实例

7.1 函数设计注意事项

7.1.1 再谈函数的类型和返回值

7.1.2 注意区分使用结构的场合

7.1.3 注意正确地为结构分配内存

7.1.4 不同结构变量的赋值问题

7.1.5 其他注意事项

7.2 正确区分并设计指针函数和函数指针

7.3 多文件中的交互函数设计方法

7.4 一个简单游戏设计实例

第8章 C 程序结构化设计实例

8.1 实用结构化程序设计基础

8.2 程序设计实例

8.2.1 功能设计要求

8.2.2 总体设计

8.2.3 函数设计

8.3 参考程序

8.4 运行示例

第9章 库函数与算法基础

9.1 算法基本概念

9.2 算法典型实例

9.3 基本库函数

9.4 C语言预处理器

9.5 高级库函数

9.5.1 典型实用的高级库函数

9.5.2 使用它们简化程序设计

9.5.3 应用实例

9.6 算法设计实例

9.6.1 链表

9.6.2 决策树

9.6.3 状态机

第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

c语言解惑 指针 数组 函数和多文件编程,C语言解惑 指针、数组、函数和多文件编程...相关推荐

  1. C语言编程>第十八周 ⑧ 给定程序中,函数fun的功能是:将形参指针所指结构体数组中的三个元素按num成员进行升序排列。

    例题:给定程序中,函数fun的功能是:将形参指针所指结构体数组中的三个元素按num成员进行升序排列. 注意:请勿改动主函数main与其他函数中的任何内容,仅在横线上填写所需的若干表达式或语句. 代码如 ...

  2. c语言malloc函数用法_小白对c语言数组的基础总结

    数组 数组是一系列相同类型元素有序的集合. 数组的定义: 一般形式为: 类型符 数组名 [常量表达式] 如 int a[5]; 表示数组有五个元素,a[0]-a[5],不存在元素a[5]. *注意: ...

  3. 动态二维数组外圈元素值的和_C语言 | 用指向元素的指针变量输出二维数组元素的值...

    例33:有一个3*4的二维数组,要求用C语言实现指向元素的指针变量输出二维数组个元素的值. 解题思路:二维数组的元素时整型的,它相当于整型变量,可以用int*型指针变量指向它.二维数组的元素在内存中是 ...

  4. c语言数组实际作用,要玩转C语言 就要深入指针和数组这两个概念

    原标题:要玩转C语言 就要深入指针和数组这两个概念 指针 预备知识 在深入理解指针之前,我认为有必要先复习或者学习一下计算机原理的基础知识. 计算机是如何从内存中进行取指的? 计算机的总线可以分为3种 ...

  5. 语言axff所占字节数_【每日一答】(74)数组名v.s.指针变量,C语言其实很简单形象比喻为“是一个朋友圈的”...

    下图选自<C语言其实很简单>第8章: 问:请问张老师!书上第227页一句话:指针变量a本身的地址(a所在内存字节编号)是数组的地址,数值上与元素a[0]的地址相等! 这句话是什么意思,我看 ...

  6. go语言笔记——切片底层本质是共享数组内存!!!绝对不要用指针指向 slice切片本身已经是一个引用类型就是指针...

    切片 切片(slice)是对数组一个连续片段的引用(该数组我们称之为相关数组,通常是匿名的),所以切片是一个引用类型(因此更类似于 C/C++ 中的数组类型,或者 Python 中的 list 类型) ...

  7. 【C 语言】字符串拷贝 ( 函数形参使用推荐方法 | 凡是涉及 修改指针指向 的操作一律创建新的 指针变量 执行 | 引入 辅助 局部 指针变量 )

    文章目录 一.函数形参使用推荐方法 二.完整代码示例 一.函数形参使用推荐方法 在函数中 , 形参 中的 指针变量 , 不建议直接使用 ; 推荐 在 函数中 , 定义 局部 指针变量 , 接收 形参中 ...

  8. 求二维数组中的最大值和最小值C语言,c语言 写一个子函数要求找出一个二维数组的最大值...

    并且返回两个维 求助 想不出来怎么写 题主的问题问的不够清楚.我假设你说的二维数组里面保存是整数,问的是找到二维数组中的最大值,并且返回一个最大值的位置.函数内部两个for循环遍历数组,能找到最大值和 ...

  9. 指针数组的初始化和遍历,并且通过for循环方式、函数传参方式进行指针数组的遍历...

    1 /************************************************************************* 2 > File Name: messa ...

  10. C语言试题五十五之m个人的成绩存放在score数组中,请编写函数function,它的功能是:将高于平均分的人数作为函数值返回,将高于平均分的分数放在high所指定的数组中。

    1. 题目 m个人的成绩存放在score数组中,请编写函数function,它的功能是:将高于平均分的人数作为函数值返回,将高于平均分的分数放在high所指定的数组中. 2 .温馨提示 C语言试题汇总 ...

最新文章

  1. 软件构架实践读书笔记二
  2. oracle apex接口文件,Oracle之APEX深入开发指南
  3. java项目导入包报错_转!java web项目 build path 导入jar包,tomcat启动报错 找不到该类...
  4. jQuery向未来的元素添加事件处理程序(绑定事件)
  5. SAP Hybris的build callback和SAP ABAP的SGEN事务码
  6. Centos6.10源码部署zabbix-3.2.6
  7. VI 修改^M为unix换行符
  8. 20190906每日一句
  9. 0xc0000001报错解决办法
  10. android+录制测试脚本,UIRecorder录制android APP自动化脚本
  11. 运算放大器单电源设计
  12. 小程序:npm下载使用weiui
  13. 数据挖掘机器学习及其他领域数据集汇总
  14. <<视觉问答>>2022:SwapMix: Diagnosing and Regularizingthe Over-Reliance on Visual Context in VQA
  15. 微信小程序-绘制仪表盘
  16. 年薪五十万的程序员在北京过着怎样的生活
  17. Node.js的HTTP
  18. 流媒体客户端的流传送原理
  19. 【经验分享】学习 C/C++ 编程语言的常用开发工具下载!(汇总)
  20. ora-00972标识符过长

热门文章

  1. Mybatis注解@Results、@Result、@ResultMap
  2. python idle界面_3.7 IDLE 用户界面
  3. java将bmp文件转为jpg_在PHP中将BMP转换为JPG
  4. ζ(2)的夹逼代数证明
  5. EfficientNet与EfficientDet的详解
  6. 万字长文!让你懂透编译原理(二)——第二章 高级语言及其语法描述
  7. 觉得为时已晚的时候,恰恰是最早的时候。
  8. 创新、协调、绿色、开放、共享”五大发展理念整体上是一个彼此之间有联系、成结构的体系,是统一的,而从个体上来说,他们之间是相互促进、相互依赖、相互作用、相互对立的,这恰恰体现出辩证法物质世界的普遍联系和
  9. 聚美上市后将往何方:服装特卖和100%透明的化妆品渠道
  10. mysql俩个表怎么创主外洁_单独招生面试题极其详细答案