2021级电子信息工程技术CProgramming81课件讲解.pptxVIP

  • 0
  • 0
  • 约1.22千字
  • 约 48页
  • 2026-02-09 发布于陕西
  • 举报

2021级电子信息工程技术CProgramming81课件讲解.pptx

C语言程序设计;;7.1为什么要用函数;7.1为什么要用函数;7.1为什么要用函数;函数的分类;7.1为什么定义函数;7.2函数的定义;类型名函数名(形式参数表列)

{

函数体

};7.3函数的调用;7.3.2函数调用时的数据传递;;7.3.3函数调用的过程;7.3.4函数的返回值;7.3.4函数的返回值;应用举例;

;7.4对被调用函数的声明和函数原型;7.4对被调用函数的声明和函数原型;7.4对被调用函数的声明和函数原型;7.5函数的嵌套调用;7.5函数的嵌套调用;(1)可以将max2函数的函数体改为只用一个return语句,返回一个条件表达式的值:

(2)在max4函数中,3个调用max2的语句可以用以下一行代替:

甚至可以取消变量m,max4函数可写成

先调用“max2(a,b)”,得到a和b中的大者。再调用“max2(max2(a,b),c)”(其中max2(a,b)为已知),得到a,b,c三者中的大者。最后由“max2(max2(max2(a,b),c),d)”求得a,b,c,d四者中的大者。;7.6函数的递归调用;7.6函数的递归调用;7.6函数的递归调用;7.6函数的递归调用;7.6函数的递归调用;;解题思路:

由上面的分析可知:将n个盘子从A座移到C座可以分解为以下3个步骤:

①将A座上n-1个盘借助C座先移到B座上;

②把A座上剩下的一个盘移到C座上;

③将n-1个盘从B座借助于A座移到C座上。

上面第①步和第③步,都是把n-1个盘从一个座移到另一个座上,采取的办法是一样的,只是座的名字不同而已。为使之一般化,可以将第①步和第③步表示为:

将one座上n-1个盘移到two座(借助three座)。只是在第①步和第③步中,one,two,three和A,B,C的对应关系不同。对第①步,对应关系是one对应A,two对应B,three对应C。对第③步,是:one对应B,two对应C,three对应A。

因此,可以把上面3个步骤分成两类操作:

①将n-1个盘从一个座移到另一个座上(n>1)。这就是大和尚让小和尚做的工作,它是一个递归的过程,即和尚将任务层层下放,直到第64个和尚为止。——hanoi函数

②将1个盘子从一个座上移到另一座上。这是大和尚自己做的工作。——move函数;;形式参数;7.7.1数组元素作为函数实参;7.7.1数组元素作函数实参;7.7.2一维数组名作函数参数;7.7.2一维数组名作函数参数;7.7.2一维数组名???函数参数;;7.7.3多维数组名作函数参数;7.7.3多维数组名作函数参数;7.8局部变量和全局变量;局部变量;?;全局变量;?;7.8局部变量和全局变量;全局变量;7.8局部变量和全局变量

文档评论(0)

1亿VIP精品文档

相关文档