5函数和程序结构.pptVIP

  1. 1、本文档共45页,可阅读全部内容。
  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文档。上传文档
查看更多
5函数和程序结构

第5章 函数与程序结构 ;5.1 C程序的一般结构 ;5.1.2 C程序的一般结构;特点: ;函数的分类;【例5.1】一个函数简单应用的例子。 void main() { void p_star(); /*说明p_star函数*/ void p_message(); /*说明p_message函数*/ p_star(); /*调用p_staar函数*/ p_message(); /*调用p_message函数*/ p_star(); /*调用p_star函数*/ } void p_star() /*定义p_star函数*/ { printf(****************\n); } void p_message() /*定义p_message函数*/ { printf(Good morning!\n); };5.2 函数的定义与调用;例:void p_star( ) { printf(****************\n); } 说明:其中的void在TC中可以省掉。 p_message( ) { printf(Good morning!\n); };(2)有参函数的定义 其定义形式为: 类型标识符 函数名(形式参数说明表) { 说明部分 语句部分 } 说明: 对于有参函数,函数的参数是主调函数和被调用函数的数据通道。参数可??为形式参数(形参)和实际参数(实参)两种。;例如: int max(int x,int y) /*形式参数说明*/ { int z; /*函数体中的说明部分*/ z=xy?x:y; return(z); } main( ) {int a=3,b=4; printf(“%d”,max(a,b)); } return语句的作用是将z的值作为函数值带回到主调函数中。return后面的括弧中的值作为函数带回的值(或称函数返回值)。 在一个函数的函数体内,不能再定义另一个函数,即函数不能嵌套定义。 ;例.编写一个通用过程(函数或子程序),该过程可以实现判断一个整数是否为素数。编写主程序调用该过程,统计所有三位数中素数的个数。 ;2. 函数的返回值;【例5.2】在屏幕上显示计算结果时,有时会因为显示的速度太快,还没有看清楚结果,屏幕上的内容就已经滚出屏幕。为了解决这个问题,可以让屏幕每显示一定的行数后就自动暂停一个,待用户看清屏幕后按键盘上的任意键后。屏幕会继续显示以后的计算结果。 ;5.2.2 函数的调用 ;(4)对实参表求值的顺序并不是确定的,有的系统按自左至右顺序求实参的值,有的系统则按自右至左顺序。 Turbo C规定是自右至左顺序求值。 main() { int i=2; printf(“%d %d %d”,++i,++i,++i); } 输出为: 5 4 3 为了避免这种影响,可以用: main() { int i=2,j,k,a; j=++i; k=++i; a=++i; printf(“%d %d %d”,j,k,a); } ;按照函数在程序中出现的位置划分,调用函数方式有以下3种:;函数调用的执行过程;2. 对被调用函数的说明和函数原型 ;注意:① 函数的“定义”和“说明”是两个不同的内容。 “定义”是指对函数功能的确立,包括指定函数名,函数返回值类型、形参及其类型、函数体等,它是一个完整的、独立的函数单位。在一个程序中,一个函数只能被定义一次,而且是在其他任何函数之外进行。 而 “说明”(有的书上也称为“声明”)则是把函数的名称、函数返回值的类型、参数的个数、类型和顺序通知编译系统,以便在调用该函数时系统对函数名称正确与否、参数的类型、数量及顺序是否一致等进行对照检查。在一个程序中,除上述可以缺省函数说明的情况外,所有调用函数都必须对被调用函数进行说明,而且是在调用函数的函数体内进行。 ② 对库函数的调用不需要再作说明,但必须把该函数的头文件用#include命令包含在源文件前部。;5.2.3 函数的参数传递;调用过程如下: (1)给形参分配内存空间; (2)将实参a的值传递给形参; (3)执行函数体。给函数体内的变量分配存储空间,执行算法实现部分 函数返回的过程如下: ① 将返回值返回主函数, ② 释放函数调用过程中分配的所有内存空间, ③ 结束函数调用,将流程控制权交给主调函数。 举例说明:本讲义17页的例子。;5.3 局部变量与全局变 ;5.3.1 局部变量;对局部变量的说明: (1)主函数中定义的变量只能在主函数中使用,不能在其它函数中使用。 (2)形参变量是属于被调函数的局部变量,

文档评论(0)

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

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

1亿VIP精品文档

相关文档