
函数

第%章画赵 §8-1C程序结构 §8-2函数的定义 §8-3函数的调用 §8-4在函数之间传递数据 §8-5函数的递归调用 §8-6变量的存储特性
第八章 函数 §8-1 C程序结构 §8-2 函数的定义 §8-3 函数的调用 §8-4 在函数之间传递数据 §8-5 函数的递归调用 §8-6 变量的存储特性

第幸高越 本章要讨论有关函数的如下一些问题: ·函数的定义 函数定义的一般形式、函数的参数和函数的返回值。 ·函数的调用 函数的调用方式、函数间的参数传递、函数的嵌套调 用、函数的递归调用等。 ·变量的存储特性 函数内说明的变量及函数外说明的变量的使用问题。 本章学习的难点: ·函数间的参数传递, ·函数的递归调用
第八章 函数 本章要讨论有关函数的如下一些问题: 函数的定义 函数定义的一般形式、函数的参数和函数的返回值。 函数的调用 函数的调用方式、函数间的参数传递、函数的嵌套调 用、函数的递归调用等。 变量的存储特性 函数内说明的变量及函数外说明的变量的使用问题。 本章学习的难点: 函数间的参数传递, 函数的递归调用

第小本画数 第一节C程序结构 例:输入两个整数数组,先将两个数组分别按从大到小 排序后,再将两个数组的元素按从大到小合并排序,在 合并后的数组中相同的数字只出现一次。 main() {变量定义; 输入数组a; 输入数组b; 数组a排序; 数组b排序; 数组a和数组b合并排序到数组c; 输出数组c;
第八章 函数 例: 输入两个整数数组,先将两个数组分别按从大到小 排序后,再将两个数组的元素按从大到小合并排序,在 合并后的数组中相同的数字只出现一次。 main() { 变量定义; 输入数组a; 输入数组b; 数组a排序; 数组b排序; 数组a和数组b合并排序到数组c; 输出数组c; } 第一节 C程序结构

第为本赵 第一节C程序结构 变量定义; inti,j,k=0,m,n,a[20],b[20],c[40]; 输入数组a; printf("Please enter m,n"); scanf (%d,%d",&m,&n) for (i=0;i<m;i++) scanf(“%d,&a[i]); 输入数组b; for(i=0;i<m;i++) scanf(“%d”,&b[i]);
第八章 函数 变量定义; 输入数组a; 输入数组b; int i,j,k=0,m,n,a[20],b[20],c[40]; printf(“Please enter m,n”); scanf(“%d,%d”,&m,&n); for(i=0;i<m;i++) scanf(“%d”,&a[i]); for(i=0;i<m;i++) scanf(“%d”,&b[i]); 第一节 C程序结构

第本高数 第一节C程序结构 数组a排序; for(i=0;ia[j+1]) { temp=a[j];a[j]=a[j+1];a[j+1]=temp; 数组b排序; 例c8101 for(i=0;ib[j+1]) { temp=b[j];b[j]=b[j+1];b[j+1]=temp;
第八章 函数 数组a排序; 数组b排序; for(i=0;ia[j+1]) { temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } for(i=0;ib[j+1]) { temp=b[j]; b[j]=b[j+1]; b[j+1]=temp; } 例C8_101 第一节 C程序结构

第小丰画数 第一节C程序结构 将重复部分,编写为一个函数,将合并排序也编写 为一个函数。 main() {inti,j,k=0,m,n,a[20],b[20],c[40]; input (a,m); input (b,n) sort (a,m); sort (b,n); combine (a,b,c); output (a); output (b)
第八章 函数 将重复部分,编写为一个函数,将合并排序也编写 为一个函数。 main( ) { int i,j,k=0,m,n,a[20],b[20],c[40]; input(a,m); input(b,n); sort(a,m); sort(b,n); combine(a,b,c); output(a); output(b); } 第一节 C程序结构

第小丰赵 第一节C程序结构 sort (d,h) int d[],h; for(i=0;id[j+1]) { temp=d[j]; d[j]=d[j+1]: d [j+1]=temp;
第八章 函数 sort(d,h) int d[ ],h; for(i=0;id[j+1]) { temp=d[j]; d[j]=d[j+1]; d[j+1]=temp; } 第一节 C程序结构

第幸高越 第一节C程序结构 合并排序思路; 如果数组a和数组b都没有结束 { 比较a[i]和b[j]的大小 如果a[i]小, 则将a[i]赋给c[k],i+,k+; 否则 则将b[j]赋给c[k],jt+,k+; 如果数组a没有结束,将数组a余下的元素赋给数组c; 如果数组b没有结束,将数组b余下的元素赋给数组c; 删除数组c中的重复元素;
第八章 函数 合并排序思路; 如果数组a和数组b都没有结束 { 比较 a[i] 和 b[j] 的大小 如果 a[i] 小, 则将 a[i] 赋给c[k], i++, k++; 否则 则将 b[j] 赋给 c[k], j++, k++; } 如果数组a没有结束,将数组a余下的元素赋给数组c; 如果数组b没有结束,将数组b余下的元素赋给数组c; 删除数组c中的重复元素; 第一节 C程序结构

第本画数 第一节C程序结构 合并程序: for (i=0,j=0;i<m &&j<n; if(a[i]b[j] c[k+]=a[i++]; else c[k+]=b[jt+];
第八章 函数 合并程序: for(i=0,j=0;i<m && j<n; ) if( a[i] < b[j] ) c[k++] = a[i++]; else c[k++] = b[j++]; 第一节 C程序结构