计算机二级考试第五节.ppt

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五节 函数(自定义函数) 函数:将一个问题分解成若干部分,每部分用一段代码处理,这段代码可以理解成函数(模块) 函数分为主调函数与被调函数 主调函数:调用其他函数的函数 被调函数:被某函数调用的函数 函数调用过程中一般需要传递参数(从主调函数传递到被调函数),主调函数中的参数叫做实际参数(实参),被调函数中的参数叫做形式参数,(形参).函数调结束后一般会把处理结果从被调函数返回主调函数. 函数需要先定义,后使用. 一.定义函数 语法: 类型 函数名(形参列表) { ... 函数体 ... return 变量名; } 说明: (1)类型是指函数返回值的类型 (2)形参列表是指若干个形参,形式 变量类型 变量名 (3)return语句:程序执行到return语句是,则返回到调用处,将return后面的变量带到主调函数. 例:利用函数实现求两个数中的最大值 #includestdio.h main() { int max(int a,int b);/*函数原型声明语句*/ int x,y,big; printf(请您输入两个整数:\n); scanf(%d%d,x,y); big=max(x,y);/*函数调用语句*/ printf(两个数中的大数是:%d\n,big); } int max(int a,int b) { int m; if(ab) m=a; else m=b; return m; } ※函数调用语句:当程序执行到此语句时,则程序从主调函数转移到被调函数,同时将实参依次顺序传递给形参,之后在被调函数中加工处理数据,最后碰到return语句,将从被调函数返回主调函数,同时将处理结果带回主调函数. 函数调用语句的几种形式: (1)big=max(x,y); (2)big=10*max(x,y); (3)printf(最大值是:%d\n,max(x,y)); (4)max(x,y); ※函数原型声明语句:当主调函数在被调函数前面时,一般在main函数的首行写此语句,其功能是提前通知编译系统有关被调函数的信息(被调函数名,函数类型,函数参数数量,各参数类型),如果被调函数在主调函数前面,则可以省略此语句. 语法:函数首部后面加一个分号即可; int max(int a,int b); 二.实参、形参类型对照(要求实参与形参数量一致,类型一致,依次传递) ----------------------------------------------- 实参 形参 ----------------------------------------------- 普通变量 相同类型的普通变量 ----------------------------------------------- 数组元素 与数组类型相同的普通变量 ------------------------------------------------- 数组名 相同类型的数组或指针变量 -------------------------------------------------- 例: 实参形参均是普通变量 main() { int a,b,c; ... c=max(a,b); ... } max(int x,int y) { ... } 实参是数组元素形参是普通变量 main() { int a[10],i; ... for(i=0;i10;i++) max(a[i]); ... } max(int x) { ... } 实参是数组名形参相同类型的数组 main() { int a[10],i; ... max(a); ... } max(int b[10]) /*也可将函数首部写成 max(int b[]) */ { ... } /*例:有两个整型数组a[10],b[10],比较其大小,如果a数组相应位置的元素大于b数组相应位置的元素的次数多于 b数组相应位置的元素大于a数组相应位置的元素的次数,则认为a数组大于b数组,反之b数组大于a数组,并要求输出a 数组大于b数组的次数,b数组大于a数组的次数,a数组等于b数组的次数*/ #includestdio.h main() { /*主调函数实现输入输出和函数调用*/ int compare(int x,int y); int a[10],b[10],i,m,n,k; m=n=k=0; printf(please enter ten number for a array below:\n); for(i=0;i10;i++) scanf(%d,a[i]); printf(please enter ten nu

文档评论(0)

飞扬的岁月 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档