第七章函数学习指导.pptVIP

  1. 1、本文档共39页,可阅读全部内容。
  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文档。上传文档
查看更多
本章常见错误 void fun(int x,y) 给出编译错误 int add(int x,int y); 给出编译错误 { } int mm(int a[3][3],int n) 编译错误 { int a[3][3]; return a[3][3]; } 有返回值函数做函数调用语句; 无返回值函数做表达式调用; 实参数组名带方括号。 main() {int a[10][5],i,j,max; float p[10]; srand(time(NULL)); for(i=0;i10;i++) for(j=0;j5;j++) a[i][j]=rand()%90+10; for(i=0;i10;i++) { for(j=0;j5;j++) printf(%3d ,a[i][j]); printf(\n); } sum(a,p); for(i=0;i5;i++) printf(%5.2f ,p[i]); printf(\n); max=pmax(a); printf(“max=%3d,coure=%3d,student=%3d\n,max,k+1,n+1);} Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 七、内部函数和外部函数 1 . 内部函数(静态函数) 定义:只能被本文件中其它函数调用的函数。 格式:static 类型标识符 函数名(形参表)函数体 例如:static int fun(a, b) { …… } 作用:函数的作用域限于所在文件,不同文件中同名函数互不干扰,便于程序的格式化。 2. 外部函数 定义:允许被其它文件调用的函数。 格式: [extern] 类型标识符 函数名(形参表)函数体 例如: [extern] int fun(int a, int b) { ······ } Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 2. 外部函数 定义:如果一个函数允许被其它文件调用,称为外部函数。 定义格式: [extern] 类型标识符 函数名(形参表)函数体 如:extern int fun(int a, int b) { ······ } 或 int fun(int a, int b) { ······ } 通常不加 static 标识符的函数都是外部函数。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 例14: 下面程序由两个文件组成,请分析运行结果。 /* 文件一 prog1.c*/ #include stdio.h #include prog2.c int x=10,y=10; extern void sub() ; void add() { int y=5; y=10+x; x*=2; printf(add:y=%d; ,y); } main() { x+=5; add(); sub(); printf(main:x=%d; main:y=%d\n,x,y); } /* 文件二 prog2.c*/ #include “stdio.h” extern int x; void sub() { int y=5; x-=y; printf(“sub:y=%d;”,y); } 运行结果: Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 按下列要求编写程序: (1)生成10个2位随机正整数并存在a数组中; (2)

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档