第五章 函数
第五章 三角函数
圆周运动是一种常见的周期性变化现象.
思考1:如何刻画点P的位置变化?
借助角ɑ的大小变化刻画点P的 位置变化. 思考2:初中学过角的范围00~3600, 点P旋转一周即为3600,再旋转所 得的角如何表示?
有必要扩充角的范围!
P
ɑ
O
A
我们生活中随处可见的角
体操动作“李小鹏跳”:2002年在匈 牙利世锦赛上,李小鹏在跳马时做出 的“踺子后手翻转体180度接直体前 空翻转体900度”
在体操、花样滑冰、跳台跳水等比 赛中,常常听到“转体2周”、“转 体3周半”这些动作名词,你知道他 们转了多少角吗?
(1)时钟从12:00到12:15,分针转过了多少度? (2)时钟从12:00到13:15,分针转过了多少度?
机械齿轮
生活中很多的角 并不是静态的
引入新的角的定义、分类:
平面内一条射线绕着端点从一个位置旋转到另一个 位置所成的图形.射线OA、OB分别是角的始边和终 边,端点O为角的顶点。
终边在y轴上:S={α|α=90°+k·180° ,k∈Z}. 终边在x轴上:S={α|α=0°+k·180° ,k∈Z}.
终边在坐标轴上:S={α|α=0°+k·90° ,k∈Z}.
例题讲解
例3 写出终边在y=x上的角的集合S,S中满足 不等式-360°≤β≤720°的元素β有哪些.
【解析】S={β|β=45°+k·180°,k∈Z}. S中适合不等式-360°≤β<720°的元素有: -315°,-135°,45°,225°,405°,585°.
角和终边的关系
一个角,对应一条终边; 一条终边,对应无数个角:终边相同的角
与α终边相同的角β可表示为:β=α+k·3600,k∈z, 即任一与角α终边相同的角,都可以表示成角α 整数个周角的和.
高一数学第五章函数知识点
高一数学第五章函数知识点函数是数学中一种重要的概念,广泛应用于各个领域。
在高中数学的学习中,函数是其中的一个重要内容。
本文将介绍高一数学第五章函数的知识点,包括函数的定义、函数的性质、函数的图像、函数的运算等内容。
一、函数的定义函数是一种特殊的关系,它将一个集合中的每个元素都对应到另一个集合中的唯一一个元素上。
具体而言,如果存在一个集合A和一个集合B,对于集合A中的任意一个元素a,都存在一个集合B中的唯一元素b与之对应,那么我们就说集合A与集合B之间存在一个函数。
函数通常用符号f来表示,表示为f:A→B。
二、函数的性质1. 定义域和值域:函数的定义域是指所有与自变量对应的值的集合,而值域是指函数所有可能的取值的集合。
2. 单调性:函数的单调性是指函数在定义域内的取值随自变量的增大或减小而增大或减小。
3. 奇偶性:如果对于函数中的任意一个x值,都有f(-x)=f(x),那么函数是偶函数;如果对于函数中的任意一个x值,都有f(-x)=-f(x),那么函数是奇函数。
4. 周期性:如果存在一个正数T,对于函数中的任意一个x值,都有f(x+T)=f(x),那么函数具有周期性。
三、函数的图像函数的图像是用来描述函数关系的一种方法。
在平面直角坐标系中,我们可以通过绘制函数的图像来研究函数的性质。
函数图像的特点包括:在平面直角坐标系中,函数图像是一条曲线;曲线上的每个点都对应着函数中的一个值对(x,y);曲线的形状可以反映函数的单调性、奇偶性等。
四、函数的运算1. 四则运算:对于给定的两个函数f(x)和g(x),我们可以进行加法、减法、乘法和除法运算。
加法和减法的运算规则与常规数的加减法类似,乘法和除法运算需要遵循特定的规则。
2. 复合函数:对于给定的函数f(x)和g(x),我们可以通过将函数g(x)的输出作为函数f(x)的输入来构造一个新的函数。
复合函数的定义为(f ∘ g)(x) = f(g(x))。
3. 反函数:如果一个函数f(x)满足任意两个不同的自变量x1和x2,都有f(x1)≠f(x2),那么我们称函数f(x)为可逆的,并将f(x)的逆函数记为f^{-1}(x)。
离散数学 函数部分
2020/3/14
计算机科学与技术学院
12
三、函数的合成运算
定义 考虑g:A→B,f:B→C是两个函数,则合成 关系f•g是从A到C的函数,记为 f•g:A→C,
称为函数g与f的合成函数。
显然,对任意x∈A,有 f•g(x)=f(g(x))。
2020/3/14
计算机科学与技术学院
2020/3/14
计算机科学与技术学院
16
例
例1 设f:R→R,满足: 1)f={<x,x2>|x∈R}; 2)f={<x,x+1>|x∈R}。求f-1。
解 1)对任意x∈R,有f(x)=x2与之对应,所以 f不是单射函数,即f非双射函数,因此f的逆函 数不存在。 2)因f是双射函数,所以f-1存在,且有: f-1={<x,x-1>|x∈R}。
计算机科学与技术学院
5
例2
设A={a,b},B={1,2},A×B={<a,1>,<a,2>,<b,1>,<b,2>},
此时从A到B的不同的关系有24=16个。分别如下:
R0=Φ R1={<a,1>} R2={<a,2>} R3={<b,1>};
R4={<b,2>};R5={<a,1>,<b,1>} R6={<a,1>,<b,2>}
2020/3/14
计算机科学与技术学院
10
例2
设An={a1,a2,a3,…,an}是n个元素的有限集, Bn={b1b2b3…bn|bi∈{0,1}},对An的每一个子 集S(即对任意S(An)),令
第5章 函数
第5章函数及其应用5.1 函数种类5.1.1 命令函数,例如:getchar(),putchar()等。
5.1.2标准C++库函数,fabs(), pow(), rand(),sin(x), sqrt(), fexp()等,要使用头文件。
5.1.3自定义函数5.2 自定义函数的概念及使用方法例1:求两个数中的最大数#include <iostream.h>int imax (int a, int b){return (a>b ? a:b); }void main(){int a=6,b=9;cout<<"max="<<imax(a,b)<<endl;}例2:求x的n次方#include "iostream.h"main(){ float mpow(float a,int n);cout<<"pow="<<mpow(3.,3)<<endl;}float mpow(float a,int n){int i;float k=1;for(i=1;i<=n;i++)k=k*a;return (k); }5.3 自定义函数的三种形式5.3.1 无参函数,例如main(),getchar()等。
主函数与子函数之间不传输数据例:输出字符四方形************************************************void print(){int i;for(i=1;i<5;i++)cout<<(“************\n”;}5.3.2. 空函数例:null(){ }5.3.3. 有参函数如例1,例2说明:1.C++语言程序由一个主函数和若干个子函数(模块)组成。
1.子函数也有类型和函数值。
2.子函数程序体可以作为单独的文件存放,如果单独存放,应在主函数中作为头文件进行说明。
第5章 函数1
第5章 函数
(2) A到B的所有不同的满射有6个, 分别为 f1={(a, g1), (b, g1 ), (c, g2)} f2={(a, g1 ), (b, g2), (c, g1 )} f3={(a, g1 ), (b, g2), (c, g2)} f4={(a, g2), (b, g1 ), (c, g2)} f5={(a, g1 ), (b, g2), (c, g1 )} f6={(a, g1 ), (b, g2), (c, g2)}
p: A→A是双射, 则称p为集合A上的n阶置换 记为 阶置换, 阶置换
a1 p= p( a1 )
a2 L an p ( a2 ) L p ( an )
第5章 函数
例2 若A={1, 2, 3}, 试写出A上的全部置换。 解 A上的全部置换有3!=6个,分别为
1 p1 = 1 1 p3 = 2
第5章 函数
定义 5.1 ― 2 设有函数f: A→B, g: C→D, 若 有A=C、 B=D且对所有的x∈A, 有f(x)=g(x), 则称 函数f和g相等, 记为f=g。 定义 5.1 ― 3 集合A到集合B的所有函数的集合记 为BA, 即 BA={f|f: A→B}
第5章 函数
定理 5.1 ― 1 当A和B是有限集合时,有 |BA|=|B||A| 证明 设|A|=m, |B|=n(m, n∈N); 又设A={a1, a2, …, am}。 因为 Df=A,所以 f={(a1, f(a1)), (a2, f(a2)), …, (am , f(am))}。 , 而每个f(ai)(i∈Nm)都有n种可能,所以A到B的不 同函数共有 {n·n·…·n } =n m个 M个 即 |BA|=|B||A|
第5章 函数
第五章-贝塞尔函数
第五章-贝塞尔函数n阶第一类贝塞尔函数()J xn第二类贝塞尔函数,或称Neumann函数()Y xn第三类贝塞尔函数汉克尔(Hankel)函数,(1)()H xn第一类变形的贝塞尔函数()I xn开尔文函数(或称汤姆孙函数)n阶第一类开尔文(Kelvin)第五章贝塞尔函数在第二章中,用分离变量法求解了一些定解问题。
从§2.3可以看出,当我们采用极坐标系后,经过分离变量就会出现变系数的线性常微分方程。
在那里,由于只考虑圆盘在稳恒状态下的温度分布,所以得到了欧拉方程。
如果不是考虑稳恒状态而是考虑瞬时状态,就会得到一种特殊类型的常微分方程。
本章将通过在柱坐标系中对定解问题进行分离变量,引出在§2.6中曾经指出过的贝塞尔方程,并讨论这个方程解的一些性质。
下面将看到,在一般情况下,贝塞尔方程的解不能用初等函数表出,从而就导入一类特殊函数,称为贝塞尔函数。
贝塞尔函数具有一系列性质,在求解数学物理问题时主要是引用正交完备性。
§5.1 贝塞尔方程的引出下面以圆盘的瞬时温度分布为例推导出贝塞尔方程。
设有半径为R 的薄圆盘,其侧面绝缘,若圆盘边界上的温度恒保持为零摄氏度,且初始温度为已知,求圆盘内瞬时温度分布规律。
这个问题可以归结为求解下述定解问题:222222222222220(),,0, (5.1)(,),, (5.2)0, t x y R u u u a x y R t t x y u x y x y R u ϕ=+=∂∂∂=++<>∂∂∂=+≤= (5.3)⎧⎪⎪⎪⎨⎪⎪⎪⎩用分离变量法解这个问题,先令(,,)(,)()u x y t V x y T t =代入方程(5.1)得22222()V VVT a T x y∂∂'=+∂∂或22222 (0)V V T x y a T Vλλ∂∂+'∂∂==-> 由此得到下面关于函数()T t 和(,)V x y 的方程20T a T λ'+=(5.4)22220V VV x y λ∂∂++=∂∂ (5.5)从(5.4)得2()a t T t Ae λ-=方程(5.5)称为亥姆霍兹(Helmholtz )方程。
离散数学第五章 函数
像与逆像: 映射的“提升”
设U和V是两个集合, f : U→V 是从U到V的一个函数, ρ(U)是U的幂集,ρ(V)是V的幂集。
像与逆像将从U到V的一个映射 f : U→V “提升” 为从U的幂集 ρ(U) 到V的幂集 ρ(V) 的映射
集合 A 在函数 f 下的 像 f (A)
U
f
V
A
f(A)
集合 B 在函数 f 下的 逆像 f -1(B)
U
f
V
-1
f (B)
B
例5.1.3 设 A={a, b, c, d, e} , B={1, 2, 3, 4} , φ: A→B, φ的定义如图所示。则
φ({a, b, c})={1, 2}
例:设 U={1,2,3,4},V={1,2,…,16},关系 f1={ <1,1>, <2,4>, <3,9>, <4,16> }, f2={ <1,1>, <2,3>, <4,4> }, f3={ <1,1>, <1,2>, <2,15>, <3,16>, <4,1> },
试判断哪些是函数?
解:f1 是,且 f1(a)=a2。 f2 不是,因为f2(3)=? f3 不是,因为两个f3(1)。
n×n×…×n = nm
m
映射:递归定义
例5.1.8 (1) 阶乘 n! f: N→N, f(0)=1, f(n+1)=f(n)(n+1), n∈N。
(但需要检查,是否都有射,是否没有一射多)
离散数学第5章_函数
第5章 函数
证明 f和ρf的图示如图5 ― 2所示。 1) 任取a∈A, 有f(a)=f(a), 所以 (a, a)∈ρf, 故ρf自反; 任取a, b∈A, 若(a, b)∈ρf, 则f(a)=f(b), 所以 f(b)=f(a), 即(b 任取a, b, c∈A, 若(a, b)∈ρf, (b, c)∈ρf, 则f(a)=f(b), f(b)=f(c) , 所以 f(a)=f(c), 即(a, c)∈ρf; 故ρf传递。 综上ρf是A上的等价关系。
第5章 函数
任取b∈Rf, 由Rf的定义, 有a∈A, 使f(a)=b, 即有[a]∈A/ρf, 使得 g([a])=f(a)=b。 所以 g是满射。 综上g是双射。 定义 5.1 ― 5 恒等关系IA={(a, a)|a∈A}是A 到A的双射, 它称为A上的恒等函数。 定义 5.1 ― 6 若函数f: A→B, 对一切a∈A, 都 有f(a)=b, b∈B, 则f称为常函数。
第5章 函数
定义 5.1 ― 2 设有函数f: A→B, g: C→D, 若 有A=C、 B=D且对所有的x∈A, 有f(x)=g(x), 则称 函数f和g相等, 记为f=g。 定义 5.1 ― 3 集合A到集合B的所有函数的集合记 为BA, 即 BA={f|f: A→B}
第5章 函数
定理 5.1 ― 1 当A和B是有限集合时,有 |BA|=|B||A| 证明 设|A|=m, |B|=n(m, n∈N); 又设A={a1, a2, …, am}。 因为 Df=A,所以 f={(a1, f(a1)), (a2, f(a2)), …, (am , f(am))}。 而每个f(ai)(i∈Nm)都有n种可能, {n·n·…·n } =n +m个 m个即 |BA|=|B||A|
第5章 函数
有限集上单、满射关系
定理 设f:A→B,且A和B都是有限集。
(1)若f是单射,则|A|≤ |B| (2)若f是满射,则|A|≥ |B| (3)若f是双射,则|A|=|B|
(1)的逆否命题即为鸽笼原理。
设f:X→Y,若X和Y是有限集,且∣X∣=∣Y∣, 则f为单射f为满射。 证明:‘’ 若f为单射,则∣X∣=∣f(X)∣ ∵∣X∣=∣Y∣
注意: (1)在函数中,前域为X,与定义域相同,dom(f)=X, 值域ran(f)Y,ran(f)也可记为f(X); (2)函数的单值性,若f(x)=y1,f(x)=y2,则y1=y2. 对于关系R (1)关系R的定义域与前域: dom (R) = {x∣ y∣< x,y>R} X; (2)<x,y1>R且<x,y2>R且y1≠y2可以为真 n元函数 具有定义域X=× ni=1Xi的函数f叫做n元函数,函数值用 f(x1,……,xn)表示。
即z=g(f(x))=g∙f(x)。
∴g∙f是满射。
例:设f(x)=x+2,g(x)=x-2,h(x)=b)若g,f是单射,则g∙f是 单射 证明:x1,x2X,若x1x2, ∵f为单射, ∴f(x1)f(x2),又∵g为单射, ∴g(f(x1))g(f(x2)) ∴g∙f为单射。 c)由a),b)知,若g,f为双射,则g∙f 为双射。 例:设f(x)=x+2,g(x)=x-2,h(x)=3x, 均为实数集合到实数集合的双射, 则g∙f(x)=g(x+2)= (x+2) -2=x,为双射。 h∙g∙f(x)=3x,为双射。
若X≠,Y=,则从X到Y唯一的关系是空关系,不是一个函
数。
像、逆像
f:X→Y
《离散数学》函数
A
B
C
y=f(x)
z =g( y ) =( g◦f )( x )
x
29
函数的复合
例
– f : → ,f (x) = x+1, – g : → ,g(x) = 2x+1, – h : → ,h(x) = x2+1, g ◦ f (x)=g(f(x)) =2f(x)+1 =2(x+1)+1=2x+3 f ◦ g(x)=f(g(x)) =g(x)+1 =2x+1+1=2x+2 h ◦ g ◦ f (x)=h(g(f(x))) = (2x+3)2+1
20
函数的性质
练习 – f: + → + , – f(1) = 1,f(n) = n–1 (n>1)
– 单射? – 满射? – 双射?
21
函数的性质
对于有限集合上的函数,有如 下主要结果:
定理 假设 A 和 B 是两个有限集合
且满足 |A| = |B|,则函数 f : AB 是单射当且仅当 f 是满射。
第五章 函数
《离散数学及应用》
第五章 函数
§5.1 函数的定义 §5.2 函数的性质 §5.3 函数的复合 §5.4 逆函数 §5.5 计算机科学中的常用函数 *§5.6 双射函数及集合的势
2
函数
A 和 B 为非空集合 设 f 为 A 到 B 的二元关系, 若对于任意 xDom( f ) 都存在唯一的 yRan( f ) 使得 (x, y)f 成立,则称 f 为函数 (function)。 函 数 也 称 作 映 射 ( mapping ) 或 变 换 (transformation)
第五章 第四节 三角函数的图象与性质 课件(共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π 上的单调减区间为__________.
第五章-贝塞尔函数讲解
2 sin x
x
J
1 2
x
2 cos x
x
1 0.8 0.6 0.4 0.2
J0 J5
-0.2 -0.4
2
4
6
8
10
5.1.2.虚宗量贝塞耳方程
n 阶虚宗量贝塞耳方程
x2
d 2R dx 2
x
dR dx
(x2
n2 )R
0
ix
2
d 2R
d 2
dR
d
( 2
m
1
J-n(x)称为-n阶第一类贝塞尔函数
(5.19)
Jn(x) 和J-n(x)线性无关,故贝塞尔方程(5.12)的通解可表 示为:
y x AJn x BJn x
(5.20)
令 A cot n , B csc n,则 (5.20)可写成
第二个线性 无关特解
2
ak
ak 2
0
由于 a0 0,可得 s1 n s2 n ,需要分别讨论:
(5.14) (5.15) (5.16)
情形1:n不为整数和半奇数,则s1-s2=2n也不为整数。取s1=n代 入(5.15)式得到a1=0,代入(5.16)式得到:
ak
ak 2
k 2n k
d dx
xn
Jn
x
xn
J n1
x
d dx
x
n
J
n
x
x
n
J
四川大学《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章 函数)
北京理工大学珠海学院 计算机学院 龚友明
函数的定义
设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}定 义为
离散数学第五章函数
主要内容
PART 01
函数的基本概念和性质
PART 02
函数的合成和合成函数的性质
5.1 函数的基本概念和性质
例5.5 设集合X={a,b,c,d}和Y={1,2,3,4,5},并且有 f={<a,1>,<b,3>,<c,4>,<d,4>}
试求出domf,ranf 和 f 的矩阵表达式。 解: domf ={a,b,c,d}
ranf ={1,3,4}
f 的简化关系矩阵为:
a 1
5.2 函数的合成和合成函数的性质
例5.10 设Z是整数集合,并且函数f: Z→Z给定成f(i)=2i+1。试求出合 成函数f3( i ) 。 解:合成函数 f3( i ) 是一个由Z到Z的函数,于是有
f 3(i) f 2 (i) f (i) ( f (i) f (i)) f (i) f ( f ( f (i)) f ( f (2i 1)) f (4i 3) 2(4i 3) 1 8i 7
Mf
b
c
3 4
d 4
5.1 函数的基本概念和性质
定义5.4 设A和B是任意两个集合,记:BA { f f : A B} 为从A到B的 所有函数的集合。
例5.6 设集合X={a,b,c}和集合Y={0,1}。试求出所有可能的函数f: X→Y。 解:首先求出的X×Y所有序偶,于是应有
X Y {a,0, b,0, c,0, a,1, b,1, c,1}
第5章 函数
第10页
上海师范大学 计算机系
5.3.2 函数调用
• C语言中,函数调用的一般形式为: 函数名([实在参数表]) 其中,实在参数表中,实参的个数与顺序必须与形参的个数 与顺序相同,实参的数据类型必须与对应的形参数据类型相 同或兼容。实参是有确定值的变量或表达式,各实参之间用 逗号分隔。对无参函数调用时,无实在参数表,但函数名后 的圆括号不能省略。 • 主调函数中可以用以下几种方式调用被调函数:
(1) 避免代码的重复。 (2) 便于结构化程序设计。
• 在C语言中可从不同的角度对函数分类:
(1) 从函数定义的角度看,函数可分为库函数和用户定义函数两种。 (2) C语言的函数兼有其它高级语言中的函数和过程两种功能,从这个角度 看,又可把函数分为有返回值函数和无返回值函数两种。 (3) 从主调函数和被调函数之间数据传送的角度看又可分为无参函数和有参 函数两种。
• 定义函数时应根据问题的需求,首先决定函数的类型并选定 一个函数名,然后决定形式参数的类型、个数和形参名,最 后在一对大括号内写函数体。在函数体中可以把形参当作是 已经被赋值过的变量那样使用。 • 可见,函数用来实现某一特定的功能,在设计函数时只有抽 象的功能要求,没有具体的数据,即不知道函数形参的具体 值,但是对这些形参所进行的操作却都是相同的。
2013年10月7日星期一 第5章 函 数 第7页 上海师范大学 计算机系
5.3.1 函数声明
• 在一个函数中要调用另一个函数时,需要具备以下条件:
(1) 被调用的函数必须是已经存在的函数(库函数或用户自己定义的函数)。 (2) 如果调用的是库函数,用#include将此库函数所需用到的有关信息包含 到本文件来。例如:#include <stdio.h> 其中“stdio.h”是一个头文件,在stdio.h文件中存放了有关输入输出库 函数的相关信息。 (3) 如果调用的是用户自己定义的函数,且该函数与主调函数在同一个文件 中,应在主调函数中对被调用函数进行函数声明。
第五章成员函数
int max(int x,int y) {return(x>y?x:y);}
int min(int x,int y) {return(x<y?x:y);}
void main()
{
int a,b;
a=15,b=20;
cout<<"max="<<all(a,b,max)<<endl;
cout<<"min="<<all(a,b,min)<<endl;
> 7
<= 关系运算符
>=
X>Y X <= Y X >= Y
判断X是否大于Y 判断X是否小于等于Y
L 判断X是否大于等于Y
==
X==Y
判断X是否等于Y
8
!=
X != Y
判断X是否不等于Y
9
&
A&B
将A和B的值按位相与
10 位运算符
^
A^B
将A和B的值按位相异或
L
11
|
A|B
将A和B的值按位相或
12
&&
逻辑运算符
13
||
X<Y && X>Z X<Y || X>Z
将&&两边的结果(逻辑值)相与 L
将 || 两边的结果(逻辑值)相或
14
条件运算符
?:
Z = X>Y ? E1:E2;
如果X>Y为真,Z等于E1的值,否 则等于E2的值
R
=
X=Y
将Y的值赋给X
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第五章函数
一. 单项选择题
1.假设a,b,c,e,f,g都已正确定义,则函数调用语句“f(a+b,c,(e,f,g));”中参数的个数是(B )
A.2
B.3
C.5
D.6
2.以下对C 语言函数的有关描述中,正确的是(A )
A.在C 语言中,调用函数时,只能把实参的值传递给形参,形参的值不能传递给实参
B.C 函数既可以嵌套定义,又可以递归调用
C.函数必须有返回值,否则不能定义成函数
D.C 程序中,有调用关系的所有函数必须放在同一个源程序文件中
3.以下程序的输出结果是:
#include <stdio.h>
float sum(int n)
{
int s=0,i;
for(i=1;i<=n;i++)
s+=i;
return s;
}
void main()
{
int n;
printf("sum=%f\n",sum(10)); D
}
A.sum=10
B.sum=55
C.sum=10.000000
D.sum=55.000000
4.以下程序的输出结果是:
#include <stdio.h>
fun(int n)
{
double x=3.14159;
if(n>0) return x*n;
else return x*n*(-1);
}
void main()
{
printf("%d\n",abs(-3));
}
D
A.-9.42477
B.9.42477
C.-9
D.9
二. 填空题:
1.阅读函数,写出函数的主要功能:
float av(int a[],int n)
{ int i;
float s;
for(i=0,s=0;i<n;i++)s=s+a[i];
return s/n;
}
2. 函数的形式参数的作用域为_____,全局的外部变量和函数体内定义的局部变量重名时,________变量优先。
3.以下程序的输出结果是:
#include <stdio.h>
void main()
{
void swap();
extern int a,b;
a=3;
b=10;
swap();
printf("a=%d,b=%d\n",a,b);
}
int a,b;
void swap()
{
int temp;
temp=a;a=b;b=temp;
}
4.以下程序的输出结果是:
int f(int a)
{ auto int b=0;
static int c=3;
b=b+1;
c=c+1;
return (a+b+c);
}
void main()
{ int a=2,i;
for (i=0;i<3;i++)
printf(“%d\n”,f(a));
}
5.以下程序的运行结果是:
#include <stdio.h>
int func(int a,int b);
void main()
{
int k=4,m=1,p;
p=func(k,m);printf("%d,",p);
p=func(k,m);printf("%d\n",p); }
int func(int a,int b)
{
static int m=0,i=2;
i+=m+1;
m=i+a+b;
return m;
}
6.以下程序的运行结果是:
#include <stdio.h>
int func(int a,int b);
void main()
{
static int k=4,m=1,p;
p=func(k,m);printf("%d,",p);
p=func(k,m);printf("%d\n",p); }
int func(int a,int b)
{
static int m=0,i=2;
i+=m+1;
m=i+a+b;
return m;
}
7.以下程序的运行结果是:
#include <stdio.h>
int fun(int k);
int w=3;
void main()
{
int w=10;
printf("%d\n",fun(5)*w);
}
int fun(int k)
{
if(k==0) return w;
return(fun(k-1)*k);
}。