第五章 程序组织结构-函数.pptx

  1. 1、本文档共102页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 程序组织结构-函数

第五章;将一个问题分解成若干个子问题的过程称为模块化。 (见层次图);主模块 (主功能);函数 在C语言中,模块是用函数实现的;也称为子例程(procedure); 函数是构成C程序的基本单位。 函数有两类: 1)系统提供的标准函数库; 2)自定义的函数。 函数的使用是通过函数调用实现的。;main( );函数的调用过程;5.2 标准函数;标准函数的使用;例5-1:数学函数的使用;函数原型的概念;例2:掷骰子游戏。 P128 例5-2 假设这个游戏规则:两个人轮流掷骰子6次,并将每次投掷的点数累加起来。点数多者获胜;点数相同平局。 请编写程序,模拟这个游戏的过程,并给出玩100盘之后,谁是最终的获胜者。 ;问题分析 每个人掷骰子所得到的点数是随机的;借助随机数发生器,每次产生一个1~6之间的整数,模拟玩者掷骰子的点数 计算每盘中,甲、乙两人所掷的点数: 定义int型变量d1,d2,记录每个人投掷点数的累加器。 记录每个人的获胜盘数: 定义int型变量c1,c2,记录每个人获胜的盘数;算法描述 ;#include stdio.h #include stdlib.h main() { int d1, d2, c1, c2, i, j; c1 = c2 = 0; /* 初始化 */ randomize( ); /* 初始化随机数产生器 */ for (i=1; i=100; i++) { /* 模拟游戏过程 */ d1 = d2 = 0; for (j=1; j=6; j++) { /* 两个人轮流掷骰子 */ d1 = d1+random(6)+1; d2 = d2+random(6)+1; } if (d1d2) c1++; /* 累加获胜盘数 */ else if (d1d2) c2++; } if (c1c2) /* 输出最终获胜者信息 */ printf(\nThe first win.); else if (c1c2) printf(\nThe second win.); else printf(They tie.); };函数调用的要点:;5.3 自定义函数;函数的编制;说明 函数名应该符合C语言的自定义标识符命名规范 小括号内是参数表,是函数之间交换信息的接口,函数可以通过参数交换信息 函数体是函数的核心部分,列出了需要执行的语句序列 函数的返回值 表示是否有调用函数后的返回结果;函数的调用;函数的调用方式;3) 函数参数。函数调用作为一个函数的实参。 例:m = max(a,max(b,c)) 实质上这也是函数表达式调用形式的一种。;函数调用过程;参数的传递;main ( ) { int x = 3, y =5 ; printf (x = %d , y = %d\n , x , y ) ; myswap1( x, y) ; printf (x = %d , y = %d\n , x , y ) ; };调用之前;x;x;x;关于形参与实参的说明 函数调用时,被调函数的形参被分配临时的存储单元 形参与实参各占一个独立的存储空间,调用结束后,形参单元被释放 实参与形参按书写顺序结合,与名称无关 实参的个数、类型和顺序必须与形参一致; 没有返回值的函数;主函数;数组作为函数参数 形参是数组时,实参应是数组名,数组名表示内存空间的首地址 参数传递实质上是地址的赋值 地址也是“按地址值”单向传递的 作用 既可以传入数据,又可以返回数据 实质上形参与实参是同一个数组,处理同一存储空间的数据 被调函数中对形参数组的修改将体现在实参数组中;函数返回值: 是从被调用函数带回到主调函数的计算结果,用函数定义中的 return 语句获得。 return语句有两种形式: 1、return; 2、return 表达式; 或 return (表达式); 分别用在无返回值和有返回值的函数里。 作用:结束函数的执行,把控制权返回到调用者。 若没有return语句作用和第一种形式一样。; 函数原型 是指给编译器

文档评论(0)

3471161553 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档