C语言人民币的构造的关键,C语言程序的设计第5章 函数.ppt

本文详细解读了C语言函数的基础,包括函数定义(类型、返回值和原型)、调用规则、递归调用实例、函数间数据传递以及标识符作用域。重点介绍了如何编写自定义函数如阶乘计算,以及递归求解最大公约数。还涵盖了函数嵌套调用和全局/局部变量的概念。
摘要由CSDN通过智能技术生成

C语言程序的设计第5章 函数.ppt

第5章 函数;从用户的观点出发,C语言的函数分为库函数和用户自定义函数两种。;5.2 函数基础 ;5.2.1 函数的定义;函数类型是指函数返回值的类型。若函数返回值的类型标识符省略,默认为int类型。若函数无返回值,则要将函数定义为void类型。;float sum (float x , float y ) { int z ; z = x + y ; return z ; };5.2.1 函数的定义;5.2.1 函数的定义;5.2.1 函数的定义;例:编写一个自定义函数求 n!;5.2 函数基础 ;5.2.2 函数的调用 ;5.2.2 函数的调用;5.2.2 函数的调用;2.函数调用时的语法要求 ;5.2.2 函数的调用;5.2 函数基础 ;5.2.3 函数原型;5.2.3 函数原型 ;5.2 函数基础 ;被调函数执行完成后,常常需要将处理的结果返回给主调函数,这种数据传递称为函数的返回值(函数值)。函数的返回值是函数数据输出的通道之一。除了void函数外,所有的函数都应该返回一个值。函数的返回值通常采用在函数体中用return语句显式地给出。一般形式为:;5.2.4 函数的返回值 ;5.2 函数基础 ;5.2.5 函数之间的数据传递 ;5.2.5 函数之间的数据传递 ;2;5.2 函数基础 ;5.2.6 函数应用举例;5.2.6 函数应用举例;5.2.6 函数应用举例;5.3 函数的递归调用 ;嵌套调用 :在一个函数调用过程中又调用另一个函数。C语言中,函数的定义是独立的,各函数均处于平行的关系。理论上,任何一个函数都可调用其他的函数,甚至调用它本身。main为例外已强调过多次。由于一个大的问题往往会被逐步分解为不同层次的许多函数。因此,对函数的嵌套调用将不可避免,并大量存在。原则上,C语言对函数的嵌套调用深度并未刻意加以限制。;main函数 a 函数 b 函数

调用a 函数 调用b 函数

结束;5.3.2 函数的嵌套调用;5.3 函数的递归调用 ;5.3.3 递归调用 ;5.3.3 递归调用 ;5.3.3 递归调用 ;5.3.3 递归调用 ;递归函数的结构十分简练。构造递归函数的关键是找到适当的递归算法和终结条件。因为递推的过程不能无限制地进行下去,必须要有一个结束此过程的条件。在前面的例子求n!的过程中,1!=1就是这样的结束递推过程的条件。;5.3.3 递归调用 ;5.3.3 递归调用 ;5.3.3 递归调用 ;5.3.3 递归调用 ;5.3.3 递归调用 ;5.3.3 递归调用 ;5.3.3 递归调用 ;5.3.3 递归调用 ;使用递归算法求m和n的最大公约数gcd;#include #include int main(void){ float gcd( ),m,n,g; printf(“\n Input m, n:\n”); scanf(“%f,%f”,&m,&n); g=gcd(m,n); printf(“\n gcd(%2.0f,%2.0f)=%5.0f\n”,m,n,g); return 0;};float gcd(a,b)float a,b;{ if (b==0) return(a); else return(gcd (b, fmod(a,b)));};5.4 标识符的作用域和生存期 ;5.4 标识符的作用域和生存期 ;5.4.1 标识符的作用域 ;5.4.1 标识符的作用域 ;局部变量的使用:说出下列程序的运行结果;5.4.1 标识符的作用域 ;int Abc, D1 ;main() { float f1, f2 ; ··· }float Ka, Hc ;hanshu(int x, int y) { double c, e ; ··· };5.4.1 标识符的作用域 ;全局变量的特点:; #include int X=3; int func( ) { int c=0 ; c+=X; X+= 10 ; return ( c ) ; } int main(void ) { int k=2; k=func( ) ; printf("1)%d\n",

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值