C语言模块化程序设计1_王新余.docVIP

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言模块化程序设计1_王新余

模块化程序设计 概述 本节课,先讲述程序库,即函数级,C语言程序模块化的基础知识和注意点。再讲述RMX上多进程的特点。 ?·程序设计方法:自上而下,逐步细化?·原则:模块间耦合越小越好 ·C语言:函数式语言 在C程序设计中,通常: ·将一个大程序分成几个子程序模块(自定义函数) ·将常用功能做成标准模块(标准函数)放在函数库中供其他程序调用 如果把编程比做制造一台机器,函数就好比其零部件。 ·可将这些“零部件”单独设计、调试、测试好,用时拿出来装配,再总体调试。 ·这些“零部件”可以是自己设计制造/别人设计制造/现在的标准产品 而且,许多“零部件”我们可以只知道需向它提供什么(如控制信号),它能产生什么(如速度/动力),并不需要了解它是如何工作、如何设计制造的——所谓“黑盒子”。 控制信号 速度/动力 (输入参数) (返回结果) ?【例】编写一个儿童算术能力测试软件 显示软件封面 检查密码 产生题目 接受回答 评判计分 显示结果 如果要继续练习 告别词 main() { char ans = ‘y’; clrscr(); cover(); /*调用软件封面显示函数*/ while (ans ==’y’|| ans ==’Y’) { question(); /*调用产生题目函数*/ answers(); /*调用接受回答函数*/ marks(); /*调用评分函数*/ results();?? /*调用结果显示函数*/ printf(“是否继续练习?(Y/N)\n”); ans=getch (); } printf(“谢谢使用,再见!”); } /*定义所用函数*/ cover() { } /*软件封面显示函数*/ password(){ } /*密码检查函数*/ question(){ } /*产生题目函数*/ answers(){ } /*接受回答函数*/ marks(){ } /*评分函数*/ results(){ } /*结果显示函数*/ ? 函数使用常识: 1、C程序执行总是从main函数开始,调用其它函数后总是回到main函数,最后在 main函数中结束整个程序的运行。 2、一个C程序由一个或多个源(程序)文件组成——可分别编写、编译和调试。 3、一个源文件由一个或多个函数组成,可为多个C程序公用。 4、C语言是以源文件为单位而不以函数为单位进行编译的。 5、所有函数都是平行的、互相独立的,即在一个函数内只能调用其他函数,不能再定义一个函数(嵌套定义)。 6、一个函数可以调用其他函数或其本身,但任何函数均不可调用main函数。 二、函数的定义 ? 函数定义——“制造函数” 1、无参函数 定义格式: 数据类型 函数名() /*现代风格是:函数名(void)*/ { 函数体(说明部分+ 语句)} 【注意】数据类型为int时,可以省略。 ? 2、有参函数 定义格式: 数据类型 函数名(形参表) /*现代风格是:函数名(带类型形参表)*/ 形参类型说明; { 函数体(说明部分+ 语句)} ? 函数的返回值通过函数体中的return语句获得。 形式: return (x); return (x+y); return (xy?x:y); 语句中圆括号亦可省略。 【注意】如果函数值类型与return语句表达式值的类型不一致,以函数类型为准(数值型会自动进行类型转换)。如果明确表示不需返回值,可用void作函数的数据类型。 ?空函数 类型说明符 函数名() {} 空函数,什么工作也不作,没有任何实际作用,只表明“这里要调用一个函数”,而现在这个函数没有起作用,等以后扩充函数功能时补上。这样做可使程序结构清晰,可读写好,以后扩充新功能方便,对程序结构影响不大。 【例一】max(float x, float y) /*用“值传递”分析法进行变量跟踪*/{ float z; z=xy?x:y; return z; } main() { float a=1.5,b=2.5; int c; c=max(a,b); printf(“Max is %d\n”,c); } 结果:Max is 2 (编译通过,结果错误)【讨论】如何改错? ·如果将输出语句中的%d改为%f,结果: Max is .000000 (亦错) ·

您可能关注的文档

文档评论(0)

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

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档