1、实验六 函数程序设计实验实验目的1. 掌握函数的定义及函数的调用方法。2. 掌握函数间参数传递和返回值传递的方法。3. 了解递归调用和嵌套调用的方法。4. 掌握全局变量和局部变量、动态变量、静态变量的概念和使用方法。实验内容一、必做题1.以下程序输出结果为_。func(int a,int b) int c;c=a+b;return c;main() int x=6,y=7,z=8,r;r=func(x-,y+,x+y),z-);printf(“%dn”,r);2.预测程序的输出结果:_。func(int b)int j;for (j=0;j1时可以编写myf函数计算f(n)的值。每次调用该函数
2、首先需要判断n是否为1,如果是,则返回1,否则,返回n 3 +f(n-1)的值。当计算f(n-1) 值的时候,又需要调用myf函数,但这时实参的值已比原来的值小1。每次调用myf函数都要反复上面的过程。易错问题:递归调用的过程是反推的过程,要求最后有一个能够结束递归调用的条件。二、选做题1.计算并输出 !n)m(具体要求如下:(1)编制一个函数 pq(n),返回 n!值。(2)编制主函数,由键盘输入 m 与 n(mnO),调用(1)中的函数计算!n)(值。(3)在主函数中,输入 m 与 n 之前要有提示,并检查输入数据的合理性,对于不合理的输入,应输出出错信息,不再进行计算。在函数 pq(n)中也要检查 n 的合理性,当 n0 时,应输出出错信息,不再进行计算。2用递归调用方法,将一个正整数从右到左按位输出,例如,对于整数1234,应输出4321。三、思考题1C语言中的程序模块称为_ 。2只在定义变量的函数内部已知的变量称为_。3在所有程序块或函数外部声明的变量是_的变量。4被调函数中的_语句用来把表达是的值返回给主调函数。5为了使函数中的局部变量在多次调用该函数之间保留自己的值,这个变量必须使用_储存类别说明符来声明。6通过直接或间接方式调用自身的函数是_函数。