版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
回顾
函数的定义
函数的参数知识点:
函数的返回值
函数的调用函数的返回值
--三个引例引例一Add(inta,intb){
intsum=0;sum=a+b;}main(){
inta=1,b=3;
Add(a,b);
printf(“%d,%d”,a,b);}函数的返回值int
Add(inta,intb){
intsum=0;sum=a+b;
returnsum;}main(){
inta=1,b=3;
Add(a,b);
printf(“%d,%d”,a,b);}函数的返回值:就是函数的值,指函数被调用之后,执行函数体中的程序段所取得的并返回给主调函数的值。函数返回值只能通过return语句来实现,把该函数的值返回到主调函数。return语句的格式int
Add(inta,intb){
intsum=0;sum=a+b;
returnsum;}main(){
inta=1,b=3,sum;sum=Add(a,b);
printf(“%d”,sum);}
格式:
return表达式;return(表达式);
注意:
表达式的值与函数的类型保持一致。
函数类型决定返回值的类型。如果没有指定函数的类型,默认为int。练习一求任意两个实型数据的乘积。求任意两个整型数据的乘积。要求:用函数实现程序-整型数据
int
getIntMul(inta,intb){
int
mul;
mul=a*b;
return(mul);}main(){
inta=2,b=3,mul=0;
mul=getIntMul(a,b);
printf(“a*b=%d”,mul);}程序-实型数据
float
getFloatMul(floata,floatb){floatmul;
mul=a*b;
return(mul);}main(){floata=2,b=3,mul=0;
mul=getFloatMul(a,b);
printf(“a*b=%f”,mul);}思考
int
getFloatMul(floata,floatb){floatmul;
mul=a*b;
return(mul);}main(){floata=2.1,b=3.1,mul=0;
mul=getFloatMul(a,b);
printf(“a*b=%f”,mul);}练习二求任意两个实型数据的最大值。求任意两个整型数据的最大值。要求:用函数实现程序-实型数据
float
getFloatMax(floata,floatb){floatmax;max=a>b?a:b;
return(max);}main(){floata=2,b=3,max=0;
mul=getFloatMax(a,b);
printf(“max=%f”,mul);}程序-整型数据
getIntMax(inta,intb){
intmax;max=a>b?a:b;
return(max);}main(){
inta=2,b=3,max=0;
mul=getIntMax(a,b);
printf(“max=%d”,mul);}练习一和练习二的总结函数的返回值只有一个引例二int
getValue(inta,intb){
int
max,min;max=a>b?a:b;min=a<b?a:b
returnmax;returnmin;}main(){
inta=1,b=3,max,min;max=getValue(a,b);min=getValue(a,b);
printf(“max=%d”,max);
printf(“min=%d”,,min);}return语句的注意事项int
getValue(inta,intb){
int
max,min;max=a>b?a:b;min=a<b?a:b
returnmax;returnmin;}说明:一个函数中可以有多个return语句,当执行到第一个return语句时,被调函数结束,给主调函数带回一个确定的值。return语句的注意事项int
getValue(inta,intb){
int
max,min;max=a>b?a:b;min=a<b?a:b
returnmax,min;
}说明:return后可以连续跟多个变量、常量或表达式,但是当执行到return语句时,被调函数结束,则给主调函数一个确定值,该值是return语句后最后一个表达式的值。总结引例二return语句作用:1.结束被调函数,返回到主调函数。给主调函数带回一个确定的值。引例三printfstar(){
printf(“*********”);}main(){
inta;c=printfstar();
printf(“%d”,c);}说明:如果被调函数中没有return语句,说明用户不希望带回一个确定的值。实际上函数带回一个不确定的值。引例三void
printfstar(){
printf(“*********”);}main(){
inta;
printfstar();
}说明:为了明确表示“不带回值”,则可以用void定义为“空类型”,这样系统就保证不使用函数带回的任何值,即禁止使用被调函数的返回值。函数的调用
--三个引例引例一voidprintStar(){
printf("********\n");}int
getMax(int
a,intb){
intmax; max=a>b?a:b; returnmax;}main(){
inta=12,b=23,max;
max=getMax(a,b);
printStar();
printf("max=%d\n",max); }函数的调用格式voidprintStar(){
printf("********\n");}int
getMax(int
a,intb){
intmax; max=a>b?a:b; returnmax;}main(){
inta=12,b=23,max; max=getMax(a,b);
printStar();
printf("max=%d\n",max);}
格式:函数名(【实参表列】)说明:
printStar()是无参函数,在调用时,没有实参表列,但是括弧不能省略。
有参函数,参表列有多个参数时,则各参数之间用
逗号隔开。
实参与形参的个数应相等,类型应一致。把实参按顺序一一传递给形参。引例二voidprintStar(){printf("********\n");}int
getMax(int
a,intb){
intmax; max=a>b?a:b; returnmax;}main(){
inta=12,b=23,max;
printStar();
max=getMax(a,b);
max=getMax(a,b)*2; max=getMax(15,getMax(a,b)); max=getMax(a,++b);
printf("max=%d\n",max);}函数的调用方式:函数语句
如:printfstar();只要求完成一定的操作,没有返回值。2.
函数表达式函数出现在一个表达式中,这种表达式称为函数表达式3.
函数参数函数的调用作为函数的参数。4.
函数实参的求值顺序由右到左。引例三int
getMax(int
a,intb){
intmax; max=a>b?a:b; returnmax;}main(){
inta=12,b=23,max; max=getMax(a,b);
printf("%d\n",max);}main(){
inta=12,b=23,max; max=getMax(a,b);
printf("%d\n",max);}int
getMax(int
a,intb){
intmax; max=a>b?a:b; returnmax;}结果:typemismatchinredeclarationof‘getMax’结果:23函数声明int
getMax(int
a,intb);main(){
inta=12,b=23,max; max=getMax(a,b);
printf("%d\n",max);}int
getMax(int
a,intb){
intmax; max=a>b?a:b; returnmax;}
函数的声明称为函数原型函数原型的两种格式:格式1:函数类型函数名(类型1参数名1,类型2参数名2,..….)格式2:函数类型函数名(类型1,类型2..….)实例intf(inta,intb);floatmax(float,float);charletter(char,char);main(){inti=2,p;p=f(1,2);
printf(“%d”,p);}int
f(inta,intb){……}floatmax(flaota,floatb){……}Charletter(charx,chary){……}
注意:
对函数的“定义”和
“声明”不是同一回事。练习一求任意3个数的最大值。求1-1000之间所有的奇数的和。求任意2个数的和及平均值。要求:用函数实现程
序int
getThreeMax(int
a,int
b,intc);main(){
int
a,b,c,max;
printf("Pleaseinput3numbers\n");
scanf("%d%d%d",&a,&b,&c); max=getThreeMax(a,b,c);
printf("max=%d",max);}int
getThreeMax(int
a,int
b,intc){
intmax; max=a>b?a:b; max=max
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 缝隙全案施工方案(3篇)
- 2026年新媒体运营方案直播策划
- 社区儿童失踪紧急搜寻预案
- 建筑物外墙维护公告(4篇范文)
- 2026年汽车销售综合测试题及答案
- 2026年精神障碍培训测试题及答案
- 2026年初中力学考试模拟测试题及答案
- 2026年通力s2测试题及答案
- 2026年昆虫记蜣螂测试题及答案
- 2026年宪法条例知识测试题及答案
- 讲授心理健康知识讲座
- 中考英语阅读理解复习课-(共38张PPT)
- 常用Y系列电机型号参数表
- 空间数据类型及表示
- 葫芦岛九江220千伏输变电工程环评报告
- 高速公路项目质量管理办法实施细则
- 2022年浙江纺织服装职业技术学院单招职业适应性测试试题及答案解析
- 半导体物理与光电器件课件
- 04第四章-火箭导弹的气动布局
- 世界现代设计史第二版第三章现代设计的前奏课件
- 齐鲁医学妊娠期急腹症
评论
0/150
提交评论