c语言谭浩强第八章函数PPT,清华谭浩强C语言 第8章 函数.ppt

本文详细介绍了C语言中的函数,包括函数的构成、分类、定义和调用方式。强调了函数在程序开发中的重要性,如模块化和代码复用。讲解了函数参数的传递,包括实参和形参的区别,以及返回值的处理。通过实例展示了如何定义和调用函数来求解最大值问题,以及函数参数的按值传递特性。
摘要由CSDN通过智能技术生成

清华谭浩强C语言 第8章 函数

第8章 函 数;8.1 概述;函数的构成; C程序的全部工作都是由各式各样的函数完成的,所以也把C语言称为函数式语言。;程序开发中使用函数的优点;函数的一些说明;函数的分类;8.2 函数定义的一般形式;2)有参函数的一般形式 函数类型 函数名( 形参表列 ) { 说明语句部分; 可执行语句部分; };3.“ 空函数 ” 类型说明符 函数名( ) { }

“空函数”什么操作也不做。其作用是在此处留一函数的位置,以便将来扩充功能之用。函数名也在将来换取实际的函数名。;函数定义的一些说明;2.函数体:函数首部下用一对{}括起来的部分。如果函数体内有多个{},最外层是函数体的范围。 函数体一般包括声明部分、执行部分两部分。1)声明部分:在这部分定义本函数所使用的变量和进行有关声明(如函数声明)。2)执行部分:程序段,由若干条语句组成(可以在其中调用其它函数)。 ;例:输入三个整数,求三个整数中的最大值不使用函数(除main外)

main(){ int n1,n2,n3,nmax; scanf(“%d%d%d”,&n1,&n2,&n3); if(n1>n2) nmax=n1; else nmax=n2; if(n3>max) max=n3; printf(“max=%d\n”,nmax);} ;使用函数int max(int,int,int); /*函数声明*/main(){ int n1,n2,n3,nmax; scanf(“%d%d%d”,&n1,&n2,&n3); nmax=max(n1,n2,n3); printf(“max=%d\n “,nmax); } ?int max(int x,int y,int z){ int m; if(x>y) m=x; else m=y; if(z>m)m=z; return m;};8.3 函数参数和函数的值;例 从键盘输入两个数,输出其中较大的一个。 main( ) { int a, b, c ; scanf(“%d,%d”, &a, &b); c=max(a,b); /? a, b为实际参数 ?/ printf(“Max is %d”,c); } max(x,y) /? x, y为形式参数 ?/ int x, y; { int z; z=x>y ? x : y; return(z); };说明:1)形参变量在被调用前不占用存储单元;在被调用结束 后,形参所占存储单元亦被释放。因此,形参只有在该函数内有效。调用结束,返回调用函数后,则不能再使用该形参变量。2)实参可以是常量、变量、表达式、函数等。无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此,应预先用赋值、输入等办法,使实参获得确定的值。3)实参对形参的数据传送是单向的,即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。4)实参和形参占用不同的内存单元,即使同名也互不影响5)在被定义函数中,必须指定形参的类型。实参和形参的类型应相同或赋值相容。;main( ){ int a=3, b=5; void swap( int , int ); swap (a, b); printf(“a=%d, b=%d\n”, a, b);}void swap (int x, int y){ int temp; temp=x; x=y; y=temp; printf(“x=%d , y=%d \n”, x, y);}是按值传递的按址传递放在指针里面讲。;8.3.2 函数的返回值; 4)return语句返回值的类型应与该函数的类型一 致。否 则以函数类型为准。 5)若函数中没有return语句,则该函数被调用后也会带 回不确定的值。为了明确表示不需要函数返回值,可 以用“void”定义函数为 “无类型”。凡不需要返回值的函数,一般均定义为“void”类型。 6)一个函数可以有一个以上的return语句,执行到哪个return语句,哪个return语句起作用。

;8.4 函数的调用;8.4.2 函数调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值