C语言程序设计电子课件——函数.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
语言程序设计;第八章 函数;第八章 函数 ;【讲在最前面:程序的执行过程】 ;第二节 函数的概念定义与分类 ;一、函数: ;头文件主要包括: #include “stdio.h” #include “stdlib.h” #include “string.h” #include “math.h”;二、函数定义 ;例如: double sqare(double n) {return n*n};};三、函数的四种类型 ;(1)有参数、有返回值 例 int bigger(int a,int b) { return (ab)?a:b; } ? (2)有参数、无返回值 例 void delay(long a) { int x=0; for(int i=1;i=a;i++); };(3)无参数、有返回值 例 int getx() { int x; printf(please input a integer:\n); scanf(“%d”,x); return x; } (4)无参数、无返回值 例 void message() { printf(this is a message.\n);};第三节 函数的声明与调用(使用) ;一、函数声明 ;2.?为什么要使用函数声明 (1)函数必须先定义后使用。 (2)若函数定义于函数使用之前,则不必给出函数原型。 (3)若函数定义于函数使用之后,则必须给出函数原型。 ;二、 函数的调用 ;函数调用方式 ;第四节 参数传递 ;一、在C语言中实现的是从实参到形参的单向值传递: ;二、数组名做参数(其实是一种传地址的方式);三、举例讨论如何实现程序功能的函数化 ;【源程序】 #include stdio.h void main() { int i,x,flag=0-1; int a[10]={6,8,5,4,6,9,3,1,20,-37}; scanf(%d,x); for(i=0;i10;i++) if(a[i]==x) flag=i; if(flag==-1) printf(not the element); else printf(the position is %d,flag); };函数化后的结果: #include stdio.h int search(int a[],int len,int x) { int i; for(i=0;ilen;i++) if(a[i]==x) return i; return -1; } void main() { int i,x,flag; int a[10]={6,8,5,4,6,9,3,1,20,-37}; scanf(%d,x); flag=search(a,10,x); if(flag==-1) printf(not the element); else printf(the position is %d,flag); };第五节 递归调用 ;一、递归函数的开始: 从一个没有结束的自调用函数开始讲起 ;void subfuntion() { printf(subfuntion begins \n); subfuntion(); printf(subfuntion ends \n); } void main() { printf(function main begins\n); subfuntion(); printf(function main ends\n); };二、递归函数 ;例1:求n! ;2、递归调用过程: 讲解fact(4)调用过程。 ;例2:Fibonacci数列1,1,2,3,5,…… ;例3: ;【思考题】;第六节 程序举例 例1:阶乘求和问题 例2:水仙花数判断问题 例3:完数判断问题;第七节 局部变量和全局变量 ;一、局部变量和全局变量 ;二、变量的存储类型 ;变量存储类别 ;例1(说明同名自动变量的全局与局部的关系) #include stdio.h void main() { int x=5,y=1; /*局部变量*/ printf(\nx=%d,y=%d,x,y); { int x=3; /*局部变量*/ printf(\nx=%d,y=%d,x,y); } printf(\nx=%d,y=%d,x,y); }?;结果:x=5,y=1 x=3,y=1   x=5,y=1 结论:在全局变量和局部变量同名的情况下,在局部变量的作用范围内,局部变量有效,其余范围内,全局

文档评论(0)

潇湘画里 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档