1 / 39
文档名称:

c语言-函数.ppt

格式:ppt   大小:412KB   页数:39
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

c语言-函数.ppt

上传人:endfrs 2017/9/17 文件大小:412 KB

下载得到文件列表

c语言-函数.ppt

相关文档

文档介绍

文档介绍:第9章函数
程序设计有两大最高级的艺术
算法设计艺术
结构设计艺术
函数(function)是结构设计的最基本单位
“一个程序应该是轻灵自由的,它的子过程就象串在一根线上的珍珠。”
------Geoffrey James的《编程之道》
用函数解决问题
函数把较大的任务分解成若干个较小的任务,并提炼出公用任务
程序员可以在其他函数的基础上构造程序,而不需要从头做起
设计得当的函数可以把具体操作细节对程序中不需要知道它们的那些部分隐藏掉,从而使整个程序结构清楚
开发方法: 自上向下,逐步分解,分而治之
函数分类
从用户角度
标准函数(库函数):由系统提供
用户自定义函数
从函数形式
无参函数
有参函数
使用库函数应注意:
1、函数功能
2、函数参数的数目和顺序,及各参数意义和类型
3、函数返回值意义和类型
4、需要使用的包含文件
用户函数的定义、调用
一、定义格式
合法标识符
函数返回值类型
缺省int型
无返回值void
函数体
函数类型函数名(形参类型说明表)
{
说明部分
语句部分
}
现代风格:
例有参函数(现代风格)
int max(int x,int y)
{ int z;
z=x>y?x:y;
return(z);
}
例有参函数(现代风格)
int max(int x, y)
{ int z;
z=x>y?x:y;
return(z);
}
例空函数
dummy( )
{ }
函数体为空
例无参函数
printstar( )
{ printf(“**********\n”); }

printstar(void )
{ printf(“**********\n”); }
函数类型函数名(形参表)
形参类型说明
{
说明部分
语句部分
}
传统风格:
例有参函数(传统风格)
int max(x,y)
int x,y;
{ int z;
z=x>y?x:y;
return(z);
}
调用方式
函数语句:
例 printstar();
printf(“Hello,World!\n”);
函数表达式:
例 m=max(a,b)*2;
函数参数:
例 printf(“%d”,max(a,b));
m=max(a,max(b,c));
二、函数的调用
调用形式
函数名(实参表);
main( )
{ int i,j;
printf("The first one:\n");
  for(i=1;i<=4;i++)
  { for(j=1;j<=i;j++)
     printf("*");
    printf("\n");
  }
printf("The second one:\n");
  for(i=1;i<=4;i++)
  { for(j=1;j<=i;j++)
     printf("*");
    printf("\n");
  }
 }
无参函数的定义与调用
The first one:
*
**
***
****
The second one:
*
**
***
****
void star()
{ int i,j;
  for(i=1;i<=4;i++)
  { for(j=1;j<=i;j++)
     printf("*");
    printf("\n");
  }
return;
}
main()
{ printf("The first one:\n");
  star(); /*调用前面定义的函数star*/
printf("The second one:\n");
  star(); /*调用前面定义的函数star*/
 }
打印如下图形
有参函数的定义与调用
例、输入圆环内外半径,求圆环面积
main( )
{float r1,r2, s;
scanf("%f%f",&r1,&r2);
s=*(r1*r1-r2*r2);
printf("s is %f\n", s);
}
float area(float r )
{ float s;
s=*r*r;
return s;
}
main( )
{float r1,r2, s;
scanf("%f%f",&r1,&r2);
s=area(r1)-area(r2);
printf("s is %f\n", s);
}
函数参数和返回值
形参与实参
形式参数:定义函数时函数名后面括号中的变量名
实际参数:调用函数时函数名后面括号中的表达式
c=max(a,b);
(main 函数)
(max 函数)
max(int x,