嵌入式C编程01函数与结构化编程.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程安排 程序结构化概念 函数定义与使用 函数参数与返回值 程序模块化 实际的程序不单只有main.c一个文件,而是可能由多个.c(源文件)和.h(头文件)组成 这些文件是怎么得来的呢?这就涉及程序的模块化! 一个大型程序往往按功能或者层次结构划分为多个模块 例如一个手机软件程序:人机交互界面、通话功能、短信功能、日期时间、用户密码、通信录/通话记录保存、网络通信。。。 那么多功能都塞在一个main.c中完成么?怎么做才方便维护与管理? 这就要求模块化—每个子功能实现为一个模块(一个.c文件和一个对应.h文件) 什么是程序模块化 把程序划分为主模块和多个辅助功能模块 主模块实现为main.c:在主函数中调用辅助功能模块中的接口函数,将子功能串联起来实现程序功能 辅助模块实现为*.c和*.h: *.h:接口类型定义,接口函数声明 *.c:实现模块接口函数(模块子功能) 如何进行程序模块化 主模块(main.c): 引用stu_info.h头文件: #include “stu_info.h” 调用显示学生接口函数:show_info(stu); 学生信息辅助模块(stu_info.c/stu_info.h): stu_info.h: 自定义学生信息结构:stu_info_t 声明显示学生信息函数: void show_info(stu_info_t stu); stu_info.c: 实现学生信息函数 学生信息程序模块化 编译程序时将所有源文件一起编译 编译时需要指明自定义头文件路径: gcc -I ./ *.c –o main 为了使得模块结构更加清晰,通常工程目录组织为: gcc -I ./inc main.c src/*.c –o main 学生信息程序模块化 辅助模块 手机程序模块化 上机实验 1、实现函数void change_char(char ch), 将char ch = ‘a’ 传递给 change_char, 在change_char中将ch改为’b’, 观查结果 实现函数 void change_str(char str[]); 将char str[“hello”]传递给change_str, 在change_str中将str改为”HELLO”,观查结果 思考产生这样结果的原因! 2、自己实现字符串操作函数: int str_len(char str[]); int str_cmp(char str1[], char str2[]); 3、将str_len、str_cmp封装在str_op.c模块中使用 1个小时 * * * * 1 2 3 3 4 4 5 A B D C 函数与结构化编程 课程安排 程序结构化概念 函数定义与使用 函数参数与返回值 程序模块化 程序 = 数据(组合) + 语句(组合) 数据(组合):基本数据类型,组合数据类型 语句(组合):表达式与语句,流程控制 在main中开始语句控制流一直到main结束返回就足够了么? main写了上百甚至几百上千行,做了很多很多事!以后要维护、升级从 哪里开始? 一个公司由采购、研发、生产、工程、支持等部门组成,便于职能管理。 程序也需要这样,按职能分割再组合到一起—结构化编程 从回顾开始 1、自顶向下: 程序设计时,应先考虑总体,后考虑细节 不要一开始就追求众多的细节,先从最上层总目标开始设计,逐步使 问题具体化 2、逐步求精: 对复杂的问题,应设计一些子目标作过渡,逐步细化 3、模块化: 一个复杂问题,肯定是由若干个稍简单的问题构成 模块化是把程序要解决的总目标分解为分目标,再进一步分解为具体 的小目标,把每个 小目标称为一个模块 程序结构化设计原则 构化程序设计方法引入了工程思想和结构化思想,使大型软件的开发和编程都得到极大的改善 遵循结构化的程序的设计原则,按结构化程序设计方法设计出的程序具有明显的优点 其一,程序易于理解、使用和维护 其二,提高了编程工作的效率,降低了软件开发的成本 程序结构化设计优点 其实你已经在进行程序结构化了(或许是被迫!) #include stdio.h --引用库函数 int main (void) { //从控制台获得输入信息 //将输入信息原样输出 return 0; } 我们调用C库函数实现 – 函数是程序结构化的基础 如何进行

文档评论(0)

allap + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档