电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

N16函数1VIP免费

N16函数1_第1页
1/31
N16函数1_第2页
2/31
N16函数1_第3页
3/31
7.1函数是什么(函数参数和函数的值)7.2函数的定义和调用7.3函数的嵌套调用和递归调用课外作业P208习题1、2第7章用函数实现模块化程序设计【引例】intmax(inta,intb){if(a>b)returna;elsereturnb;}main(){intmax(inta,intb);intx,y,z;printf(“输入2个数:\n");scanf("%d%d",&x,&y);z=max(x,y);printf(“较大的数是%d",z);}函数主函数函数调用系统标准函数用户自定义函数想到与C程序相关的什么?(1)C是模块化程序设计语言•C是函数式语言•必须有且只能有一个名为main的主函数•C程序的执行总是从main函数开始,在main中结束•函数不能嵌套定义,可以嵌套调用源程序文件1预编译命令说明部分执行部分函数1函数n源程序文件i源程序文件nC程序C程序结构7.1函数是什么(函数参数和函数的值)(2)函数分类•从用户角度–标准函数(库函数):由系统提供–用户自定义函数•从函数形式–无参函数:一般用来指定一组操作,可以带回或不带回函数值,但一般不带回函数值。–有参函数使用库函数应注意:1、函数功能2、函数参数的数目和顺序,及各参数意义和类型3、函数返回值意义和类型4、需要使用的包含文件1函数的定义一般定义格式合法标识符函数体函数类型函数名(形参类型说明表){说明部分语句部分}函数返回值类型缺省int型无返回值void7.2函数的定义和调用例空函数dummy(){}函数体为空例有参函数(现代风格)intmax(intx,inty){intz;z=x>y?x:y;return(z);}例无参函数printstar(){printf(“**********\n”);}或printstar(void){printf(“**********\n”);}2函数的返回值–返回语句•形式:return(表达式);或return表达式;或return;•功能:使程序控制从被调用函数返回到调用函数中,同时把返值带给调用函数•说明:–函数中可有多个return语句,但每次只能有一条被执行。–若函数类型与return语句中表达式值的类型不一致,按前者为准,自动转换------函数调用转换–void型函数例无返回值函数voidswap(intx,inty){inttemp;temp=x;x=y;y=temp;}printstar(){printf("**********");}main(){inta;a=printstar();printf("%d",a);}例函数带回不确定值输出:10voidprintstar(){printf("**********");}main(){inta;a=printstar();printf("%d",a);}编译错误!例函数返回值类型转换main(){floata,b;intc;scanf("%f,%f",&a,&b);c=max(a,b);printf("Maxis%d\n",c);}max(floatx,floaty){floatz;z=x>y?x:y;return(z);}3函数的调用•调用形式函数名(实参表);说明:•实参与形参个数相等,类型一致,按顺序一一对应•实参表求值顺序,因系统而定(TurboC自右向左)4调用方式•函数语句:例printstar();printf(“Hello,World!\n”);•函数表达式:例m=max(a,b)*2;•函数参数:例printf(“%d”,max(a,b));m=max(a,max(b,c));5函数说明对被调用函数要求:(1)库函数:#include<*.h>(2)用户自定义函数:函数说明函数说明一般形式:函数类型函数名(形参类型形参名1,…..);或函数类型函数名(形参类型,形参类型,…..);作用:告诉编译器函数类型、参数个数及类型,以便检验函数说明位置:主调函数内或外注:函数说明与函数定义不同下列情况下,可不作函数说明被调用函数定义出现在主调函数之前例函数说明举例main(){floatadd(float,float);/*函数说明*/floata,b,c;scanf("%f,%f",&a,&b);c=add(a,b);printf("sumis%f",c);}floatadd(floatx,floaty){floatz;z=x+y;return(z);}floatadd(floatx,floaty);floatadd(floatx,floaty){floatz;z=x+y;return(z);}main(){floata,b,c;scanf("%f,%f",&a,&b);c=add(a,b);printf("sumis%f",c);}被调函数出现在主调函数之前,不必函数说明main(){floata,b;intc;scanf("%f,%f",&a,&b);c=max(a,b);printf("Maxis%d\n",c);}max(floatx,floaty){floatz;z=x>y?x:y;return(z);}int型函数可不作函数说明6函数参数及其传递方式(1)形参与实参•形式参数:定义函数时函数名后面括号中的变量名•实际参数:调用函数时函数名后面括号中的表达式c=max(a,b);(main函数)(max函数)max(intx,inty){intz;z=x>y?x:y;return(z);}例比较两个数并输出大者main(){inta,b,c;scanf("%d,%d",&a,&b);c=max(a,b...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

您可能关注的文档

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部