第5章 函数(上课课件)
合集下载
高中数学新教材必修一第五章《三角函数》(1)全套课件
(新教材)第五章 三角函 数(1)
全套课件
1.1 任意角
体操是力与美的结合,也充满了角的概念.2002年11 月22日,在匈牙利德布勒森举行的第36届世界体操锦 标赛中,“李小鹏跳”——“踺子后手翻转体180度接 直体前空翻转体900度”,震惊四座,这里的转体180 度、 转体900度就是一个角的概念.
若弧是一个整圆,它的圆心角是周角,其弧
度数是 2 ,而在角度制里它是360 ,
角度制与弧度制的互换:
(1)把角度换成弧度
360o 2 rad,
180o rad,
1o rad 0.01745rad.
180
(2)把弧度换成角度
2 rad 360o ,
rad 180o ,
1 rad
180
终边落在坐标轴上的情形
900 + k360°
y
1800 + k360°
o
或3600+ k360°
x
00 + k360°
2700 + k360°
复习回顾
1、初中几何研究过角的度量,1°的角是如何定义?角度 制呢?
答 : 规定把周角的 1 作为1度的角;而把用度做单位 360
来度量角的制度叫做角度制.
1、角的范围
初中角的定义: 从一个点出发引出的两条射线构成的 几何图形(0°,360°)
“旋转”形成角
终边
B
顶点
o
A
始边
角可以看成平面内一条射线绕着端点从一
个位置旋转到另一个位置所成的图形.
1、花样游泳中,运动员旋转的周数如何 用角度计算来表示?
2、汽车在前进和倒车中,车轮转动的角度 如何表示才比较合理?
2.我们可以使线段 OP 的长为多少,能简化上述计算?
全套课件
1.1 任意角
体操是力与美的结合,也充满了角的概念.2002年11 月22日,在匈牙利德布勒森举行的第36届世界体操锦 标赛中,“李小鹏跳”——“踺子后手翻转体180度接 直体前空翻转体900度”,震惊四座,这里的转体180 度、 转体900度就是一个角的概念.
若弧是一个整圆,它的圆心角是周角,其弧
度数是 2 ,而在角度制里它是360 ,
角度制与弧度制的互换:
(1)把角度换成弧度
360o 2 rad,
180o rad,
1o rad 0.01745rad.
180
(2)把弧度换成角度
2 rad 360o ,
rad 180o ,
1 rad
180
终边落在坐标轴上的情形
900 + k360°
y
1800 + k360°
o
或3600+ k360°
x
00 + k360°
2700 + k360°
复习回顾
1、初中几何研究过角的度量,1°的角是如何定义?角度 制呢?
答 : 规定把周角的 1 作为1度的角;而把用度做单位 360
来度量角的制度叫做角度制.
1、角的范围
初中角的定义: 从一个点出发引出的两条射线构成的 几何图形(0°,360°)
“旋转”形成角
终边
B
顶点
o
A
始边
角可以看成平面内一条射线绕着端点从一
个位置旋转到另一个位置所成的图形.
1、花样游泳中,运动员旋转的周数如何 用角度计算来表示?
2、汽车在前进和倒车中,车轮转动的角度 如何表示才比较合理?
2.我们可以使线段 OP 的长为多少,能简化上述计算?
七年级数学上册 第5章 代数式与函数的初步认识 5.5 函数的初步认识教学课件
在同一个变化过程中,有两个变量x和y,如果对于变量x的每一个确 定的值,都能随之确定一个y值,我们就把y叫做x的函数,其中x叫 做自变量.如果自变量x取a时,y的值是b,就把b叫做x=a时的函数值. 如果一个变量与另一个变量之间的函数关系可以用一个数学式子 (shìzi)表示出来,我们就把这个数学式子(shìzi)叫做该函数的表达式。
例如(lìrú),在上面的问题中,86.36是关于x的代数式
2.54x当x=34时的值,也叫做函数y=2.54x当x=34时的
函数值。 2021/12/11
第七页,共十六页。
如果一个变量与另一个变量之间的函数关系可以用一个
数学式子表示出来(chū lái),我们就把这个数学式子叫做该函 数的表达式。
的定义,能列出实例中的两个变量之间的等量关系,从而写出 简单的函数(hánshù)关系式。
2.经历从具体实例中抽象出函数的过程,发展观察分析 抽象概括等思维能力。
3.使学生认识到数学知识来源于生活,从而体会到学习函数 的必要性,提高学习数学的兴趣。
2021/12/11
第四页,共十六页。
交流(jiāoliú)与发现
第十页,共十六页。
随堂检测(jiǎn cè)
1.下列(xiàliè)变量之间的关系不是函数关系的是( D) A.矩形的一条边长是6 cm,它的面积S cm与 另一边长x cm的关系 B.正方形的面积与周长的关系 C.圆的面积与周长的关系 D.某图形的面积与它所在的平面的位置关系
2.函数(hánshù)y=-3x+7中,当x=2时,函数值为 ( C ) A.3 B.2 C.1 D.0
2021/12/11
第十四页,共十六页。
12/11/2021
第十五页,共十六页。
例如(lìrú),在上面的问题中,86.36是关于x的代数式
2.54x当x=34时的值,也叫做函数y=2.54x当x=34时的
函数值。 2021/12/11
第七页,共十六页。
如果一个变量与另一个变量之间的函数关系可以用一个
数学式子表示出来(chū lái),我们就把这个数学式子叫做该函 数的表达式。
的定义,能列出实例中的两个变量之间的等量关系,从而写出 简单的函数(hánshù)关系式。
2.经历从具体实例中抽象出函数的过程,发展观察分析 抽象概括等思维能力。
3.使学生认识到数学知识来源于生活,从而体会到学习函数 的必要性,提高学习数学的兴趣。
2021/12/11
第四页,共十六页。
交流(jiāoliú)与发现
第十页,共十六页。
随堂检测(jiǎn cè)
1.下列(xiàliè)变量之间的关系不是函数关系的是( D) A.矩形的一条边长是6 cm,它的面积S cm与 另一边长x cm的关系 B.正方形的面积与周长的关系 C.圆的面积与周长的关系 D.某图形的面积与它所在的平面的位置关系
2.函数(hánshù)y=-3x+7中,当x=2时,函数值为 ( C ) A.3 B.2 C.1 D.0
2021/12/11
第十四页,共十六页。
12/11/2021
第十五页,共十六页。
人教A版高中数学必修第一册 第5章 三角函数 课件(1)(共38张PPT)
图象图正象弦特曲征线、余弦曲线、正切曲线
三角函数
三角函数的图象与性质
周 奇期 偶性 性 性质
单调性
最大、最小值
A,ω,φ对函数图象的影响
函数y=Asinωx+φ的图象 图象画法五 变点 换法 法
三角函数模型的简单应用
专题训练
专题一 正弦函数与余弦函数的对称性问题 正弦函数 y=sinx,余弦函数 y=cosx,在教材中已研究了 它们的定义域、值域、单调性、奇偶性、周期性.除了上述有 关内容之外,近年来有关正弦函数、余弦函数等对称性问题在 高考中有所出现,有必要对其作进一步的探讨.
第五章
人教2019A版必修 第一册
三角函数
小结与复习
知识框图
三 角 函 数
பைடு நூலகம்
公式一~四:α+2kπk∈Z,-α,π±α的三角函数值等于α的同名函数值, 前面加上一个把α看成锐角时原函数值的符号
三角函数的诱导公式
公式五、六:π2±α的正余弦函数值,分别等于α的余弦正弦函数值, 前面加上一个把α看成锐角时原函数值的符号
解得ab= =- -41, .
∴a、b 的取值分别是 4、-3 或-4、-1.
[点拨] 本题是先由定义域确定正弦函数 y=sin(2x+6π)的 值域,但对整个函数的最值的取得与 a 有关系,故对 a 进行分 类讨论.
设 a≥0,若 y=cos2x-asinx+b 的最大值为 0,最 小值为-4,试求 a、b 的值.
[分析] 通过换元化为一元二次函数最值问题求解.
[解析] 原函数变形为 y=-(sinx+a2)2+1+b+a42. 当 0≤a≤2 时,-a2∈[-1,0], ∴ymax=1+b+a42=0.① ymin=-(1+a2)2+1+b+a42=-4② 由以上两式①②,得 a=2,b=-2,舍 a=-6(与 0≤a≤2 矛盾).
第5章 函数与带参数宏 《C语言程序设计及应用教程》课件-PPT课件
5.2 函数的嵌套与递归调用
函数的嵌套调用
不允许嵌套定义,函数间平行的、独立。 C中的函数:
允许嵌套调用。
main( ) 调用函数a 结束
a函数
调用函数b
b函数
【例5-7】 输入两个整数,求平方和
#include <stdio.h>
int fun1(int x,int y)
int fun1(int x,int y);
斐波那契数列");
for(i=0;i<N;i++)
{
printf("%d\t",iF[i]);
if((i+1)%10==0)
printf("\n");
}
printf("\n");
}
int Sum(int iF[],int n); void main() { int i,Fibonacci[N],m,n; //生成斐波那契数列 CreateFibonacci(Fibonacci); //输出斐波那契数列 PrintFibonacci(Fibonacci); //求数列前n项的和 printf(" 请输入要求和的项数 n(n<%d): ",N); scanf("%d",&n); m=Sum(Fibonacci,n); printf("\n 斐波那契数列前 %d项的和:%4d\n",n,m);}
第5章 函数与带参数宏 ?C语言 程序设计及应用教程?课件
5.1 函数的声明、定义与调用
5.1.1 函数的声明与定义 5.1.2 函数调用 5.1.3 函数参数传递 5.1.4 主函数中的参数
第5章 函数
oop技术:封装性、继承性、多态性。
多态性 :一个名字,多个人口”,或称“同一接口, 多种方法 。
例5.6 重载绝对值函数
int abs(int x)
{ { { return x>0?x:-x;} return x>0?x:-x;} return x>0?x:-x;} double abs(double x) 1ong abs(1ong x) void main()
形参带值后,即可进行相应的数据处理
如果有结果值,通过return语句带回到主函数
5.2 函数的调用
函数要先定义,后调用。
调用函数时要考虑到函数本身的参数;
调用标准库函数时,要包含相应的头文件 输入/输出函数 iostream.h 字符串函数 string.h 常用数学函数 math.h 调用自定义函数时,要定义相应的实参,并给 这些实参赋值。
main()
{ int a = 1,b = 2; cout << "Before exchange:a= " << a << ",b= " << b << endl;
swap(a,b);
cout << "After exchange:a= " << a << ",b= " << b << endl; }
例5.8 定义一个求两数最大值的模板函数。
template <class T> T Max(T a, T b) { return a>b?a:b; }
void main()
第五章 第四节 三角函数的图象与性质 课件(共63张PPT)
,解
得 ω=32 .
法二:由题意,得 f(x)max=fπ3
2.(必修 4P35 例 2 改编)若函数 y=2sin 2x-1 的最小正周期为 T,最大
值为 A,则( )
A.T=π,A=1
B.T=2π,A=1
C.T=π,A=2
D.T=2π,A=2
A [T=22π =π,A=2-1=1.]
3.(必修 4P40 练习 T4 改编)下列关于函数 y=4cos x,x∈[-π,π]的单 调性的叙述,正确的是( )
求三角函数单调区间的两种方法 (1)代换法:就是将比较复杂的三角函数含自变量的代数式整体当作一个 角 u(或 t),利用复合函数的单调性列不等式求解.(如本例(1)) (2)图象法:画出三角函数的正、余弦曲线,结合图象求它的单调区间. [注意] 要注意求函数 y=A sin (ωx+φ)的单调区间时 ω 的符号,若 ω<0, 那么一定先借助诱导公式将 ω 化为正数.同时切莫漏掉考虑函数自身的定义 域.
又当 x∈[0,π2
]时,f(x)∈[-
2 2
,1],所以π2
≤ω2π
-π4
≤5π4
,解得
3 2
≤ω≤3,故选 B.
π
π
π
优解:当 ω=2 时,f(x)=sin (2x- 4 ).因为 x∈[0,2 ],所以 2x- 4 ∈
π [- 4
,3π4
π ],所以 sin (2x- 4
)∈[-
2 2
,1],满足题意,故排除 A,C,
B.[kπ,kπ+π2 ](k∈Z)
C.[kπ+π6 ,kπ+23π ](k∈Z)
D.[kπ-π2 ,kπ](k∈Z)
(2)函数 y=tan x 在-π2,32π 上的单调减区间为__________.
四川大学《c语言程序设计》课件-第5章 函数
用void定义参数 ,表示没有参数
void 函数名(void)
{ 声明语句序列 可执行语句序列 return ;
}
return语句后无需 任何表达式
【例】 计算整数n的阶乘n!
/* 函数功能: 用迭代法计算n!
返回值函数类入型口参数:函整数型名变量说n明表示阶乘的形阶参数表,函
函数返回值: 函返数回的n!功的能值
函数定义(Function definition)
返回值 类型
函数名标识符, 说明运算规则
参数表相当于 运算的操作数
类型 函数名(类型 参数1, 类型 参数2, ……)
{ 声明语句序列
可执行语句序列 return 表达式;
}
函数出口
返回运算的结果
函数定义(Function definition)
因变量
函数名
自变量
程序设计中的函数
程序设计中的函数不局限于计算 –计算类,如打印阶乘表的程序…… –判断推理类,如排序、查找……
问题的提出
读多少行的程序能让你不头疼? 假如系统提供的函数printf()由10行代码替换,那么你编过的程 序会成什么样子?
–实际上一个printf()有上千行代码 main()中能放多少行代码? 如果所有代码都在main()中,怎么团队合作? 如果代码都在一个文件中,怎么团队合作?
C程序的存储类别 – auto型(自动变量) – static型(静态变量) – extern型(外部变量) – register型(寄存器变量)
变量的存储类型( Storage Class)
变量的生存期(Lifetime )
The lifetime of a variable is the period of time during which memory is allocated to the variable
高中数学 第5章 三角函数 5.3 诱导公式(第2课时)公式五和公式六课件 a高一第一册数学课件
sin 59°(-tan 31°)
=-sin(90°-31°)·(-tan 31°)
=-cos 31°·(-tan 31°)=sin 31°
= 1-cos231°= 1-m2.
(2)cosπ6+α=cosπ2-π3-α
=sinπ3-α=12.]
12/11/2021
第十四页,共四十页。
栏目导航
1.将例1(2)的条件中的“π3-α”改为“π3+α”,求cos56π+α的值. [解] cos56π+α=cosπ2+π3+α =-sinπ3+α=-12.
12/11/2021
第十二页,共四十页。
)
栏目导航
[思路点拨]
(1)
239°=180°+59° 149°=180°-31°→ 59°+31°=90°
选择公式 化简求值
(2) π3-α+π6+α=2π → 选择公式化简求值
12/11/2021
第十三页,共四十页。
栏目导航
(1)B
1 (2)2
[(1)sin 239°tan 149°=sin(180°+59°)·tan(180°-31°)=-
12/11/2021
第七页,共四十页。
栏目导航
2.已知sin 19°55′=m,则 cos(-70°5′)=________.
m [cos(-70°5′)=cos 70°5′ =cos(90°-19°55′)
=sin 19°55′=m.]
12/11/2021
第八页,共四十页。
栏目导航
3.计算:sin211°+sin279°= ________.
第十八页,共四十页。
栏目导航
[证明] (1)右边=-2sin32π1--θ2s·in-2θsin θ-1 =2sinπ+1-π2-2sθin2sθin θ-1 =-2sin1-π2-2sθins2iθn θ-1 =co-s2θ2+cossinθ2sθin-θ2-sin12θ=ssiinn2θθ+-ccooss2θθ2
第5章 一次函数-八年级数学上册教学课件(浙教版)
(1)当月收入大于3500元而又小于5000元时,写出应缴所得税y(元)与收入x(元) 之间的函数解析式.
解:y=0.03×(x-3500) (3500<x<5000)
(2)某人月收入为4160元,他应缴所得税多少元? 解:当x=4160时,y=0.03×(4160-3500)=19.8(元). (3)如果某人本月应缴所得税19.2元,那么此人本月工资是多少元? 解:设此人本月工资是x元,则
11、某工程机械厂根据市场要求,计划生产A、B两种型号的大型挖掘机共100台,该厂 所筹生产资金不少于22400万元,但不超过22500万元,且所筹资金全部用于生产这两种 型号的挖掘机,所生产的这两种型号的挖掘机可全部售出,此两种型号挖掘机的生产成 本和售价如下表所示:
型号
A
B
成本(万元/台)
200
(1)请分别写出当0<x≤3和x>3时,表示y与x的关系式,并直接写出当 x=2和x=6时对应的y值;
解:(1)当0<x≤3时,y=8;
当x>3时,y=8+1.8(x-3)=1.8x+2.6.
当x=2时,y=8;x=6时,y=1.8×6+2.6=13.4. (2)当0<x≤3和x>3时,y都是x的函数吗?为什么?
第一、二、四象限
第二、四象限
y随x增 大而 减小
第二、三、四象限
知识点四 待定系数法求一次函数解析式
求一次函数解析式的一般步骤: (1)先设出函数解析式; (2)根据条件列关于待定系数的方程(组); (3)解方程(组)求出解析式中未知的系数; (4)把求出的系数代入设的解析式,从而具体写出这个解析式. 这种求解析式的方法叫待定系数法.
即生产A型38台,B型62台时,获得利润最大.
(3)根据市场调查,每台B型挖掘机的售价不会改变,每台A型挖掘机的售
解:y=0.03×(x-3500) (3500<x<5000)
(2)某人月收入为4160元,他应缴所得税多少元? 解:当x=4160时,y=0.03×(4160-3500)=19.8(元). (3)如果某人本月应缴所得税19.2元,那么此人本月工资是多少元? 解:设此人本月工资是x元,则
11、某工程机械厂根据市场要求,计划生产A、B两种型号的大型挖掘机共100台,该厂 所筹生产资金不少于22400万元,但不超过22500万元,且所筹资金全部用于生产这两种 型号的挖掘机,所生产的这两种型号的挖掘机可全部售出,此两种型号挖掘机的生产成 本和售价如下表所示:
型号
A
B
成本(万元/台)
200
(1)请分别写出当0<x≤3和x>3时,表示y与x的关系式,并直接写出当 x=2和x=6时对应的y值;
解:(1)当0<x≤3时,y=8;
当x>3时,y=8+1.8(x-3)=1.8x+2.6.
当x=2时,y=8;x=6时,y=1.8×6+2.6=13.4. (2)当0<x≤3和x>3时,y都是x的函数吗?为什么?
第一、二、四象限
第二、四象限
y随x增 大而 减小
第二、三、四象限
知识点四 待定系数法求一次函数解析式
求一次函数解析式的一般步骤: (1)先设出函数解析式; (2)根据条件列关于待定系数的方程(组); (3)解方程(组)求出解析式中未知的系数; (4)把求出的系数代入设的解析式,从而具体写出这个解析式. 这种求解析式的方法叫待定系数法.
即生产A型38台,B型62台时,获得利润最大.
(3)根据市场调查,每台B型挖掘机的售价不会改变,每台A型挖掘机的售
课件(第5章 函数)
离散数学
北京理工大学珠海学院 计算机学院 龚友明
函数的定义
设f是二元关系,如果对于任意x∈domf,都 存在唯一的y∈ranf,使得xfy成立,则称f为 函数(或者映射),这时也称y为f在x的值, 记作y=f(x) 函数相等
◦ 设f,g为函数,则
① domf=domg ② ∀x∈domf=domg,都有f(x)=g(x)
设A={1,2,3},B={a,b},求BA
解:BA={f0,f1,f2,…,f7},其中 f0={<1,a>,<2,a>,<3,a>} f1={<1,a>,<2,a>,<3,b>} f2={<1,a>,<2,b>,<3,a>} … f7={<1,b>,<2,b>,<3,b>} 说明:形如{<1,?>,<2,?>,<3,?>},每个”?”部分有n种取法,所以 有nm
f可逆。y是x的像,y=x+1. 从而x=y-1,f-1(y)=y-1
a=f-1(b)
b=f(a)
A
f-1 f 反函数
B
离散数学-第5章 函数(北理珠本末终始)
函数的复合(Compositions)
令f为从集合A到集合B的函数,g是 从集合B到集合C的函数,函数f和g 的复合用fOg表示,定义为 :(fOg)(a)=g(f(a)) 示例:
◦ 如果对任意的x1,x2∈A,x1≺x2,就有f(x1) ≺f(x2),称f为严格单调 递增。
特征函数
◦ 设A为集合,对于任意的A’⊆A,A’的特征函数χA’:A→{0,1}定 义为
北京理工大学珠海学院 计算机学院 龚友明
函数的定义
设f是二元关系,如果对于任意x∈domf,都 存在唯一的y∈ranf,使得xfy成立,则称f为 函数(或者映射),这时也称y为f在x的值, 记作y=f(x) 函数相等
◦ 设f,g为函数,则
① domf=domg ② ∀x∈domf=domg,都有f(x)=g(x)
设A={1,2,3},B={a,b},求BA
解:BA={f0,f1,f2,…,f7},其中 f0={<1,a>,<2,a>,<3,a>} f1={<1,a>,<2,a>,<3,b>} f2={<1,a>,<2,b>,<3,a>} … f7={<1,b>,<2,b>,<3,b>} 说明:形如{<1,?>,<2,?>,<3,?>},每个”?”部分有n种取法,所以 有nm
f可逆。y是x的像,y=x+1. 从而x=y-1,f-1(y)=y-1
a=f-1(b)
b=f(a)
A
f-1 f 反函数
B
离散数学-第5章 函数(北理珠本末终始)
函数的复合(Compositions)
令f为从集合A到集合B的函数,g是 从集合B到集合C的函数,函数f和g 的复合用fOg表示,定义为 :(fOg)(a)=g(f(a)) 示例:
◦ 如果对任意的x1,x2∈A,x1≺x2,就有f(x1) ≺f(x2),称f为严格单调 递增。
特征函数
◦ 设A为集合,对于任意的A’⊆A,A’的特征函数χA’:A→{0,1}定 义为
人教A版高中数学必修第一册精品课件 第5章 三角函数 第1课时 函数y=Asin(ω+φ)的图象变换
换,三角函数的最值,三角函数的周期.熟练掌握相关公式是正
确解题的关键,注意整体代换思想的应用.
【变式训练 3】 将偶函数 f(x)=√sin(2x+φ)-cos(2x+φ)(0<φ<π)
的图象向右平移个单位长度,得到 y=g(x)的图象,则 g(x)的一个
单调递增区间为(
)
A. - ,
错解:由 y=sinx 的图象得到 y=sin
个单位长度.故选
A.
答案:A
x- 的图象,可知向左平移
以上解答过程中都有哪些错误?出错的原因是什么?你如何改
正?你如何防范?
提示:错解中有 3 个错误点:(1)审题不清,没有弄清楚由哪一个
函数图象变换得到另一个函数图象.(2)平移方向上应该是“左
又因为 0<φ<π,所以 φ= .
所以 f(x)=2cos 2x.
所以 g(x)=2cos - .
令 π+2kπ≤2x-≤2π+2kπ(k∈Z),可得 +kπ≤x≤ +kπ(k∈Z).
所以 g(x)的单调递增区间为
+ ,
+ (k∈Z).
的图象.
4.将函数 y=sin
对应的函数是(
A.y=sin
C.y=sin
答案:B
+
-
x 的图象向右平移个单位长度,所得函数图象
)
B.y=sin
D.y=sin
确解题的关键,注意整体代换思想的应用.
【变式训练 3】 将偶函数 f(x)=√sin(2x+φ)-cos(2x+φ)(0<φ<π)
的图象向右平移个单位长度,得到 y=g(x)的图象,则 g(x)的一个
单调递增区间为(
)
A. - ,
错解:由 y=sinx 的图象得到 y=sin
个单位长度.故选
A.
答案:A
x- 的图象,可知向左平移
以上解答过程中都有哪些错误?出错的原因是什么?你如何改
正?你如何防范?
提示:错解中有 3 个错误点:(1)审题不清,没有弄清楚由哪一个
函数图象变换得到另一个函数图象.(2)平移方向上应该是“左
又因为 0<φ<π,所以 φ= .
所以 f(x)=2cos 2x.
所以 g(x)=2cos - .
令 π+2kπ≤2x-≤2π+2kπ(k∈Z),可得 +kπ≤x≤ +kπ(k∈Z).
所以 g(x)的单调递增区间为
+ ,
+ (k∈Z).
的图象.
4.将函数 y=sin
对应的函数是(
A.y=sin
C.y=sin
答案:B
+
-
x 的图象向右平移个单位长度,所得函数图象
)
B.y=sin
D.y=sin
C语言课件-第5章 函数 湘潭大学上课课件
为什么要用函数
解决的方法:用模块化程序设计的思路
采用‚组装‛的办法简化程序设计的过程 事先编好一批实现各种不同功能的函数 把它们保存在函数库中,需要时直接用
为什么要用函数
解决的方法:用模块化程序设计的思路
函数就是功能 每一个函数用来实现一个特定的功能 函数的名字应反映其代表的功能
b
g h
c
i
为什么要用函数
可以使用库函数
可以使用自己编写的函数 在程序设计中要善于利用函数,可以减少
重复编写程序段的工作量,同时可以方便 地实现模块化的程序设计
C语言中的函数
0个或多个数据被传递
参数
函数体
至多一个数据或结构被返回
C语言中的函数
math.h中提供的函数(库函数)
double sqrt(double x)
//函数定义 int firstDigit (int num) { return (num % 10); }
digit = firstDigit (number); printf("\nLeast significant digit is: %d\n", digit); return 0; } // main
带参数的void函数:void getnum(int a) 有返回值但不带参数的函数:int caculate() 有返回值且带参数的函数:int max(int a,int b)
函数使用(调用)
greeting();
getnum(10); Result=caculate();
a
200 100
?
x
200 100
void TryToChange(int x) { x = x * 2; }
第5章5.4.1正弦函数、余弦函数的图象(课件)
5.4.1 正弦函数、余弦函数的图象
导入新课
装满细沙的漏斗在进行单摆运动时,沙子落在与单摆运动方向 垂直的运动的木板上的轨迹如图所示.
思考: (1)该曲线是什么函数的图象? (2)你有办法画出该曲线吗?
精彩课堂
1.正弦函数图象的几何画图法 问题1 在[0,2π]上任取一个值x0,如何利用正弦函数的定义,确定 正弦函数值sin x0,并画出点T(x0,sin x0)? 如何画出正弦函数的图象?
正弦函数的图象叫做 正弦曲线,是一条“波浪起 伏”的连续光滑曲线.
精彩课堂
精彩课堂
在精确度要求不高时,常先找出这五个关键点,再用光滑的曲线 将它们连接起来,即可得到正弦函数的简图.我们把这种方法称为 “五点(画图)法”.
由“五点(画图)法”画出的在x∈[0,2π]上的正弦函数图象,如图.
精彩课堂
将函数y=sin x, x∈[0,2π]的图象向上平移1个单位长度就得到y=1+ sin x, x∈[0,2π]的图象.函数y=cos x, x∈[0,2π]的图象与函数y=-cos x, x∈ [0,2π]的图象关于x轴对称,只需将函数y=cos x, x∈[0,2π]的图象作关于x 轴对称的变换即可得到函数y=-cos x, x∈[0,2π]的图象.
3.余弦函数图象的画法 问题3 如何画余弦函数y=cos x, x∈[0,2π]的图象? 你能根据诱导公式,以正弦函数图象为基础,通过适当的图形变换 得到余弦函数的图象吗?
精彩课堂
精彩课堂
精彩课堂
4.应用举例
精彩课堂
精彩课堂
思考 你能利用函数y=sin x, x∈[0,2π]的图象,通过图象变换得到函数 y=1+sin x, x∈[0,2π]的图象吗? 同样地,利用函数y=cos x, x∈[0,2π]的图象, 通过怎样的图象变换就能得到函数y =-cos x, x∈[0,2π]的图象?
导入新课
装满细沙的漏斗在进行单摆运动时,沙子落在与单摆运动方向 垂直的运动的木板上的轨迹如图所示.
思考: (1)该曲线是什么函数的图象? (2)你有办法画出该曲线吗?
精彩课堂
1.正弦函数图象的几何画图法 问题1 在[0,2π]上任取一个值x0,如何利用正弦函数的定义,确定 正弦函数值sin x0,并画出点T(x0,sin x0)? 如何画出正弦函数的图象?
正弦函数的图象叫做 正弦曲线,是一条“波浪起 伏”的连续光滑曲线.
精彩课堂
精彩课堂
在精确度要求不高时,常先找出这五个关键点,再用光滑的曲线 将它们连接起来,即可得到正弦函数的简图.我们把这种方法称为 “五点(画图)法”.
由“五点(画图)法”画出的在x∈[0,2π]上的正弦函数图象,如图.
精彩课堂
将函数y=sin x, x∈[0,2π]的图象向上平移1个单位长度就得到y=1+ sin x, x∈[0,2π]的图象.函数y=cos x, x∈[0,2π]的图象与函数y=-cos x, x∈ [0,2π]的图象关于x轴对称,只需将函数y=cos x, x∈[0,2π]的图象作关于x 轴对称的变换即可得到函数y=-cos x, x∈[0,2π]的图象.
3.余弦函数图象的画法 问题3 如何画余弦函数y=cos x, x∈[0,2π]的图象? 你能根据诱导公式,以正弦函数图象为基础,通过适当的图形变换 得到余弦函数的图象吗?
精彩课堂
精彩课堂
精彩课堂
4.应用举例
精彩课堂
精彩课堂
思考 你能利用函数y=sin x, x∈[0,2π]的图象,通过图象变换得到函数 y=1+sin x, x∈[0,2π]的图象吗? 同样地,利用函数y=cos x, x∈[0,2π]的图象, 通过怎样的图象变换就能得到函数y =-cos x, x∈[0,2π]的图象?
新教材人教A版数学必修第一册课件:第五章 正弦函数、余弦函数的图象
【解】 把函数
图像在 轴下方的部分翻折到 轴上方,加上原来上方
的部分就可以得到函数
的图像(蓝色部分),如图.
高中数学 必修第一册 RJ·A
即时巩固
【例4】已知函数 (1)作出函数
的图像; (2)求方程
【解】 (1)当
时,
当
时,
的解.
所以 (2)由图像可知方程
,图像如图所示. 的解是
高中数学 必修第一册 RJ·A
高中数学 必修第一册 RJ·A
2.作函数y=asin x+b的图象的步骤:
3.用“五点法”画的正弦型函数在一个周期[0,2π]内的图象,如果要画出在 其他区间上的图象,可依据图象的变化趋势和周期性画出.
随堂小测
1.用“五点法”作y=2sin 2x的图象时,首先描出的五个点的横坐标是
A.0,π2,π,32π,2π
B.0,π4,π2,34π,π
C.0,π,2π,3π,4π
D.0,π6,π3,π2,23π
解析 “五点法”作图是当 2x=0,π2,π,32π,2π 时的 x 的值,此时 x
=0,π4,π2,34π,π,故选 B.
高中数学 必修第一册 RJ·A
5.若函数f(x)=sin x-2m-1,x∈[0,2π]有两个零点,求m的取值范围. 解 由题意可知,sin x-2m-1=0在[0,2π]上有2个根,即sin x=2m+1 有两个根, 可转化为y=sin x与y=2m+1两函数的图象在[0,2π]上有2个交点. 由y=sin x图象可知, -1<2m+1<1,且2m+1≠0, 解得-1<m<0,且 m≠-12. ∴m∈-1,-21∪-12,0.
高中数学 必修第一册 RJ·A
新知学习
正弦函数的图像
中职教育-数学(基础模块)上册课件:第5章 三角函数.ppt
(4)奇偶性
正弦曲线关于原点O中心对称,因此正弦函数y=sin x是奇 函数.
(5)单调性
当x由-π/2增大到π/2时,正弦曲线逐渐上升,y=sin x的 值由-1增大到1;当x由π/2增大到3π/2时,正弦曲线逐渐下降, y=sin x的值由1减小到-1.
根据周期性可知,正弦函数在每一个区间
[-π/2+2kπ, π/2+2kπ](k∈Z)上都是增函数,其函数值 由-1增大到1;在每一个区间[π/2+2kπ,3π/2+2kπ](k∈Z)
学习目标:了解角的概念推广,理解弧度制的概念和意义, 理解任意角的正弦函数、余弦函数和正切函数;掌握利用计算 器求三角函数的值,理解同角三角函数的基本关系,了解诱导 公式的推导及简单应用,理解正弦函数的图像和性质;了解余 弦函数的图像和性质,掌握利用计算器求角度;了解“已知一 个角的三角函数值,求在指定范围内的角”的方法。
因此,所有与30°角终边相同的角(包括30°角),都 可以表示成30°与360°的整数倍的和,即都可以写成
30°+k ▪360°(k∈Z)的形式.所以,与30°角终边相
同的角的集合为
{β| β=30°+k ▪360°(k∈Z) }.
一般地,所有与角α终边相同的角(包括角α在内)都可
以写成α+k ▪360°(k∈Z)的形式,它们所组成的集合为 {β| β=α+k ▪360°(k∈Z) }
r
r
x
图5-8
根据相似三角形的知识,对于每一个确定的角α,其正弦、 余弦和正切(当x≠0时)的值都是唯一确定的,而与点P在角α 终边上的位置无关.
因此,正弦、余弦和正切都是以角α为自变量的函数,分 别称为角α的正弦函数、余弦函数和正切函数,它们都是角α的 三角函数.
正弦曲线关于原点O中心对称,因此正弦函数y=sin x是奇 函数.
(5)单调性
当x由-π/2增大到π/2时,正弦曲线逐渐上升,y=sin x的 值由-1增大到1;当x由π/2增大到3π/2时,正弦曲线逐渐下降, y=sin x的值由1减小到-1.
根据周期性可知,正弦函数在每一个区间
[-π/2+2kπ, π/2+2kπ](k∈Z)上都是增函数,其函数值 由-1增大到1;在每一个区间[π/2+2kπ,3π/2+2kπ](k∈Z)
学习目标:了解角的概念推广,理解弧度制的概念和意义, 理解任意角的正弦函数、余弦函数和正切函数;掌握利用计算 器求三角函数的值,理解同角三角函数的基本关系,了解诱导 公式的推导及简单应用,理解正弦函数的图像和性质;了解余 弦函数的图像和性质,掌握利用计算器求角度;了解“已知一 个角的三角函数值,求在指定范围内的角”的方法。
因此,所有与30°角终边相同的角(包括30°角),都 可以表示成30°与360°的整数倍的和,即都可以写成
30°+k ▪360°(k∈Z)的形式.所以,与30°角终边相
同的角的集合为
{β| β=30°+k ▪360°(k∈Z) }.
一般地,所有与角α终边相同的角(包括角α在内)都可
以写成α+k ▪360°(k∈Z)的形式,它们所组成的集合为 {β| β=α+k ▪360°(k∈Z) }
r
r
x
图5-8
根据相似三角形的知识,对于每一个确定的角α,其正弦、 余弦和正切(当x≠0时)的值都是唯一确定的,而与点P在角α 终边上的位置无关.
因此,正弦、余弦和正切都是以角α为自变量的函数,分 别称为角α的正弦函数、余弦函数和正切函数,它们都是角α的 三角函数.
人教A版高中数学必修第一册精品课件 第5章三角函数 第2课时函数y=Asin(ω+φ)的图象及其应用
当 t=0 时,y=f(t)=-3,
代入可得-3=6sin φ.由|φ|<,
知 φ=-.故选项 A 正确;
由 f(t)=6sin
,
当 t∈[35,55]时,t- ∈ ,
,
可知点 P 到 x 轴的距离的最大值为 6,故选项 B 正确;
当 t∈[10,25]时,t- ∈
坐标代入求得函数的解析式.
解:(方法一)由题中图象可知 A=3,
又周期
T= −
-
=π,所以
ω=
=
=2.
由题中图象可得最高点为
, ,
故 3sin × + =3,即+φ=+2kπ(k∈Z).
又|φ|<π,所以 φ=.
故所求函数的解析式是 y=3sin + .
π
√
-
答题模板:第1步,利用已知条件求出函数f(x)的解析式;
↓
第2步,运用整体思想求函数y=f(x)的单调增区间;
↓
第3步,用“五点法”画出函数y=f(x)在区间[0,π]上的图象.
失误警示
造成失分的主要原因如下:
(1)忽视φ的取值范围将函数f(x)的解析式求错;
(2)整体法求单调递增区间时计算错误;
(3)列表取点时,将[0,π]误认为 2x- 的范围,导致取点错误.
【变式训练】 已知函数f(x)=Asin(ωx+φ)(A>0,ω>0,
一个周期的图象如图所示.
代入可得-3=6sin φ.由|φ|<,
知 φ=-.故选项 A 正确;
由 f(t)=6sin
,
当 t∈[35,55]时,t- ∈ ,
,
可知点 P 到 x 轴的距离的最大值为 6,故选项 B 正确;
当 t∈[10,25]时,t- ∈
坐标代入求得函数的解析式.
解:(方法一)由题中图象可知 A=3,
又周期
T= −
-
=π,所以
ω=
=
=2.
由题中图象可得最高点为
, ,
故 3sin × + =3,即+φ=+2kπ(k∈Z).
又|φ|<π,所以 φ=.
故所求函数的解析式是 y=3sin + .
π
√
-
答题模板:第1步,利用已知条件求出函数f(x)的解析式;
↓
第2步,运用整体思想求函数y=f(x)的单调增区间;
↓
第3步,用“五点法”画出函数y=f(x)在区间[0,π]上的图象.
失误警示
造成失分的主要原因如下:
(1)忽视φ的取值范围将函数f(x)的解析式求错;
(2)整体法求单调递增区间时计算错误;
(3)列表取点时,将[0,π]误认为 2x- 的范围,导致取点错误.
【变式训练】 已知函数f(x)=Asin(ωx+φ)(A>0,ω>0,
一个周期的图象如图所示.
Python基础编程与实践教学课件第5章 函数与模块
5.4.3 闭包
如果在函数内部中又定义了另一个函数,在内层函数中对外层函数 中定义的局部变量进行了存取操作,并且外层函数返回对内层函数 的引用,则这个内层函数称为闭包(closure)。
闭包是函数式编程的重要的语法结构,是将函数的语句和执行环境 打包在一起的对象。当执行嵌套函数时,闭包将获取内层嵌函数所 需要的整个环境。
2. 关键字参数
调用函数时,如果不想按照位置匹配的方式传递参数,则可以使用传递关键字参数, 即通过形参的名称来指定将实参值传递给哪个形参。传递关键字参数的语法格式如下:
形参名称=实参值
3. 默认值参数
定义函数时可以为形参指定默认值,语法格式如下:
形参名称=默认值
默认值参数必须位于形参列表的最右端。如果对一个形参设置了默认值,则必须对其 右边的所有形参设置默认值,否则会出现错误。
5.4.2 全局变量
在模块级别上所有函数外部定义的变量称为全局变量,它可以在多个函 数中进行存取操作。如果在某个函数内部定义的局部变量与全局变量同 名,则优先使用局部变量;在这种情况下,如果要在函数内部使用全局 变量,则应使用global关键字对变量进行声明。
默认情况下,在Python程序中引用变量的优先顺序如下:当前作用域局 部变量>外层作用域变量>当前模块中的全局变量>Python内置变量。在 局部作用域中,如果通过赋值语句所定义的局部变量与全局变量同名, 则Python将定义新的局部变量;在这种情况下,如果要在局部作用域中 对全局变量进行修改,则需要首先使用global关键字声明全局变量。
lambda 参数列表: 表达式
其中关键字lambda表示匿名函数,因此匿名函数也称为lambda函数; 冒号前面是匿名函数的参数,该函数可以有多个参数,各个参数之间用 逗号分隔;冒号后面的表达式用于确定匿名函数的返回值,这个表达式 中可以包含冒号前面的参数,表达式的值就是匿名函数的返回值。
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第5章
函数
主要内容
5.1 概述 5.2 函数的定义
5.3 函数调用
5.4 递归
5.5 作用域规则和存储类别
5.6 C语言的预处理命令
5.1 概述
一个C语言源程序可由一个主函数main()和 若干个其他函数构成。 函数是C源程序的基本模块,通过对函数模块 的调用实现特定的功能。 C程序的全部工作都是由各式各样的函数完成 的,所以也把C语言称为函数式语言。 由于采用了函数模块式的结构,C语言易于实 现结构化程序设计。
(3)在被定义的函数中,必须指定形参的类 型。
(4)实参与形参的类型应相同或赋值兼容。
(5)值传递:实参向形参的数据传递是单向 “值传递”,只能由实参传给形参,而不能 由形参传回来给实参。 在调用函数时,给形参分配存储单元,并 将实参对应的值传递给形参,调用结束后, 形参单元被释放,实参单元仍保留并维持原 值。
3、如在所有函数定义之前,在函数外预先 说明了各个函数的类型,则在以后的各主调函 数中,可不再对被调函数作说明。在例5-1中 可把函数main()中的说明语句float max(float a,floபைடு நூலகம்t b);放到void main()之前。 4、对库函数的调用不需要再作说明,但必 须把该函数的头文件用#include命令包含在源 文件前部。
注意:
函数的“定义”和“声明”的区别:
函数的定义是指对函数功能的确立,包括指定函
数名,函数值类型、形参及其类型、函数体等,它 是一个完整的、独立的函数单位。
函数的声明的作用则是把函数的名字、函数类型
以及形参的类型、个数和顺序通知编译系统,以便
在调用该函数时系统按此进行对照检查。
说明: 1、如果被调函数的返回值是整型或字符 型时,可以不对被调函数作说明,而直接调 用。这时系统将自动对被调函数返回值按整 型处理。例5-4的主函数中未对函数s作说明 而直接调用即属此种情形。 2、当被调函数的函数定义出现在主调函 数之前时,在主调函数中也可以不对被调函 数再作说明而直接调用。
例如: void main() { int a,b,c; a=2;b=3; c=sum(a,b); printf(“%d”,c); }
int sum(int x,int y) { int z; z=x+y; return(z);
}
#include <stdio.h> void main() { int num; printf("input number:\n"); scanf("%d",&num); s(num); printf("num=%d\n",num); } int s(int x) { int i; for(i=x-1;i>=1;i--) x=x+i; printf("x=%d\n",x); }
5.2 函数调用
5.2.4 函数的嵌套调用
嵌套调用就是在定义一个函数时,其函数体内出现 了对另一个函数的调用。
【例5-5】计算s=22!+32!。 本题可编写两个函数,一个是用来计算 平方值的函数f1(),另一个是用来计算阶 乘值的函数f2()。主函数先调用f1()计算 出平方值,再在函数f1()中以平方值为实 参,调用函数f2()计算其阶乘值,然后返 回给函数f1(),再返回主函数,在循环程 序中计算累加和。
5.1.1 无参函数的定义一般形式
函数头
类型标识符 { 声明部分 语句部分 }
函数名()
int func()
{
int a,b; 函数体 b=1; a=b+1; }
5.1 函数定义
5.1.2 有参函数定义的一般形式 定义有参函数的一般形式为: 函数头
类型标识符 函数名(形式参数表列) { 声明部分 语句部分 } 函数体
类型说明符 被调函数名(类型 形参,类型 形参…); 或为: 类型说明符 被调函数名(类型,类型…);
【例5-1】编写一个带参函数,计算两个浮点型数据的和。
#include<stdio.h> void main( ) { float first, second; float sum (float a, float b); /*函数原型声明*/ first =123.23; second = 99.09; printf ("%f", sum (first, second)); } float sum (float a,float b) /*定义sum函数*/ { return a+b; }
【例5-1】编写一个带参函数,计算两个浮点型数据的和。
#include<stdio.h> void main((float a, float b); float sum ) /*函数原型声明*/ { void main( ) { float first, second; float sum (float a, /*函数原型声明*/ float first, second; float b); first =123.23; float sum (float a, float b); /*函数原型声明*/ second = 99.09; first =123.23; printf = 99.09; second ("%f", sum (first, second)); } printf ("%f", sum (first, second)); /*定义sum函数*/ } float sum (float a,float b) { float sum (float a,float b) /*定义sum函数*/ { return a+b; } return a+b; }
5.2 函数调用
3.函数参数
函数调用作为一个函数的实参。把该函数的返
回值作为实参进行传送,因此要求该函数必须是
有返回值.
例如: printf ("%d", sum(a, b)); 把函数sum()调用的返回值又作为函数printf()的 实参来使用的。
5.2 函数调用
5.2.3 被调用函数的声明 在主调函数中调用某函数之前应对该被调函数进 行说明(声明),这与使用变量之前要先进行变 量说明是一样的。 目的是使编译系统知道被调函数返回值的类型。 其一般形式为:
【例5-2】编写一个输出换行符的函数。 #include "stdio.h" void printnl (void) { printf("\n"); } void main() { printf("This function output hui che:"); printnl(); /*调用printnl()*/ }
#include <stdio.h> void main() { int num; printf("input number:\n"); scanf("%d",&num); s(num); printf("num=%d\n",num); } int s(int x) { int i; for(i=x-1;i>=1;i--) x=x+i; printf("x=%d\n",x); }
关于形参与实参的说明:
(1) 在定义函数中指定的形参,在未出现 函数调用时,它们并不占内存中的存储单元。 只有在发生函数调用时,函数sum(int x, int y)中的形参才被分配内存单元。在调用 结束后,形参所占的内存单元也被释放。 (2) 实参可以是常量、变量、表达式和函数 例如: sum(a,b); sum(2,3); sum(2,2*3); 但要求它们有确定的值。在调用时将实参的值 赋给形参。
5.1 函数定义
5.1.4 函数体 函数体包含在函数头后的一对{ }内,由说 明语句(说明和定义部分)和执行语句部 分组成。 说明语句用于说明特定数据类型和定义函 数专用变量,这些变量只能在函数体内部 使用。 语句序列组成函数的执行代码(执行语 句),在C语言中允许函数体内没有任何语 句,这类函数称为空函数,其目的是为将 来预留函数定义的形式。
5.1 函数定义
例如:
int sum(int a,int b) {
int c; c=a+b; return (c);
}
5.1 函数定义
5.1.3 函数头
在函数头中,类型符指定函数返回值的类型。例如, 若函数返回一个长整型值,它的类型说明符是long; 当函数返回值的类型为整型时,类型符是int,也可 以省略(默认返回值为int),如果函数只是完成某 种固定的工作,没有返回值,则函数类型符为void。 函数名是用户定义的标识符,一个C程序除有一个且 只有一个main( )主函数外,其他函数可以随意命名 形式参数列表由形式参数(简称形参)组成,逐一说 明各形式参数的类型和形参名。函数的形参是按需要 设置的,形参可以没有,可以只有一个,也可以有多 个。
5.2 函数调用
5.2.2 函数调用的方式
1.函数表达式 函数出现在一个表达式中,这种表达式称为函数 表达式。这时要求函数返回一个确定的值以参加表达
式的运算。例如:c=2*sum(a,b);
2.函数语句 把函数调用作为一个语句。这时不要求函数有返回 值,只要求函数完成一定的操作。例如:printf ("%d", a); scanf ("%d", &b);都是以函数语句的方式调用函数。
② 用户自己定义的函数。由用户按需要编 写的函数,用以解决用户的专门需要。不仅 要在程序中定义函数本身,而且在主调函数 模块中还必须对该被调函数进行类型说明, 然后才能使用。
函数
主要内容
5.1 概述 5.2 函数的定义
5.3 函数调用
5.4 递归
5.5 作用域规则和存储类别
5.6 C语言的预处理命令
5.1 概述
一个C语言源程序可由一个主函数main()和 若干个其他函数构成。 函数是C源程序的基本模块,通过对函数模块 的调用实现特定的功能。 C程序的全部工作都是由各式各样的函数完成 的,所以也把C语言称为函数式语言。 由于采用了函数模块式的结构,C语言易于实 现结构化程序设计。
(3)在被定义的函数中,必须指定形参的类 型。
(4)实参与形参的类型应相同或赋值兼容。
(5)值传递:实参向形参的数据传递是单向 “值传递”,只能由实参传给形参,而不能 由形参传回来给实参。 在调用函数时,给形参分配存储单元,并 将实参对应的值传递给形参,调用结束后, 形参单元被释放,实参单元仍保留并维持原 值。
3、如在所有函数定义之前,在函数外预先 说明了各个函数的类型,则在以后的各主调函 数中,可不再对被调函数作说明。在例5-1中 可把函数main()中的说明语句float max(float a,floபைடு நூலகம்t b);放到void main()之前。 4、对库函数的调用不需要再作说明,但必 须把该函数的头文件用#include命令包含在源 文件前部。
注意:
函数的“定义”和“声明”的区别:
函数的定义是指对函数功能的确立,包括指定函
数名,函数值类型、形参及其类型、函数体等,它 是一个完整的、独立的函数单位。
函数的声明的作用则是把函数的名字、函数类型
以及形参的类型、个数和顺序通知编译系统,以便
在调用该函数时系统按此进行对照检查。
说明: 1、如果被调函数的返回值是整型或字符 型时,可以不对被调函数作说明,而直接调 用。这时系统将自动对被调函数返回值按整 型处理。例5-4的主函数中未对函数s作说明 而直接调用即属此种情形。 2、当被调函数的函数定义出现在主调函 数之前时,在主调函数中也可以不对被调函 数再作说明而直接调用。
例如: void main() { int a,b,c; a=2;b=3; c=sum(a,b); printf(“%d”,c); }
int sum(int x,int y) { int z; z=x+y; return(z);
}
#include <stdio.h> void main() { int num; printf("input number:\n"); scanf("%d",&num); s(num); printf("num=%d\n",num); } int s(int x) { int i; for(i=x-1;i>=1;i--) x=x+i; printf("x=%d\n",x); }
5.2 函数调用
5.2.4 函数的嵌套调用
嵌套调用就是在定义一个函数时,其函数体内出现 了对另一个函数的调用。
【例5-5】计算s=22!+32!。 本题可编写两个函数,一个是用来计算 平方值的函数f1(),另一个是用来计算阶 乘值的函数f2()。主函数先调用f1()计算 出平方值,再在函数f1()中以平方值为实 参,调用函数f2()计算其阶乘值,然后返 回给函数f1(),再返回主函数,在循环程 序中计算累加和。
5.1.1 无参函数的定义一般形式
函数头
类型标识符 { 声明部分 语句部分 }
函数名()
int func()
{
int a,b; 函数体 b=1; a=b+1; }
5.1 函数定义
5.1.2 有参函数定义的一般形式 定义有参函数的一般形式为: 函数头
类型标识符 函数名(形式参数表列) { 声明部分 语句部分 } 函数体
类型说明符 被调函数名(类型 形参,类型 形参…); 或为: 类型说明符 被调函数名(类型,类型…);
【例5-1】编写一个带参函数,计算两个浮点型数据的和。
#include<stdio.h> void main( ) { float first, second; float sum (float a, float b); /*函数原型声明*/ first =123.23; second = 99.09; printf ("%f", sum (first, second)); } float sum (float a,float b) /*定义sum函数*/ { return a+b; }
【例5-1】编写一个带参函数,计算两个浮点型数据的和。
#include<stdio.h> void main((float a, float b); float sum ) /*函数原型声明*/ { void main( ) { float first, second; float sum (float a, /*函数原型声明*/ float first, second; float b); first =123.23; float sum (float a, float b); /*函数原型声明*/ second = 99.09; first =123.23; printf = 99.09; second ("%f", sum (first, second)); } printf ("%f", sum (first, second)); /*定义sum函数*/ } float sum (float a,float b) { float sum (float a,float b) /*定义sum函数*/ { return a+b; } return a+b; }
5.2 函数调用
3.函数参数
函数调用作为一个函数的实参。把该函数的返
回值作为实参进行传送,因此要求该函数必须是
有返回值.
例如: printf ("%d", sum(a, b)); 把函数sum()调用的返回值又作为函数printf()的 实参来使用的。
5.2 函数调用
5.2.3 被调用函数的声明 在主调函数中调用某函数之前应对该被调函数进 行说明(声明),这与使用变量之前要先进行变 量说明是一样的。 目的是使编译系统知道被调函数返回值的类型。 其一般形式为:
【例5-2】编写一个输出换行符的函数。 #include "stdio.h" void printnl (void) { printf("\n"); } void main() { printf("This function output hui che:"); printnl(); /*调用printnl()*/ }
#include <stdio.h> void main() { int num; printf("input number:\n"); scanf("%d",&num); s(num); printf("num=%d\n",num); } int s(int x) { int i; for(i=x-1;i>=1;i--) x=x+i; printf("x=%d\n",x); }
关于形参与实参的说明:
(1) 在定义函数中指定的形参,在未出现 函数调用时,它们并不占内存中的存储单元。 只有在发生函数调用时,函数sum(int x, int y)中的形参才被分配内存单元。在调用 结束后,形参所占的内存单元也被释放。 (2) 实参可以是常量、变量、表达式和函数 例如: sum(a,b); sum(2,3); sum(2,2*3); 但要求它们有确定的值。在调用时将实参的值 赋给形参。
5.1 函数定义
5.1.4 函数体 函数体包含在函数头后的一对{ }内,由说 明语句(说明和定义部分)和执行语句部 分组成。 说明语句用于说明特定数据类型和定义函 数专用变量,这些变量只能在函数体内部 使用。 语句序列组成函数的执行代码(执行语 句),在C语言中允许函数体内没有任何语 句,这类函数称为空函数,其目的是为将 来预留函数定义的形式。
5.1 函数定义
例如:
int sum(int a,int b) {
int c; c=a+b; return (c);
}
5.1 函数定义
5.1.3 函数头
在函数头中,类型符指定函数返回值的类型。例如, 若函数返回一个长整型值,它的类型说明符是long; 当函数返回值的类型为整型时,类型符是int,也可 以省略(默认返回值为int),如果函数只是完成某 种固定的工作,没有返回值,则函数类型符为void。 函数名是用户定义的标识符,一个C程序除有一个且 只有一个main( )主函数外,其他函数可以随意命名 形式参数列表由形式参数(简称形参)组成,逐一说 明各形式参数的类型和形参名。函数的形参是按需要 设置的,形参可以没有,可以只有一个,也可以有多 个。
5.2 函数调用
5.2.2 函数调用的方式
1.函数表达式 函数出现在一个表达式中,这种表达式称为函数 表达式。这时要求函数返回一个确定的值以参加表达
式的运算。例如:c=2*sum(a,b);
2.函数语句 把函数调用作为一个语句。这时不要求函数有返回 值,只要求函数完成一定的操作。例如:printf ("%d", a); scanf ("%d", &b);都是以函数语句的方式调用函数。
② 用户自己定义的函数。由用户按需要编 写的函数,用以解决用户的专门需要。不仅 要在程序中定义函数本身,而且在主调函数 模块中还必须对该被调函数进行类型说明, 然后才能使用。