最新版课件c语言 函数1_第1页
最新版课件c语言 函数1_第2页
最新版课件c语言 函数1_第3页
最新版课件c语言 函数1_第4页
最新版课件c语言 函数1_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第八章第八章 函数函数内蒙古科技大学实训中间 简单的函数调用#includemain() int a,b,c; scanf(“%d,%d”,&a,&b); if(ab) c=a; else c=b; printf(“Max is %d”, c);键盘输入键盘输入:2 5屏幕输出屏幕输出:Max is 5学习内容引入学习内容引入现状现状我们的程序根基上由一个我们的程序根基上由一个main()主函数构成()主函数构成.存在存在咨询咨询题题如果是一个小程序的话如果是一个小程序的话,把几行号令全部放在把几行号令全部放在main()()主函数中履行编写主函数中履行编写,还算清楚还算清楚.

2、但似果要编写一个较大但似果要编写一个较大的程序的程序,仍采纳上述方式仍采纳上述方式,全部在全部在main()主函数中从()主函数中从头到尾编写的话头到尾编写的话,便会给程序的修改和调试都带来穷苦便会给程序的修改和调试都带来穷苦.咨询咨询题解题解决决将一个较大的程序分为如果干个子模块将一个较大的程序分为如果干个子模块,每个模块实现每个模块实现一个独站的功能一个独站的功能.模块是用函数来实现的模块是用函数来实现的.如此便结构如此便结构清楚、功能分工明白了清楚、功能分工明白了.模块化程序设计理念模块化程序设计理念 简单的函数调用调用func函数,求出最大数 int func(int x, int y

3、) main()int a,b,c;scanf(“%d,%d”,&a,&b);c=func(a,b);printf(“Max is %d”, c);键盘输入键盘输入:2 5屏幕输出屏幕输出:Max is 5 简单的函数调用main()int a6,i; for(i=0;i6;i+) scanf(“%d”,a+i); paixu(a,6); for(i=0;iy?x:y; return(z); main() int a,b,c; scanf(“%d,%d”,&a,&b); c=func(a,b); printf(“Max is %d”, c);8.2 函数的指标函

4、数的指标现实指标和形式指标现实指标和形式指标int func( int x, int y)int z;z=xy?x:y;return(z);main()int a,b,c;scanf(“%d,%d”,&a,&b);c=func(a,b);printf(“Max is %d”, c); a,b是现实指标 x,y是形式指标1.指标个数一样,信息类型一样大概兼容2.形参和实参能够同名 8.3函数调用及信息传递的环节函数调用及信息传递的环节int func(int x, int y)int z;z=xy?x:y;return(z);main()int a,b,c; a= ; b= ;

5、c= func(a,b);printf(“Max is %d”, c); main函数是主调函数 func函数是被调函数8.4 函数的返回值函数的返回值通过函数调用使主调函数能猎取一个确定的值通过函数调用使主调函数能猎取一个确定的值,这便是函数的返回值这便是函数的返回值.可书写为可书写为: return (常量或表达式常量或表达式);也可书写为也可书写为: return 常量或表达式常量或表达式;例例1: return (z);也可书写为也可书写为: return z;例例2: return (z*10);也可书写为也可书写为: return z*10;例例3: return ( sqrt(z

6、) );也可书写为也可书写为: return sqrt(z) ;l被调函数中能够没有return语句,指不向主调函数带回一个确定的、用户所期望猎取的函数值.l为了明白示意“不带回值”,能够用“void”定义被调函数为“无类型”(或称“空类型”).main()int a6,i; for(i=0;i6;i+) scanf(“%d”,a+i); paixu(a,6); for(i=0;iy?x:y; return(z);main()int a,b,c; a= 2 ; b= 3 ; c=max(a,b); printf(“Max is %d”, c);调用结束后a2b3x10y152x2b33y ac

7、z15return z;15 注注:返回值类型与函数类型差别返回值类型与函数类型差别int max(float x, float y) float z; * z为实型变量* z=xy?x:y; return(z);main() float a,b; int c; scanf(“%f,%f”,&a,&b); c=max(a,b); printf(“Max is %d”, c);当类型差别时当类型差别时,以函数的类型为准以函数的类型为准阅读程序阅读程序1int swap(int x, int y)int temp; temp=x; x=y; y=temp; printf(“in s

8、wap x=%d y=%dn”,x,y);main()int a,b; a=10;b=20; printf(“before swap:a=%d b=%dn”,a,b); swap(a,b); printf(“after swap a= %d b=%d”, a,b);before swap:a=10 b=20In swap:x=20 y=10after swap:a=10 b=20阅读程序阅读程序2int fun(int n) int i,s=0; for(i=1;i=n;i+) s=s+i; return s; main() int n,m; n=100; m=fun(n); printf(“

9、m= %d n”, m);s=5050函数布局函数布局int fun(int n) int i,s=0; for(i=1;i=n;i+) s=s+i; return s; main() int n,m; n=100; m=fun(n); printf(“m= %d n”, m);main() int n,m; n=100; m=fun(n); printf(“m= %d n”, m);int fun(int n) int i,s=0; for(i=1;i=n;i+) s=s+i; return s; 8.5 函数的表明函数的表明在调用用户自定义函数时在调用用户自定义函数时,要满足以下前提要满足

10、以下前提: 被调用函数必须差不多定义被调用函数必须差不多定义. 似果被调用函数与调用它的函数在同一个源文件中似果被调用函数与调用它的函数在同一个源文件中,一样在一样在主调函数中对被调用的函数做表明主调函数中对被调用的函数做表明.函数表明的一样标准为函数表明的一样标准为: 函数类型函数类型 函数名函数名(指标表);指标表);下列情况能够省略函数表明下列情况能够省略函数表明:函数定义的位置在主调函数之前函数定义的位置在主调函数之前当函数当返回值为整型或字符型当函数当返回值为整型或字符型,且实介入形参的信息类型都为整型且实介入形参的信息类型都为整型或字符型或字符型.似果已在全部函数定义之前似果已在全

11、部函数定义之前,在函数的外部已做了函数的表明在函数的外部已做了函数的表明,那么那么在各个主调函数中不必对所调用的函数再做表明在各个主调函数中不必对所调用的函数再做表明.int fun(int n);float sum(int x);main() int fun(int n) float sum(int x)阅读程序阅读程序3:讲出该函数的功能讲出该函数的功能main() int n,m; int fun(int n); n=100; m=fun(n); printf(“m= %d n”, m);int fun(int n) int i,s=0; for(i=1;i=n;i+) if(i%3=0

12、 | i%7=0) s=s+i; return s; 阅读程序阅读程序4:讲出该函数的功能讲出该函数的功能#define PI 3.1415926double fun(int n) double s; s=PI*n*n; return s; main() int r; scanf(“%d”,&r); printf(“%lf n”, fun(r) );作业作业:n卖力看书卖力看书130页页140页页n预习预习140页页149页页n抄写抄写134页页 8.4 139页页 8.11 同时为同时为8.4作注释作注释 n自主编程自主编程170页页 8.3作业作业 依照三边长求出三角形的面积依照三边长求出三角形的面积 主函数思路主函数思路: 1. 定义变量定义变量

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论