- 1、本文档共114页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章节 函数(第12,13,14,15次课)
7.1 概述 变量存储类型 用数组名做函数参数,应在主调函数和被调函数中分别定义数组,而不能只在一方定义。 实参数组与形参数组的类型应一致。 用数组名向形参传递—— 。 内存中,实参数组和形参数组占据(不同,相同)的内存单元,形参数组值的改变(能,不能)影响实参数组元素的值。 数组首地址 友情提示: P195 实际上,指定形参数组的大小是不起任何作用的——即,无意义 形参数组可以不指定大小,在定义数组时在数组名后面跟一个方括号。 方括号[ ]不能省 ! void invert(int x[N]) void invert(int x[ ]) 形参数组的大小由 决定。 实参数组 有时为了在被调用函数中处理数组元素的需要,可以另设一个形参,传递需要处理的数组元素。 P195 void main( ) { float score1[5]={98.5,97.91,97,60,55}; float score2[10]={67.5,89.5,99,69.5,77,89.5,76.5,54,60,99.5}; printf(“the average of class a is %6.2f\n”,average(score1,5)); printf(“the average of class b is %6.2f\n”,average(score2,10)); return 0;} //例7.11 有两个班级,分别有5名和10名学生,调用 //一个average函数,分别求这两个班的学生的平均成绩。 #include stdio.h //例7.11 有两个班级,分别有5名和10名学生,调用 //一个average函数,分别求这两个班的学生的平均成绩。 #include stdio.h float average(float array[],int n) { int i; float aver,sum=array[0]; for(i=1;in;i++) sum=sum+array[i]; //求数组和 aver=sum/n; return aver; } void main( ) { float score1[5]={98.5,97.91,97,60,55}; float score2[10]={67.5,89.5,99,69.5,77,89.5,76.5,54,60,99.5}; printf(“the average of class a is %6.2f\n”,average(score1,5)); printf(“the average of class b is %6.2f\n”,average(score2,10)); return 0;} #include stdio.h //用选择法对数组中的10个整数排序 void ascending(int a[],int n) //将已知数组a升序排序 { int i,j,k,t; for(i=0;in-1;i++) { k=i; for(j=i+1;jn;j++) if(a[j]a[k]) k=j; t=a[i]; a[i]=a[k]; a[k]=t; } } int main() { int x[10],i; printf(input 10 numbers:\n); for(i=0;i10;i++) scanf(%d, x[i]); ascending(x,10); //调用函数实现数组排序 for(i=0;i10;i++) printf(“%d”,x[i]); return 0; } 被调函数ascending()中数组a的改变也改变了主调函数main()中的数组x 数组名是数组首地址 #include stdio.h void ascending(int a[10]) { //a数组元素被排序 …… } void main() { //定义并输入x数组值 ascending(x); //排序 //输出x数组值 } main()函数 执行过程 开辟实参数组x空间 x 3 7 6 5 9 2 11 8 20 4 调用函数ascending() a 定义形参数组a x[0] x[1] x[2] ……………………………… x[9] #include stdio.h void ascending(int a[10]
文档评论(0)