c语言函数课件ppt

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
a=printstar(); printf("%d",a); }
输出:10
void printstar() { printf("**********"); } main() { int a;
a=printstar(); printf("%d",a); }
编译错误!
例 函数返回值类型转换
main() { float a,b;
例 无返回值函数
返回语句
❖形式: return(表达式); 或 return 表达式;
void swap(int x,int y ) { int temp;
temp=x; x=y;
或 return;
y=temp;
❖功能:使程序控制从被调用函} 数返回到调用函数中, 同时把返值带给调用函数
❖说明:
函数中可有多个return语句
调用转换 形参在函数被调用前不占内存;函数调用时为形参分配内存;
调用结束,内存释放
Fra Baidu bibliotek
说明2:
1.形参只有在函数调用时才分配存储单元,调用结束后, 释放所分配的单元;
int c; scanf("%f,%f",&a,&b); c=max(a,b); printf("Max is %d\n",c); } max(float x, float y) { float z; z=x>y?x:y; return(z); }
三、函数参数及其传递方式
形参与实参
❖形式参数:定义函数时函数名后面括号中的变量名 ❖实际参数:调用函数时函数名后面括号中的表达式
❖函数表达式: 例 m=max(a,b)*2; ❖函数参数: 例 printf(“%d”,max(a,b));
m=max(a,max(b,c));
例 参数求值顺序
main() { int i=2,j=2,p;
p=f(i,j); printf("%d",p); } int f(int a, int b) { int c; if(a>b) c=1; else if(a==b) c=0; else c=-1; return(c); }
若无return语句,遇}时,自动返回调用函数
若函数类型与return语句中表达式值的类型不一致,按前者 为准,自动转换------函数调用转换
void型函数
例、编写程序,输入一个正整数n,求下列
算式的值。要求定义和调用函数fact(k)计
算k的阶乘,函数返回值的类型是double。
2006年春试题。 double fact(int k)
预编译命令
函数1
函数n
说明部分 执行部分
C程序结构 C是函数式语言 必须有且只能有一个名为main的主函数 C程序的执行总是从main函数开始,在main中结束 函数不能嵌套定义,可以嵌套调用
例、在 C 程序中 , 函数既可以嵌套定义 , 也可以嵌套调用。
函数分类
❖从用户角度
标准函数(库函数):由系统提供 用户自定义函数
第六章 函数
模块化程序设计
❖基本思想:将一个大的程序按功能分割成一些小模块, ❖特点:
各模块相对独立、功能单一、结构清晰、接口简单 控制了程序设计的复杂性 提高元件的可靠性 缩短开发周期 避免程序开发的重复劳动 易于维护和功能扩充
C是模块化程序设计语言
C程序
源程序文件1 源程序文件i 源程序文件n
{ 说明部分 语句部分
}
函数体
例或例{p{pi{}rnri例intppnzr无i{}t有mrren=tisiisntttnnxua参zrta参t有amtte>xr=riff例zrnnt({(((y函x(ua;d函vi参t““(?n>xrz)uo**z}nx数t()y数mi**;函i;空(:dx?ny**zm,xt());**数函;y:xy**y)现,(**(;数in**)代t**现y**风)**代\\nn函格风””))数);;格体}})为空
❖从函数形式
无参函数 有参函数
使用库函数应注意: 1、函数功能 2、函数参数的数目和顺序,及各参数意义和类型 3、函数返回值意义和类型 4、需要使用的包含文件
Ch7_201.c
§6.1 函数 一、函数的定义
一般格式
函数返回值类型 缺省int型
无返回值void
合法标识符
函数类型 函数名(形参类型说明表)
例 比较两个数并输出大者 main()
{ int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b); (main 函数) c=max(a,b);
max(int x, int y) (max 函数) printf("Max is %d",c);
{ int z; z=x>y?x:y; return(z);
#include <stdio.h> main() {intn; double sum; scanf(“%d”,&n); sum=fact(n);//函数调用 Printf(“%f”,sum);}
调用方式
❖函数语句: 例 printstar(); printf(“Hello,World!\n”);
}
} max(int x, int y) { int z;
z=x>y?x:y;
return(z);
}
实参 形参
形参与实参
❖形式参数:定义函数时函数名后面括号中的变量名 ❖实际参数:调用函数时函数名后面括号中的表达式
❖说明1:
实参必须有确定的值 形参必须指定类型 形参与实参类型一致,个数相同 若形参与实参类型不一致,自动按形参类型转换———函数
运行结果:0
调用函数 语句1;
执行函数调用的内涵: 1、把实参的值传给形参; 2、把控制语句传给被调函数 ;也就是说程序的执行由主调 函转到被调函数; 3、在函数中执行return语句, 将返回值带回到主调函数。
Return语句或最后 一个}
主调函数
主调函数
例 函数带回不确定值
printstar() { printf("**********"); } main() { int a;
s
n1 k 1 k !
{double s=0;
int i,t=1;
for(i=1;i<=k;i++)
{t=t*i;
s=s+1.0/t;
}
return s;}
二、函数的调用
调用形式
函数名(实参表); 说明:
实参与形参个数相等,类型一致,按顺序一一对应 实参表求值顺序,因系统而定(Turbo C 自右向左)
相关文档
最新文档