- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 函数;教学目标;1. 函数概述;C语言是模块化程序设计语言;函数的分类;2. 函数的定义;函数定义实例: ;函数定义的相关说明: ;练习: 下列哪些函数定义是合法的?;3. 函数的返回值;关于返回语句的相关说明
函数中可有多个return语句
若无return语句,遇}时,自动返回调用函数
若函数返回值类型与return语句中表达式值的类型不一致,按前者为准,自动转换------函数调用转换
void型函数,不带回确定的值;关于函数返回值若干情形的实例说明:;;4. 函数的调用;函数名( [ 实参表列 ] );关于实参表求值顺序的实例:;函数声明
语法格式
作用
函数声明的位置
注意
;函数使用规范;#include stdio.h
float add(float x, float y);
int main()
{
float a,b,c;
scanf(%f,%f,a,b);
c=add(a,b);
printf(sum is %f\n,c);
return 0;
}
float add(float x,float y)
{
float z;
z=x+y;
return(z);
};函数参数及参数传递方式
实例分析
函数参数: 形参、实参
参数传递方式: 单向值传递;#include stdio.h
void main()
{
int a,b,c;
scanf(%d,%d,a,b);
c=max(a,b);
printf(Max is %d,c);
}
max(int x, int y)
{
int z;
z=xy?x:y;
return(z);
}; 函数参数: 形参、实参;例: 找两个数中较大者; 参数传递方式: 单向值传递;7;函数的嵌套调用和递归调用;嵌套调用实例: 求三个数中最大数和最小数的差值; 递归调用 -- 在函数调用的过程中,直接或间接地调用自身;递归调用实例: 求n的阶乘;;练习: 计算x的n次方(设n=0) ;递归程序书写规范;5. 数组作为函数参数;例8.10: a和b为有10个元素的整型数组,比较两数组对应元素;int large(int x,int y)
{
int flag;
if(xy)
flag=1;
else if(xy)
flag=-1;
else
flag=0;
return(flag);
};#include stdio.h
void main()
{
int large(int x,int y);
int a[10],b[10],i,l=0,e=0,s=0;
for(i=0;i10;i++)
scanf(%d,a[i]);
for(i=0;i10;i++)
scanf(%d,b[i]);
for(i=0;i10;i++)
{
if(large(a[i],b[i])==1) l=l+1;
else if(large(a[i],b[i])==0) e=e+1;
else s=s+1;
}
if(ls)
printf(ab\n);
else if(ls)
printf(ab\n);
else
printf(a=b\n);
};例8.11: 有1个一维数组score,内放10个学生成绩,求平均成绩;float average(float array[10])
{
int i;
float aver,sum=0;
for(i=0;i10;i++)
sum=sum+array[i];
aver=sum/10;
return(aver);
};#include stdio.h
void main()
{
float average(float array[10]);
float score[10],aver;
int i;
for(i=0;i10;i++)
scanf(%f,score[i]);
aver= average(score);
printf(aver=%f\n,aver);
};float average(float array[],int n)
{
int i;
float aver,sum=0;
for(i=0;in;i++)
sum=sum+array[i];
aver=sum/n;
return(aver);
};#include stdio.h
void main()
{
float average(float array[],int n);
float scor
您可能关注的文档
最近下载
- 汽修公司汽车修理汽车保养突发环境应急预案.docx VIP
- 某水库除险加固工程施工组织设计.doc VIP
- 全国预防接种技能竞赛理论训练题库及答案(中华人民共和国疫苗管理法212题).docx VIP
- 2025年(完整)人教精通版小学英语3-6年级单词词汇表 .pdf VIP
- 天翼云认证解决方案架构师考试题及答案(新版).doc VIP
- 港迪HF659系列变频器使用说明书V100(G20200812).pdf VIP
- 水库除险加固工程施工组织设计120页.doc VIP
- 《农业政策热点培训》课件.ppt VIP
- 申凌门机NSFC01-01A控制器操作手册.pdf
- 从大食物观角度出发的中国饲料粮供给安全问题探讨.docx VIP
文档评论(0)