谭浩强c语言第7章,C语言第7章(配清华大学谭浩强)

本文详细介绍了C语言中的函数,包括函数的分类(main函数与自编函数、系统函数)、函数的定义与调用方式(无参与有参函数)、实参与形参的概念及传递机制、函数返回值的处理以及系统函数的调用注意事项。此外,还讨论了函数的嵌套调用和调用顺序,强调了函数调用中返回值类型的重要性,并给出了具体的示例来说明如何使用函数解决实际问题,如求最大值和利用弦截法求方程的根。
摘要由CSDN通过智能技术生成

计算机教程

本文由445803550贡献

ppt文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。

第七章 函数

§7.1 概述

C程序由一个main和任意个函数组成。 1) 除main外, 其它为系统函数、自编函数, 系统函数:由系统提供,用户可调用。 自编函数:由用户按语法规则编写。    2) 除main函数外,其它函数可相互调用 main ( ) a d b ? c x z

3)函数不可嵌套定义,具有全局性、平行性, 4)函数分为有参与无参函数 5)程序从main开始执行,最后又回到main函 数结束。

§7.2 定义与调用

1. 无参函数 定义形式 类型标识符 函数名( ) { 说明部分 语句 } 类型标识符: 表示返回值类型。

例101. 通过调用printstar( ), print_ message( )而显示: ************ How do you do! ************ 就是无参函数 调用方式 若有返回值可出 现在表达式中 函数名( ) ; 无返值可单独出 现

2. 有参函数 定义形式 类型标识符 函数名(形参表列) 形参说明 { 说明部分 语句 }

例: 求二数之最大值 int max (x, y) int x, y; {int z; z=x>y? x:y; return (z); } 出现return, 语句,返回值一般与函数类型一致.

调用方式 函数名(实参表列); 无值返回: 有值返回:

3. 形参与实参 实参: 出现在调用函数中, 形参: 出现被调用函数中。    单向 调用时: 实参值 传递

形参。

函数被调用时,临时分配单元给形参,调用完 毕, 这些单元被释放。 注: 实参可为表达式,其值传递。 实参、形参类型一致。 可在形参表列中对形参说明。    4. 函数返回值 return (表达式); 变量等 由函数名只能得到一个返回值。 通过return语句将返回值传给函数名,可有多 return , 个return. 返回值类型为函数类型。 一般return中的返 回值类型应与函数定义时的类型一致, 不一致时, 以函数定义类型为准。

5. 调用函数应对被调用函数的返回值类型作出说 明:(函数名相当于一变量,但应有所区别) 类型符 函数名( ); 它不同于函数的定义(功能定义) 例: 求二实数之和 main ( ) { float add( ); float a, b, c; scanf("%f, %f",&a, &b); c=add(a, b);

printf (“sdfgghh%f”,c); } float add( float x, float y) { float z; z=x+y; return z; } 以下几种情况可省略对被调函数的说明: 当返回值为整型、字符型。 在调用之前定义函数。 在整个文件的开头定义函数。

? ? ? ? ? ? ? ?

float add( float x, float y) { float z; z=x+y; return z; } main ( ) { float add( ); float a, b, c; scanf("%f, %f",&a, &b); ? c=add(a, b);    printf (“sum=%f”,c); ? } ?

6. 实参传递给形参时,实参的计算有的系统自左至 右,有的自右至左。

7. 调用系统函数, 需根据系统提供的手册而确定是 否要加上预编译命令,如:getchar ( )需加 #include

§7.3 嵌套调用

函数不能嵌套定义,但可嵌套调用 main { ↓ 调用a ↓ } a( ) {? 调用b ? } } b( ) {

例: 用弦截法求方程的根。 x3–5x2+16x–80=0 方法如下: (1) 取两个不同点x1、x2,如果f(x1)和f(x2)符号相反, 则(x1,x2)区间内必有一个根。如果f (x1)与f (x2)同 符号,则应改变x1、x2,直到f (x1)、f (x2)异号为 止。注意x1、x2的值不应差太大,以保证(x1, x2) 区间只有一根。

(2) 连接f(x1)和f(x2)两点,此线(即弦)交x轴于x,见 图7.6. y f(x2) x点坐标

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值