数组作函数参数、函数嵌套与递归调用、变量作用域

数组作函数参数、函数嵌套与递归调用、变量作用域

ID:14138759

大小:192.00 KB

页数:12页

时间:2018-07-26

数组作函数参数、函数嵌套与递归调用、变量作用域_第1页
数组作函数参数、函数嵌套与递归调用、变量作用域_第2页
数组作函数参数、函数嵌套与递归调用、变量作用域_第3页
数组作函数参数、函数嵌套与递归调用、变量作用域_第4页
数组作函数参数、函数嵌套与递归调用、变量作用域_第5页
资源描述:

《数组作函数参数、函数嵌套与递归调用、变量作用域》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、《C语言程序设计》教案19-数组作函数参数、函数嵌套调用、变量作用域教师姓名韩晓翠授课班级授课形式边讲边练授课日期年月日第周授课时数授课章节第7章用函数实现模块化程序设计7.5函数嵌套调用7.6函数递归调用7.7数组名作函数参数7.8-7.11变量作用域教学目的熟练掌握数组元素作函数参数熟练掌握数组名作函数参数掌握函数的嵌套调用熟悉变量的作用域教学重点数组元素作函数参数数组名作函数参数教学难点数组名作函数参数变量的作用域教学内容授课要点数组元素作函数参数数组名作函数参数函数的嵌套调用变量的存储类别和作用域一、数组元素作函数参数数组元素作函数参数和普通变量作函数参数效

2、果和用法一样问题1:调用函数输出数组元素的值。问题1解决:#includevoidmyfun(intx,inty,intz);main(){inta[3]={1,2,3};myfun(a[0],a[1],a[2]);}voidmyfun(intx,inty,intz){printf("%d,%d,%d",x,y,z);}运行结果:1,2,3注:数组元素作函数参数实现的是“值传递”。如:#includevoidswap1(intx,inty){intz;z=x;x=y;y=z;}main(){inta[2]={1,2};swap

3、1(a[0],a[1]);printf("a[0]=%da[1]=%d",a[0],a[1]);}12a调用前FFAAFFAE12x调用时yFF01FAAC21x交换yFF01FAAC12a返回FFAAFFAE二、数组名作函数参数数组名作函数参数——地址传递C语言规定,不带任何下标的数组名代表数组的首地址,即第一个元素的地址例如,有定义语句intnum[10];那么,数组名num和&num[0]的意义是相同的。采用数组名作为函数参数就是将数组的首地址作为函数参数传递给被调用的函数。例如,以下程序段是把数组num的地址传给函数sort():main(){int

4、num[10];/*……*/sort(num);/*……*/}接收数组num的函数既可以定义为:voidsort(intarr[10]){/*……*/}也可以定义为:voidsort(intarr[]){/*……*/}即使定义为:voidsort(intarr[20]){/*……*/}程序编译时也不会报错。因为C编译程序产生的代码是令函数sort()接收数组num的首地址,并不生成具有20个元素的数组arr,也不进行下标边界检查。为了避免发生错误,向函数传递数组时,最好同时再用一个参数传递数组的长度。例如,对于上面的例子可以写程序:main(){intnum[10]

5、;/*……*/sort(num,10);/*……*/}voidsort(intarr[],intn){/*……*/}问题2:实现两个整型变量的值的互换。(假设两个整型变量是一个长度为2的整型数组的元素)问题2解决---自定义函数#includevoidswap2(intx[2])//形参用数组定义,等价于intx[]{intz;z=x[0];x[0]=x[1];x[1]=z;}main(){inta[2]={1,2};swap2(a,2);printf("a[0]=%da[1]=%d",a[0],a[1]);}12a调用前12ax调用21a

6、x交换21a返回问题3:定义一个函数,求全班学生的某门课程总分,并将总分返回到主函数中输出。问题3解决---自定义函数求总分#includefloatsum(floatstu[],intn);voidmain(){floatscore[10];inti;floattotal;printf("Input10scores:");for(i=0;i<10;i++)scanf("%f",&score[i]);total=sum(score,10);//实参用数组名printf("sumis:%f",total);}floatsum(floatstu

7、[],intn)//形参用数组定义{inti;floattotal=0;for(i=0;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。