计算机程序设计基础 第五饼函数
1 计算机程序设计基础 第五讲 函数
、数组 问题:编程求解∑ 现假定n=6,k=4 我们用函数来编写这个题的程序,参考程序如下: #include <stdio.h> /预编译命令 #define n 6 /定义n为6 t define k 4 定义k为4 void maino /主函数 /主程序开始 printf("sum of %dth powers of integers from 1 to %d=",k,n 提示信息 printf("%d\n",SoP(n, k)); 输出结果,其中 /SOP(k)为被调用函数 } 主程序结束
2 三、数组 问题:编程求解 1 n k x x = 现假定 n=6,k=4 我们用函数来编写这个题的程序,参考程序如下: #include <stdio.h> //预编译命令 #define n 6 //定义n为6 #define k 4 //定义k为4 void main() //主函数 { //主程序开始 printf("sum of %dth powers of integers from 1 to %d=",k,n ); //提示信息 printf("%d\n",SOP(n,k)); //输出结果,其中 //SOP(n,k)为被调用函数 } //主程序结束
/以下函数是被主程序调用的函数 int SoP(m, D) 整型自定义函数,m,为形参 int m, 形参m,为整型变量 自定义函数体开始 int i sum: 整型变量i,sum sum≡0 初始花累加器 for (i=l; i<=m; i=i+1) 计数循环(i 循环体开始 sum=sum+power( i, ) 累加 循环体开始 return(sum); 返回值um给函数sop(n,k 自定义函数体结束 以下函数是被函数sop(n,k)调用的函数 int power(p, q) 整型自定义函数 Int p, 9; /形参pq为整型变量 自定义函数体开始 int i, product; 敦 product=1 初始化累乘器 for(i=l; K<=q: i=i+1) 计数循 ∥循环体开始(i product=product*p; 累乘 循环体结束(i) return(product) /累乘值 produc返回给 power3 自定义函数体结束
3 //以下函数是被主程序调用的函数 int SOP(m,l) //整型自定义函数,m,l 为形参 int m,l; //形参m,l 为整型变量 { //自定义函数体开始 int i,sum; //整型变量i,sum sum=0; //初始化累加器 for (i=1; i<=m; i=i+1 ) //计数循环(i) { //循环体开始 sum=sum+power( i ,l ); //累加 } //循环体开始 return (sum) ; //返回值sum给函数sop(n,k) } //自定义函数体结束 //以下函数是被函数sop(n,k)调用的函数 int power(p,q) //整型自定义函数 int p,q; //形参p,q 为整型变量 { //自定义函数体开始 int i,product; //整型变量 product=1; //初始化累乘器 for(i=1; i<=q; i=i+1) //计数循环( i ) { //循环体开始( i ) product=product*p; //累乘 } //循环体结束( i ) return(product); //累乘值product返回给power } //自定义函数体结束
自定义函数 为了突出重点,先学会基本东西,省略掉一些事情先不讲。 数据类型><函数名>(<参数表>) 例: int powert(p,n) power为函数名,要以英文字母开头。 int是函数值的数据类型,这里是int(整型)。 (p,n)括号中的p,m为函数的形式参数,形式参数也要定义其数据 类型。 函数定义的一般格式: 数据类型><函数名>(<参数表>) <参数说明;> <说明语句> <执行语句>
4 自定义函数 <数据类型> <函数名> (<参数表>) 例: int power(p,n) power为函数名,要以英文字母开头。 int是函数值的数据类型,这里是int(整型)。 (p,n)括号中的p,n为函数的形式参数,形式参数也要定义其数据 类型。 函数定义的一般格式: <数据类型> <函数名> (<参数表>) <参数说明;> { <说明语句> <执行语句> } 为了突出重点,先学会基本东西,省略掉一些事情先不讲
形式参数与实在参数 1、形式参数是在定义函数时放在函数名后括号中的参数。在未进 行函数调用时,并不对形式参数分配内存单元。在发生函数调 用时,立刻给形式参数分配内存单元。调用结束后,释放掉行 参所占的内存单元。 2、因此,形参变量属于局部变量,其作用域在它所在的函数体内。 3、在定义函数的时候,必须指定形参变量的类型,如何指定?有 二种方法: (1) int power(p, n) (2)int power(int p, int n) int p, n; 有些编译系统不认识第(2)种形式
5 1、形式参数是在定义函数时放在函数名后括号中的参数。在未进 行函数调用时,并不对形式参数分配内存单元。在发生函数调 用时,立刻给形式参数分配内存单元。调用结束后,释放掉行 参所占的内存单元。 2、因此,形参变量属于局部变量,其作用域在它所在的函数体内。 3、在定义函数的时候,必须指定形参变量的类型,如何指定?有 二种方法: 形式参数与实在参数 (1) int power(p,n) int p,n; { …… } (2) int power(int p,int n) { …… } 有些编译系统不认识第(2)种形式