1 / 80
文档名称:

C好的课件第八章C好的课件.ppt

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

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

分享

预览

C好的课件第八章C好的课件.ppt

上传人:wz_198613 2018/8/24 文件大小:375 KB

下载得到文件列表

C好的课件第八章C好的课件.ppt

相关文档

文档介绍

文档介绍:第8章函数
概述





概述
模块化程序设计
基本思想:将一个大的程序按功能分割成一些小模块,
特点:
各模块相对独立、功能单一、结构清晰、接口简单
控制了程序设计的复杂性
提高元件的可靠性
缩短开发周期
避免程序开发的重复劳动
易于维护和功能扩充
开发方法: 自上向下,逐步分解,分而治之
C是模块化程序设计语言
C程序结构
C是函数式语言
必须有且只能有一个名为main的主函数
C程序的执行总是从main函数开始,在main中结束
函数不能嵌套定义,可以嵌套调用
函数分类
从用户角度
标准函数(库函数):由系统提供
用户自定义函数
从函数形式
无参函数
有参函数
使用库函数应注意:
1、函数功能
2、函数参数的数目和顺序,及各参数意义和类型
3、函数返回值意义和类型
4、需要使用的包含文件
#include""
main()
{int n,k,c;
printf("\nplease input( n,k): "); /*输入n、k的值*/
scanf("%d,%d",&n,&k);
c=fac(n)/(fac(k)*fac(n-k)); /*三次调用函数fac,求n!、k!、(n-k)!*/
printf("\nC(n,k)=%d",c); /*输出计算结果*/
}
int fac(int m) /*计算一个整数的阶乘*/
{int i,s=1;
for(i=1;i<=m;i++)
s*=i;
return(s);
}
【】编写程序计算组合数:
n!
C(n,k)= ────
k!(n-k)!
函数的定义
一般格式
合法标识符
函数返回值类型
缺省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);
}
int max(int x1,int x2,int x3) /*定义函数的返回值类型,函数名,形参*/
{int max;
if (x1>x2) max=x1;
else max=x2;
if (max<x3) max=x3; /*通过比较得到三个数的最大值放到max中*/
return(max); /*返回运算结果*/
}
【】编写函数,求三个整型参数的最大值。
函数的返回值
返回语句
形式: return(表达式);
或 return 表达式;
或 return;
功能:使程序控制从被调用函数返回到调用函数中,同时把返值带给调用函数
说明:
函数中可有多个return语句
若无return语句,遇到函数结束的“}”时,自动返回调用函数
若函数类型与return语句中表达式值的类型不一致,按前者为准,自动转换------函数调用转换
void型函数:无返回值的函数
例无返回值函数
void swap(int x,int y )
{ int temp;
temp=x;
x=y;
y=temp;
}
printstar()
{ printf("**********");
}
main()
{ int a;
a=printstar();
printf("%d",a);
}
例无返回值的函数返回后带回不确定值
输出:10
void printstar()
{ printf("**********");
}
main()
{ int a;
a=printstar();
printf("%d",a);
}
编译错误!