c语言 函数2(23节).pptVIP

  • 1
  • 0
  • 约3.72千字
  • 约 18页
  • 2017-12-09 发布于河南
  • 举报
c语言 函数2(23节)

第八章 函数 内蒙古科技大学实训中心 阅读程序 例2:求一个学生5门课程的平均成绩 例2:求一个学生5门课程的平均成绩 实参与形参的对应关系: 例2:求一个学生5门课程的平均成绩 实参与形参的对应关系: 实参与形参的对应关系: 作业 认真阅读130~145页 认真研读142~144页 8.13 8.14 8.15之后自主编程171页8.6 * * main() {int a,b; a=10;b=20; printf(“before swap:a=%d b=%d\n”,a,b); swap(a,b); printf(“after swap a= %d b=%d”, a,b); } swap(int x, int y) {int temp; temp=x; x=y; y=temp; printf(“in swap x=%d y=%d\n”,x,y); } before swap:a=10 b=20 In swap:x=20 y=10 after swap:a=10 b=20 数据在函数间的传递 实参 a,b 形参x,y (x,y的改变不会影响到a,b 变量) 值 单向 例1:用冒泡法对8个数从小到大进行排序。 main() { char a[8]; int i , j, k; for(i=0; i8; i++) scanf(“%d”,a+i); for(i=0; i7; i++) for(j=0;j7-i ; j++) if(a[j]a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } for(i=0; i8; i++) printf(“%4d”,a[i]); } 例1:用调用函数的方法对8个数从小到大进行排序。 main() { char a[8]; int i; for(i=0; i8; i++) scanf(“%d”,a+i); fac(a, 8); for(i=0; i8; i++) printf(“%4d”,a[i]); } void fac(char b[ ], int n) { int i , j; for(i=0; in-1; i++) for(j=0;jn-1-i ; j++) if(b[j]b[j+1]) { t=b[j]; b[j]=b[j+1]; b[j+1]=t; } } 数据在函数间的传递 实参: a数组,数组个数8 形参: b数组, 数组个数n (对b数组排序顺序应该不会影响到a数组) 数据类型 func(定义形式参数) { 定义下标变量i,累加器变量sum(清0); 遍历形参数组,将元素值放入累加器变量; 返回 平均分; } main( ) { 定义数组b,平均分变量av,下标变量i; 为数组b赋值 av=调用func函数; 输出av; } float aver(float a[ ],int n) { int i;float s=0; for(i=0;in;i++) s=s+a[i]; return s/n; } 92 64 69 89 100 a[0] a[1] a[2] a[3] a[4] b[0] b[1] b[2] b[3] b[4] main() { float b[5],av; int i; for(i=0;i5;i++) scanf(“%f”,b[i]); av=aver(b,5); printf(“av=%f”,av); } 2000 2004 2008 2012 2016 ⑴实参用数组名,形参用数组,两个数组共占同一段内存空间 对形参数组排序就是对实参数组排序 遍历形参数组每一个元素就等价于遍

文档评论(0)

1亿VIP精品文档

相关文档