第5章 函数
第5章 单向函数
分大的 n(n n0 )有
Pr
M ' ( f (U n )) f 1 ( f (U n ))
1 p(n)
(一)随机猜测算法 M1
无论输入那个 y f (x),x 0,1,n M1总是输出n次扔硬币结
果r,作为对x的猜测。将M1代入(5.1)。因U n与r统计
独立,故得 Pr M1( f (U n )) f 1( f (U n )) 2n 2n (r, x) 2(n 5.2)
Pr M 2 ( f (U n )) f 1 ( f (U n )) Pr x' f 1 ( f (U n ))
2n (x' , x) f 1( f (x' )) 2n 2n
(5.4)
x
其中 (x', x)由(5.3)给出,(5.4)中第二个
等式是由于 , x' f 1 ( f (x)) x f 1( f (x' )) f 1( f (x' ))
(5.9)
In
n
定理 5.1 任一单向函数 f : 0,1* 0,1* 可表示 为一个单向函数族,反之任一单向函数族
fi : Di 0,1*;i I 也可表示为一单向函数
f : E 0,1,* 其中E为{0,1} 的* 一个无穷子集。
5.2.2 候选单向函数族
例 5.4 RSA函数族 例 5.5 Rabin函数族 例 5.6 Rabin-Blum函数族 例 5.7 离散对数函数族
5.4.2 单向函数的硬核函数
定义 5.10 设 h : 0,1* 0,1*是一个多项式时间可计 算函数,满足h(x) h(y),对一切 y x ,记
l(n) h(1n ) (l n)。h称为f的硬核函数,若对每一多项式 时间概率算法 M ' ,每一正多项式p(n)和一切充分 大的n有
第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章 函数
第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()
第5章 函数
5.3函数的调用
在一个源程序中,如果调用的是标准函数, 则需在调用之前用#include命令将对应的头文 件包含进来;如果调用的是用户自定义函数, 则需将被调用的函数放在主调函数之前,否 则就需要在主调函数的声明部分加入被调用 函数的原型声明。
5.3.1 函数的声明
1. 函数声明的一般形式有两种: (1)函数类型 函数名(参数类型1, 参数类型 2, ……); (2) 函数类型 函数名(参数类型1 参数名1, 参 数类型2 参数名2, ……); 两种形式是的等价的。如: float add(float,float); 等效于: float add(float x,float y);
3. 从主调函数和被调函数之间数据传送的角度看,又 可分为: (1) 无参函数 函数定义、函数说明及函数调用中均不带参数。主 调函数和被调函数之间不进行参数传送。如上述程 序中的pline()函数、word()函数只是输出字符。 (2) 有参函数(带参函数) 在函数定义和函数说明时都带有的参数,称为形式 参数(简称为形参)。函数调用时所给出的参数, 称为实际参数(简称为实参)。进行函数调用时, 主调函数将把实参的值传送给形参,供被调函数使 用。
运行结果如图所示。
5.3.4 函数的嵌套调用
一个函数内不能定义另一个函数。但在函数调用时,可以嵌 套调用,即在调用一个函数的过程中,又调用另一个函数。
【例5.7】用调用函数求s=(12)!+(22)!+(32)!的 值,并在主函数中输出结果。 本题可编写两个函数,一个是用来计算平方 值的函数f1,另一个是用来计算阶乘值的函 数f2。主调函数先调f1计算出平方值,再在f1 中以平方值为实参调用 f2,计算其阶乘值, 然后返回f1,再返回主调函数,在循环过程 中计算累加和。
C语言程序设计-第5章--函数
实参可以是常量、变量或表达式,但要求 它们必须要有确定的值,在调用时将实参 的值赋给形参。另外,实参和形参的类型 应相同或兼容。
— 31 —
5.2 函数的参数传递和返回值
➢ 5.2.2 函数的返回值
一般情况下,主调函数调用完被调函数后,都希望能够得到一 个确定的值,这就是函数的返回值。在C语言中,函数返回值 是通过return语句来实现的。return语句的一般形式有3种:
/*函数声明*/
/*调用逆序函数,将a的逆序值赋给b*/ /*调用逆序函数,将b的逆序值赋给c */
— 23 —
5.2 函数的参数传递和返回值
➢ 5.2.1 函数的形参与实参
{
int y=0,sign=1;
/*定义sign表示x的符号,定义变量y代表逆序数据*/
if(x<0)
/*当x小于0时取符号及取反*/
— 18 —
5.1 函数的定义和调用
➢ 5.1.2 函数的调用
另外,按函数在语句中的作用来分,可以有以下3种函数调用方式:
函数表达式
函数语句
函数作为实参
函数作为表达式中的一项出 现,以函数返回值参与表达 式的运算。
函数调用的一般形式加上分 号即构成函数语句。
函数作为另一个函数调用的 实际参数出现,即把该函数 的返回值作为实参进行传送。
#include<stdio.h> int main() {
int x=0,y; y=trans(x); printf("y=%d\n",y); printf("x=%d\n",x); return 0; } trans(int a) { a++; printf("a=%d\n", a); return a; }
离散数学第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章 一元函数的导数及其应用 5.3 导数在研究函数中的应用 5.3.2 第1课时 函数
5.3.2 函数的极值与最大(小)值第1课时函数的极值与导数学习目标核心素养1.了解极大值、极小值的概念.(难点)2.了解函数在某点取得极值的必要条件和充分条件.(重点、易混点)3.会用导数求函数的极大值、极小值.(重点)1.通过极值点与极值概念的学习,体现了数学抽象的核心素养.2.借助函数极值的求法,提升学生的逻辑推理、数学运算的核心素养.“横看成岭侧成峰,远近高低各不同”.请同学们思考:“山势有什么特点?”由此联想庐山的连绵起伏形成好多的“峰点”与“谷点”.这就是我们这节课研究的函数的极值.1.极值点与极值(1)极小值点与极小值若函数y=f (x)在点x=a的函数值f (a)比它在点x=a附近其他点的函数值都小,f ′(a)=0,而且在点x=a附近的左侧f ′(x)<0,右侧f ′(x)>0,就把点a叫做函数y=f (x)的极小值点,f (a)叫做函数y=f (x)的极小值.(2)极大值点与极大值若函数y=f (x)在点x=b的函数值f (b)比它在点x=b附近其他点的函数值都大,f ′(b)=0,而且在点x=b附近的左侧f ′(x)>0,右侧f ′(x)<0,就把点b叫做函数y=f (x)的极大值点,f (b)叫做函数y=f (x)的极大值.(3)极大值点、极小值点统称为极值点;极大值、极小值统称为极值.思考:导数为0的点一定是极值点吗?[提示]不一定,如f (x)=x3,f ′(0)=0,但x=0不是f (x)=x3的极值点.所以,当f ′(x0)=0时,要判断x=x0是否为f (x)的极值点,还要看f ′(x)在x0两侧的符号是否相反.2.求可导函数y=f (x)的极值的方法解方程f ′(x)=0,当f ′(x0)=0时:(1)如果在x0附近的左侧f ′(x)>0,右侧f ′(x)<0,那么f (x0)是极大值;(2)如果在x0附近的左侧f ′(x)<0,右侧f ′(x)>0,那么f (x0)是极小值.1.判断正误(正确的打“√”,错误的打“×”)(1)极大值一定比极小值大.( )(2)每一个函数都至少有一个极大值或极小值.( )(3)若f ′(x0)=0,则x0一定是极值点.( )(4)单调函数不存在极值.( )[提示](1)极大值不一定比极小值大,∴(1)错误;(2)有的函数可能没有极值.∴(2)错;(3)若f ′(x0)=0,只有导函数的变号零点,x0才是极值点,故(3)错误;(4)正确.[答案](1)×(2)×(3)×(4)√2.函数f (x)的定义域为R,导函数f ′(x)的图象如图所示,则函数f (x)( )A.无极大值点,有四个极小值点B.有三个极大值点,两个极小值点C.有两个极大值点,两个极小值点D.有四个极大值点,无极小值点C[设y=f ′(x)的图象与x轴的交点从左到右横坐标依次为x1,x2,x3,x4,则f (x)在x=x1,x=x3处取得极大值,在x=x2,x=x4处取得极小值.]3.(多选题)下列四个函数中,在x=0处取得极值的函数是( )A.y=x3B.y=x2+1C.y=|x| D.y=2xBC[对于A,y′=3x2≥0,∴y=x3单调递增,无极值;对于B,y′=2x,x>0时y′>0,x<0时y′<0,∴x=0为极值点;对于C,根据图象,在(0,+∞)上单调递增,在(-∞,0)上单调递减,∴C 符合;对于D ,y =2x单调递增,无极值.故选BC.]4.函数f (x )=x +2cos x 在⎣⎢⎡⎦⎥⎤0,π2上的极大值点为( )A .0B .π6C .π3D .π2B [f ′(x )=1-2sin x .令f ′(x )=0,∵x ∈⎣⎢⎡⎦⎥⎤0,π2,∴x =π6,x ∈⎝ ⎛⎭⎪⎫π6,π2时f ′(x )<0,x ∈⎝⎛⎭⎪⎫0,π6时,f ′(x )>0.∴x =π6是f (x )在⎣⎢⎡⎦⎥⎤0,π2上的极大值点.]不含参数的函数求极值(1)y =x 3-3x 2-9x +5; (2)y =x 3(x -5)2.[解] (1)∵y ′=3x 2-6x -9,令y ′=0,即3x 2-6x -9=0,解得x 1=-1,x 2=3. 当x 变化时,y ′,y 的变化情况如下表:x (-∞,-1)-1 (-1,3) 3 (3,+∞)y ′ + 0 - 0 + y↗极大值↘极小值↗当x =3时,函数y =f (x )有极小值,且f (3)=-22. (2)y ′=3x 2(x -5)2+2x 3(x -5) =5x 2(x -3)(x -5).令y ′=0,即5x 2(x -3)(x -5)=0,解得x 1=0,x 2=3,x 3=5.当x 变化时,y ′与y 的变化情况如下表:x (-∞,0)0 (0,3) 3 (3,5) 5 (5,+∞)y ′ + 0 + 0 - 0 + y↗无极↗极大值↘极小值0↗值108∴x =0不是y 的极值点;x =3是y 的极大值点,y 极大值=f (3)=108; x =5是y 的极小值点,y 极小值=f (5)=0.一般地,求函数y =fx 的极值的步骤1求出函数的定义域及导数f ′x ; 2解方程f ′x =0,得方程的根x 0可能不止一个;3用方程f ′x=0的根,顺次将函数的定义域分成若干个开区间,可将x ,f ′x ,f x 在每个区间内的变化情况列在同一个表格中;4由f ′x 在各个开区间内的符号,判断f x在f ′x =0的各个根处的极值情况:如果左正右负,那么函数f x 在这个根处取得极大值; 如果左负右正,那么函数fx 在这个根处取得极小值;如果导数值在这个根左右两侧同号,那么这个根不是极值点.[跟进训练]1.求函数f (x )=3x 3-3x +1的极值. [解] f ′(x )=9x 2-3, 令f ′(x )=0,得x 1=-33,x 2=33. 当x 变化时,f ′(x ),f (x )的变化情况如下表:x ⎝⎛⎭⎪⎫-∞,-33-33⎝ ⎛⎭⎪⎫-33,3333 ⎝ ⎛⎭⎪⎫33,+∞ f ′(x ) + 0 - 0 + f (x )↗极大值↘极小值↗根据上表可知x 1=-33为函数f (x )=3x 3-3x +1的极大值点,极大值为f ⎛⎪⎫-3=1+233; x 2=33为函数f (x )=3x 3-3x +1的极小值点,极小值为f ⎝ ⎛⎭⎪⎫33=1-233.含参数的函数求极值【例2】 已知函数f (x )=16x 3-20ax 2+8a 2x -a 3,其中a ≠0,求f (x )的极值. [思路探究] 求导―→解f ′x =0―→比较极值点大小 ―→进行讨论求极值[解] ∵f (x )=16x 3-20ax 2+8a 2x -a 3,其中a ≠0,∴f ′(x )=48x 2-40ax +8a 2=8(6x 2-5ax +a 2)=8(2x -a )(3x -a ), 令f ′(x )=0,得x 1=a 2,x 2=a3.①当a >0时,a 3<a2,则随着x 的变化,f ′(x ),f (x )的变化情况如下表:x ⎝ ⎛⎭⎪⎫-∞,a 3 a3⎝ ⎛⎭⎪⎫a 3,a 2a2⎝ ⎛⎭⎪⎫a 2,+∞f ′(x ) + 0 - 0 + f (x )↗极大值↘极小值↗∴当x =a3时,函数f (x )取得极大值,为f ⎝ ⎛⎭⎪⎫a 3=a327;当x =a2时,函数f (x )取得极小值,为f ⎝ ⎛⎭⎪⎫a 2=0. ②当a <0时,a 2<a3,则随着x 的变化,f ′(x ),f (x )的变化情况如下表:x ⎝ ⎛⎭⎪⎫-∞,a 2 a2⎝ ⎛⎭⎪⎫a 2,a 3a3⎝ ⎛⎭⎪⎫a 3,+∞f ′(x ) + 0 - 0 + f (x )↗极大值↘极小值↗∴当x =a2时,函数f (x )取得极大值,为f ⎝ ⎛⎭⎪⎫a 2=0;当x =a3时,函数f (x )取得极小值,为f ⎝ ⎛⎭⎪⎫a 3=a327.综上,当a >0时,函数f (x )在x =a 3处取得极大值a 327,在x =a2处取得极小值0;当a <0时,函数f (x )在x =a 2处取得极大值0,在x =a 3处取得极小值a 327.函数极值的注意点1求函数的极值需严格按照求函数极值的步骤进行,重点考虑两个问题:一是函数的定义域,注意判断使导数值为0的点是否在定义域内,如果不在定义域内,需要舍去;二是检查导数值为0的点的左右两侧的导数值是否异号,若异号,则该点是极值点,否则不是极值点.2求解析式中含有参数的函数极值时,有时需要用分类讨论的思想才能解决问题.讨论的依据有两种:一是看参数是否对f ′x 的零点有影响,若有影响,则需要分类讨论;二是看f ′x 在其零点附近的符号的确定是否与参数有关,若有关,则需要分类讨论.[跟进训练]2.若函数f (x )=x -a ln x (a ∈R ),求函数f (x )的极值. [解] 函数f (x )的定义域为(0,+∞),f ′(x )=1-a x =x -ax.(1)当a ≤0时,f ′(x )>0,函数f (x )在(0,+∞)上单调递增,函数f (x )无极值. (2)当a >0时,令f ′(x )=0,解得x =a .当0<x <a 时,f ′(x )<0;当x >a 时,f ′(x )>0.∴f (x )在x =a 处取得极小值,且f (a )=a -a ln a ,无极大值. 综上可知,当a ≤0时,函数f (x )无极值;当a >0时,函数f (x )在x =a 处取得极小值a -a ln a ,无极大值.由极值求参数的值或取值范围322A .4或-3B .4或-11C .4D .-3(2)若函数f (x )=12x 2+(a -1)x -a ln x 没有极值,则( )A .a =-1B .a ≥0C .a <-1D .-1<a <0[思路探究] (1)由f ′(1)=0且f (1)=10.求解a ,b ,注意检验极值的存在条件. (2)求导分解因式主要对参数分类讨论.(按根的大小)(1)C (2)A [(1)∵f (x )=x 3+ax 2+bx +a 2,∴f ′(x )=3x 2+2ax +b .由题意得⎩⎪⎨⎪⎧f ′1=3+2a +b =0,f 1=1+a +b +a 2=10,即⎩⎪⎨⎪⎧2a +b =-3,a +b +a 2=9,解得⎩⎪⎨⎪⎧a =-3b =3,或⎩⎪⎨⎪⎧a =4,b =-11,当⎩⎪⎨⎪⎧a =-3b =3,时,f ′(x )=3x 2-6x +3=3(x -1)2≥0,故函数f (x )单调递增,无极值,不符合题意.∴a =4.故选C.(2)f ′(x )=(x -1)⎝ ⎛⎭⎪⎫a x+1,x >0,当a ≥0时,a x+1>0,令f ′(x )<0,得0<x <1; 令f ′(x )>0,得x >1.f (x )在x =1处取极小值. 当a <0时,方程a x+1=0必有一个正数解x =-a ,①若a =-1,此正数解为x =1,此时f ′(x )=x -12x≥0,f (x )在(0,+∞)上单调递增,无极值.②若a ≠-1,此正数解为x ≠1,f ′(x )=0必有2个不同的正数解,f (x )存在2个极值.综上,a =-1.故选A.]已知函数极值求参数的方法对于已知可导函数的极值求参数的问题,解题的切入点是极值存在的条件:极值点处的导数值为0,极值点两侧的导数值异号.1已知可导函数的极值求参数问题的解题步骤: ①求函数的导数f ′x ;②由极值点的导数值为0,列出方程组,求解参数. 注意:求出参数后,一定要验证是否满足题目的条件. 2对于函数无极值的问题,往往转化为f ′x ≥0或f ′x ≤0在某区间内恒成立的问题,此时需注意不等式中的等号是否成立.[跟进训练]3.若x =2是函数f (x )=x (x -m )2的极大值点,求函数f (x )的极大值.[解] ∵f ′(x )=(x -m )(3x -m ),且f ′(2)=0, ∴(m -2)(m -6)=0,即m =2或m =6. (1)当m =2时,f ′(x )=(x -2)(3x -2), 由f ′(x )>0得x <23或x >2;由f ′(x )<0得23<x <2.∴x =2是f (x )的极小值点,不合题意,故m =2舍去. (2)当m =6时,f ′(x )=(x -6)(3x -6), 由f ′(x )>0得x <2或x >6; 由f ′(x )<0得2<x <6.∴x =2是f (x )的极大值,∴f (2)=2×(2-6)2=32. 即函数f (x )的极大值为32.极值问题的综合应用1.如何画出函数f (x )=2x 3-3x 2-36x +16的大致图象.[提示] f ′(x )=6x 2-6x -36=6(x 2-x -6)=6(x -3)(x +2). 由f ′(x )>0得x <-2或x >3,∴函数f (x )的递增区间是(-∞,-2)和(3,+∞). 由f ′(x )<0得-2<x <3, ∴函数f (x )的递减区间是(-2,3).由已知得f (-2)=60,f (3)=-65,f (0)=16.∴结合函数单调性及以上关键点画出函数f (x )大致图象如图所示. 2.当a 变化时,方程2x 3-3x 2-36x +16=a 有几解?[提示] 方程2x 3-3x 2-36x +16=a 解的个数问题可转化为函数y =a 与y =2x 3-3x 2-36x +16的图象有几个交点的问题,结合探究点1可知:(1)当a >60或a <-65时, 方程2x 3-3x 2-36x +16=a 有且只有一解; (2)当a =60或a =-65时,方程2x 3-3x 2-36x +16=a 有两解; (3)当-65<a <60时,方程2x 3-3x 2-36x +16=a 有三解.【例4】 已知函数f (x )=x 3-3x +a (a 为实数),若方程f (x )=0有三个不同实根,求实数a 的取值范围.[思路探究] 求出函数的极值,要使f (x )=0有三个不同实根,则应有极大值大于0,极小值小于0,由此可得a 的取值范围.[解] 令f ′(x )=3x 2-3=3(x +1)(x -1)=0, 解得x 1=-1,x 2=1. 当x <-1时,f ′(x )>0; 当-1<x <1时,f ′(x )<0;当x >1时,f ′(x )>0.所以当x =-1时,f (x )有极大值f (-1)=2+a ; 当x =1时,f (x )有极小值f (1)=-2+a . 因为方程f (x )=0有三个不同实根,所以y =f (x )的图象与x 轴有三个交点,如图.由已知应有⎩⎪⎨⎪⎧2+a >0,-2+a <0,解得-2<a <2,故实数a 的取值范围是(-2,2).1.(改变条件)本例中,若方程f (x )=0恰有两个根,则实数a 的值如何求解? [解] 由例题知,函数的极大值f (-1)=2+a ,极小值f (1)=-2+a , 若f (x )=0恰有两个根,则有2+a =0,或-2+a =0, 所以a =-2或a =2.2.(改变条件)本例中,若方程f (x )=0有且只有一个实根,求实数a 的范围. [解] 由例题可知,要使方程f (x )=0有且只有一个实根, 只需2+a <0或-2+a >0, 即a <-2或a >2.3.(变条件、变结论)讨论方程ln xx=a 的根的情况.[解] 令f (x )=ln x x ,则定义域为(0,+∞),f ′(x )=1-ln xx2. 令f ′(x )=0,得x =e.当x 变化时,f ′(x )与f (x )的变化情况如下表:x (0,e) e (e ,+∞)f ′(x ) + 0 - f (x )↗1e↘因此,x =e 是函数f (x )的极大值点,极大值为f (e)=1e ,函数f (x )没有极小值点.其图象如图.∴当0<a <1e 时,ln xx =a 有两个不同的根;当a =1e 或a ≤0时,ln xx =a 只有一个根;当a >1e 时,ln x x=a 没有实数根.利用导数求函数零点的个数1利用导数可以判断函数的单调性; 2研究函数的极值情况;3在上述研究的基础上突出函数的大致图象;4直观上判断函数的图象与x 轴的交点或两个图象的交点的个数.若含有参数,则需要讨论极值的正负.1.若函数y =f (x )在区间(a ,b )内有极值,那么y =f (x )在(a ,b )内绝不是单调函数,即在某区间上单调函数没有极值.2.已知函数的极值情况,逆向应用确定函数的解析式,研究函数性质时,需注意两点:(1)常根据极值点处导数为0和极值两个条件列方程组,利用待定系数法求解.(2)因为函数在一点的导数值等于零不是此点为极值点的充要条件,所以利用待定系数法求解后必须验证极值点的合理性.3.已知函数零点(方程根)的个数,求参数取值范围的三种常用的方法:(1)直接法,直接根据题设条件构建关于参数的不等式,再通过解不等式确定参数范围;(2)分离参数法,先将参数分离,转化成求函数值域问题加以解决;(3)数形结合法,先对解析式变形,在同一平面直角坐标系中,画出函数的图象,然后数形结合求解.一是转化为两个函数y=g(x),y=h(x)的图象的交点个数问题,画出两个函数的图象其交点的个数就是函数零点的个数,二是转化为y=a,y=g(x)的图象的交点个数问题.1.函数f (x)的定义域为R,它的导函数y=f ′(x)的部分图象如图所示,则下面结论错误的是( )A.在(1,2)上函数f (x)为增函数B.在(3,4)上函数f (x)为减函数C.在(1,3)上函数f (x)有极大值D.x=3是函数f (x)在区间[1,5]上的极小值点D[由题图可知,当1<x<2时,f ′(x)>0,当2<x<4时,f ′(x)<0,当4<x<5时,f ′(x)>0,∴x=2是函数f (x)的极大值点,x=4是函数f (x)的极小值点,故A,B,C正确,D 错误.]2.设函数f (x)=x e x,则( )A.x=1为f (x)的极大值点B.x=1为f (x)的极小值点C.x=-1为f (x)的极大值点D.x=-1为f (x)的极小值点D [令f ′(x )=e x +x ·e x =(1+x )e x =0,得x =-1.当x <-1时,f ′(x )<0;当x >-1时,f ′(x )>0.故当x =-1时,f (x )取得极小值.]3.已知函数f (x )=x 3+3ax 2+3(a +2)x +1既有极大值又有极小值,则实数a 的取值范围是________.(-∞,-1)∪(2,+∞) [f ′(x )=3x 2+6ax +3(a +2),∵函数f (x )既有极大值又有极小值,∴方程f ′(x )=0有两个不相等的实根,∴Δ=36a 2-36(a +2)>0,即a 2-a -2>0,解得a >2或a <-1.]4.已知函数f (x )=2e f ′(e)ln x -x e,则函数f (x )的极大值为________. 2ln 2 [f ′(x )=2e f ′e x -1e ,故f ′(e)=2e f ′e e -1e, 解得f ′(e)=1e ,所以f (x )=2ln x -x e ,f ′(x )=2x -1e. 由f ′(x )>0得0<x <2e ,f ′(x )<0得x >2e.所以函数f (x )在(0,2e)单调递增,在(2e ,+∞)单调递减,故f (x )的极大值为f (2e)=2ln 2e -2=2ln 2.]。
第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
第 5 章 基本解和格林函数法
(a)
则必满足
Δ 2U x x0 , y y0 , z z0
设未知函数表达式为
U Ar
其中A为待定系数。将表达式代入方程 a ,可得
1 A 8
于是,最后得到三维双调和方程的基本解
U M ; M 0 rMM 0 8π
例 3 二维调和方程的基本解
二维调和方程基本解满足泛定的泊松方程
1 z z0 z z0 3 3 4π r MM 0 r MM1 z 0
z0 1 2π x x 2 y y 2 z 2 0 0 0
32
将其代入解的积分公式可得
GM;M 0 u M 0 M dS n z 0
(6)
边界曲线弧长与坐标之间,有如下微分关系
dy n1ds, dx n2ds
由公式(6)可导出,平面第二格林公式
(7)
u v uΔv-vΔu d u v ds n n D C
其中n为边界曲线C的外法线向量。
(8)
5.2 基本解
定义 设L为线性微分算子,称方程 LU=δ(M-M0)
所以
1 B 4π
最后得三维调和方程的基本解
U 3 M ; M 0 1 4πrMM 0
例 2 三维双调和方程的基本解
利用调和函数和双调和函数的关系,试求三 维双调和方程
Δ U 0
2
的基本解。
解
以固定点M0为原点,建立球坐标,并假设U与θ,φ无关。 若U满足
1 d 2 dU 1 Δ U 2 r r dr dr 4πr
的解U(M;M0)为方程
LU=0 的基本解,其中M为无界区域Ω内任意 一点,M0为Ω中的任意一个固定点。
5 第五章 C51函数
(2)函数表达式。函数被放在一个表达式中,以一个运算对象的方 式出现。这时的被调用函数要求带有返回语句,以返回一个明确的数 值参加表达式的运算。 (3)函数参数。被调用函数作为另一个函数的参数。 二.自定义函数的声明 在C51中,函数原型一般形式如下: [extern] 函数类型 函数名(形式参数表); 函数的声明是把函数的名字、函数类型以及形参的类型、个数和 顺序通知编译系统,以便调用函数时系统进行对照检查。函数的声 明后面要加分号。 如果声明的函数在文件内部,则声明时不用extern,如果声明 的函数不在文件内部,而在另一个文件中,声明时须带extern, 指明使用的函数在另一个文件中。
【例5-1】定义一个返回两个整数的最大值的函数max( )。 int max(int x,int y) { int z; z=x>y?x:y; return(z); } 也可以用成这样: int max(x,y) int x,y; { int z; z=x>y?x:y; return(z); }
第五章三角函数+章末总结课件-2025届高三数学一轮复习
此时,只需满足
x轴 =
π
+k4 π−φ
2
ω
π
4
− x轴 ≥
x轴 ≥
π
,
6
π
x轴 − ,
9
π π
即可使得( , )是f
9 6
x 的一个单调区间,将
=
π
2
(【抓关键】由ωx轴 + φ = + k 4 π ,k 4 ∈ 可得)
π
π k3 π
+k
π−
+ 2
4
2
4
ω
,k 3 ,k 4 ∈
18+36k
代入上述不等式组,解得
≤ ωπ − <
7π
,解得2
3
8
3
8
3
≤ ω < ,故ω ∈ [2, ).
kπ
2
> 0,
π
3
例14 (2024·安徽省六校教育研究会测试)已知函数f x = cos(ωx − ) −
区间[0, π]上恰有三个零点,则ω
[, )
的取值范围是______.
π
3
π
3
1
2
ω>0 在
π
3
【解析】令t = ωx − ,因为x ∈ [0, π],所以t ∈ [− , ωπ − ],于是
T,n
4
2n−1 2π
⋅ ,n
4
ω
π π
又( , )是f
9 6
x
= k1 + k 2 ),k 3 ∈ ,
∈ + ,
∈ + ,化简得ω = 2n − 1,n ∈ + .
四川大学《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章 一次函数-八年级数学上册教学课件(浙教版)
解: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型挖掘机的售
离散数学第五章 函数与基数
24
2010-11-3
定 义 5.3.1 f 函数。 定 理 5.3.5
设 f:A→B 是 双 射 函 数 , 称
-1:B→A是f的逆函数,习惯上常称f-1 为f的反
设 f:A→B 是 双 射 函 数 , 则
f -1 ° f=IA,f ° f-1=IB 定理5.3.6 若f:A→B是双射,则(f-1)-1=f。
25
2010-11-3
5.4
基
数
1.基数定义 首 先 选 取 一 个 “ 标 准 数的定义如下:
26
2010-11-3
定义5.4.1 设A是集合,若f:Nn→A为双射函 数,则称集合A是有限集,A的基数是n,记为 |A|=n,或card A=n。若集合A不是有限的,则 称A是无限集。 本定义表明了,对于有限集合A,可以用 “数”数的方式来确定集合A的基数。 定理5.4.1 自然数集合N是无限集。 为了确定某些无穷集合的基数,选取第二 个“标准集合”N来度量这些集合。
3
2010-11-3
从本定义可以看出,从A到B的函数f和一 般从A到B的二元关系之不同有以下两点: ① A的每一元素都必须是f的有序对的第一 分量。 ② 若f(x)=y,则函数F在x处的值是唯一的, 即 f(x)=y∧f(x)=z⇒y=z
4
2010-11-3
定义5.1.2 设f:A→B,g:C→D,若A=C, B=D,且对每一x∈A都有f(x)=g(x),则称函数f 和g相等,记为f=g。 本定义表明了,两函数相等,它们必须有 相同的定义域、陪域和有序对集合。
1
2010-11-3
5.1 函数基本概念
函数也常称为映射或变换,其定义如下: 定义5.1.1 设A和B是任意两个集合,且f 是从A到B的关系,若对每一个x∈A,都存在唯 一的y∈B,使‹x,y›∈f,则称f为从A到B的函数, 并 记 作 f:A→B 。 A 称 为 函 数 f 的 定 义 域 , 即 D(f)=A,B称为函数f的陪域,R(f)称为函数f的 值域,且R(f)⊆B。有时也用f(A)表示函数f的值 域,即
课件(第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}定 义为
第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) 如果调用的是用户自己定义的函数,且该函数与主调函数在同一个文件 中,应在主调函数中对被调用函数进行函数声明。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第六章函数一、选择题:1. 答案:B分析:在C语言中,函数可以在程序的任何位置,而main函数作为函数中的一类,没有特殊的限制和要求,也可以在任何地方出现。
程序在执行的过程中总是从主函数开始执行,同时也是在主函数结束程序。
2. 答案:B分析:函数的定义的格式为:返回值类型函数名(形式参数列表){ 函数体}如果省略函数的返回值类型,则默认返回的是整型、而不是void类型。
3.答案:D分析:函数在传递值的过程中,将实参传递给对应的形参,在传递的过程中要求实参和形参的数据类型一致。
void fun(char ch,float x) { 函数体},第一个参数为字符型变量,第二个参数为实型变量。
并且该函数的返回值类型为void 即没有返回值,故不能将该调用该函数的表达式赋值给变量。
故B答案出错,A 答案中的第一个实参为字符串,不是字符变量,故不正确。
C答案中的第一个参数为不合法的字符。
备注:字符只能是一对单引号括起的一个字符。
D答案中的两个实参的类型为整数,即在传递的过程中是将整数转换成对应的字符后再传递给形参ch,第二个参数得到的值为32.0000000.4 答案:A分析:该题中计算的是数学表达式的值,那么数学表达式在计算的结果不为0 。
A答案中的运算符有:小括号运算符,乘法运算,除法运算,先计算运算级别高的,再计算运算级别低的,先计算括号中的值,表达式1/2的值为0.不为0.5,与其他的选项的sin函数中的值不一样,所以选择答案A。
5 答案:D分析:函数的形参只能是变量和数组,不能使常量,函数的调用返回的是一个确切的数据值,故不能作为函数的形参。
6 答案:Dfun(int a,int b){ if(a>b) return a;else return b;}fun函数的功能是找出形参a和b中的较大的值,并且作为函数值返回。
fun(fun(x,y),2*z),先计算括号中的函数的值:fun(x,y),返回的值为x,y中较大的值为8,再执行fun(8,12),返回8,12这两个数中较大的值即为:12.7答案:C条件运算符:表达式1?表达式2:表达式3当表达式1的值为真值时,表达式2的值为整个表达式的值,当表达式1的值为假值时,整个表达式的值为表达式3的值。
分析:int f1(int x,int y)的作用是返回x、y中较大的值,int f2(int x,int y)的作用是返回x、y中较小的。
d=f1(a,b)=f1(4,3)=4,d=f1(d,c)=f1(4,5)=5,e=f2(a,b)=f2(4,3)=3,e=f2(e,c)=f2(3,5)=3此时各值为a=4,b=3,c=5,d=5,e=3,f=a+b+c-d-e=4。
所以答案d, f , e为5, 4, 3。
8 、答案:A分析:c程序的基本单位是函数。
函数中不可以嵌套定义函数。
main()函数可以放在任意位置。
被调用的函数只要在调用之前说明了即可。
所以A答案正确。
9、答案:B分析:fun函数的作用是返回x、y的和,返回值的类型为实型,即小数,所以在发挥数据的时候是带有小数点的数据。
fun(a+c,b)=a+c+b=15.000000,(int) fun(a+c,b)=(int)15.000000=15。
fun((int) fun(a+c,b),a-c)=fun(15,-6)=9.000000。
但是在最后输出数据的时候输出的结果中%3.0f。
即输出的数据小数点后面的位数为0.即小数点后面没有小数,即输出的最终结果为9.故选B。
10、答案:D分析:fun(x,y)的作用是选择x,y里面较小的一个并作为函数值返回。
fun(a,b)=fun(‘9’,‘8’)=‘8’,fun(b,c)=fun(‘8’,‘7’)=‘7’;fun (fun(a,b),fun(b,c))=fun(‘8’,‘7’)=‘7’,故选D。
11、答案:C该程序中fun1函数返回的值为形参a的平方,并且是以整数的形式返回。
Fun2函数返回的值为(int)(a+b)的值,w=fun2(1.1,2.0),即在fun2函数中a=fun1(x)的值为1.1*1.1=1.21,函数返回的值为整数,所以a得到的值为1.000000,fun1(y)得到的值为2.0*2.0=4.00000,即b得到的值为4.000000,最后的(int)(a+b)的值为5,返回值后将5的值赋值给变量w,w为double类型的数据,所以w得到的值为:5.000000。
故选答案C。
12、答案:A函数的说明的格式为:函数的返回类型函数名(类型名参数名,类型名参数名…);其中的参数名可以省略,但是类型名不能够省略,即格式可以改变为:函数的返回类型函数名(类型名,类型名…);这是一个语句,所以必须在函数的说明的后面加上一个分号。
分号不能缺少。
选项A中的省略了变量b的类型,即省略了类型名,故不正确。
13、答案:C分析:允许这种函数说明的方式存在。
如果只在主函数中说明,则只能在主函数中调用f;如果在主函数以前说明,则包括主函数以及后面的所有函数都可以调用,如果同时主函数又说明了,则不影响。
14、答案:D分析:函数的参数在传递过程中是将是实参的值传递给对应的形参,而不能将形参的值传递给对应的实参。
故D答案是错误的。
A答案中C语言程序必须由一个或者是多个函数组成,其中主函数的个数只能是一个。
故正确。
B答案函数调用可以作为单独的一个语句存在,只要在调用函数的后面加上一个分号就构成了一个调用函数的语句,C答案中如果函数有返回值的话,就必须用return语句返回。
15、答案:D分析:主函数在传递数据时,传递的是变量a、b、c。
这三个变量都为普通变量,该变量在传递数据时由于传递的是普通变量,所以是单向传递,即在fun函数中改变了变量的值,但是在主函数中变量的值没有受到影响,仍然为原来的值,即4,3,5;所以最后输出a、b、c的值,分别为4,3,5.故选D答案。
16、C分析:函数定义的格式为:函数返回值类型函数名(类型名参数1,类型2 参数2,…)其中的函数的返回值类型如果省略,则默认返回的是整型(int)而不是void类型。
所以本题中的答案C错误。
函数之间只能相互的调用而不能是相互的定义。
B答案中函数可以返回地址值—正确,格式为:函数返回值类型*函数名(类型名参数1,类型2 参数2,…)17、A分析:C语言是由函数构成的,一个C语言程序中只能有一个主函数,即一个main函数,程序在执行时总是总主函数开始的,也是在主函数结束的,函数可以出现在任何位置,故A答案正确,B答案中函数执行是从主函数开始执行的,而不是从第一个函数开始的。
故B答案不正确,C答案中不是在最后一个函数结束,D答案中不是从第一个函数开始执行,也不是在最后一个函数结束。
18、A函数返回值类型函数名(类型名参数1,类型2 参数2,…){函数体} 函数的返回值类型决定了函数的最终数据返回类型,而不是数据的实际类型,如:float fun(int a,int b){ return a+b; }a+b的值为整型,但是函数的返回值类型为实型,所以数据的最终返回类型为实型。
即函数的返回值类型最终取决于函数首部的函数的类型。
19、C分析:f函数的功能是:交换两个变量的值,但是变量v和w为普通变量,所以只是在f函数中改变了变量的值,但是在主函数中并没有改变实参的值。
所以变量x、y、z的并没有改变。
所以主函数中x、y、z的值还是原来变量的值,即1,3,2.故选答案C。
20、C将f(3)的值的赋值给变量z,当执行到f函数时将3的值传递给变量x,则x得到的值为3,执行函数中的语句,则x==0||x==1表达式的值为假值,则不返回3值,执行后面的语句y=x*x-f(1) .先执行f(1)函数,则将1的值传递给变量x ,所以变量x得到的值为1,执行后面的语句x==0||x==1表达式的值为真值,返回3值,最后计算y=3*3-3=6,所以最后的答案为6,选择答案C。
21、D函数在传递参数时,是将实参的值传递给形参,形参和实参占有不同的存储单元。
只有传递的是数组、指针、地址时,才占有相同的存储单元。
传递的是变量时,占有的是独立的存储单元。
22、Cfun函数的功能是返回x+y的值。
fun((a++,b++,a+b),c++)。
(a++,b++,a+b)这是一个逗号运算符,a++后变量的值为2,b++后变量的值为3,a+b的值为2+3=5,c++后变量c的值为4,但是表达式的值为3,所以最后执行的函数为fun(5,3),最后的值为5+3=8.所以最后答案为C。
二、填空题:1. 答案:a=1.0,b=1.0,s=1.0;分析:分别求出变量的初始值。
a=a*x为的是求x n ,所以其初始值为1,b=b*i 位的是求n!,所以其初始值为1,当n=0时,s=1,所以s的初始值为1。
由于定义的是double型的数据,所以答案为a=1.0,b=1.0,s=1.0;2. 答案:m=fun(a,4)+fun(b,4)-fun(a+b,3);分析:Fun函数的功能是求出x n。
由程序可以看出fun(x,n)=x n。
fun(a,4)=a4, fun(b,4)=b4,fun(a+b,3)=(a+b)3,当要计算m= a4+ b4-(a+b)3时,将对应的数据带入到格式中即可。
函数调用语句为m= fun(a,4)+ fun(b,4)- fun(a+b,3);3.答案:x x*x+1分析:1)求f(x)的累加和,即为求f(0)+f(1)+ f(2)+ f(3)+ f(4)+……,函数SunFun来实现此功能。
其中的x从0开始一直到n之间,所以当x的值为0时,求的结果为:0*0+1,当x的值为1时,求的结果为:1*1+1…括号中应该填入累加的序号值,即为x。
2)f(x)=x2+1,F(int x)函数来实现这个功能,所以填写x*x+1。
4. 答案:f*(-1) fun(10)分析:1)函数的作用为计算m=1-2+3-4+5-6+7-8+9-10,实际上为计算m=1*1+(-1)*2+1*3+(-1)*4+……+1*9+(-1)*10,在循环体中,i为1,2,3…..,f为1的符号。
每循环一次,f的符号应该变换一下,所以变换的语句为f= f*(-1)。
2)当n=1时,计算的是m=1;当n=2时,计算的是m=1-2……因为计算的是m=1-2+3-4+5-6+7-8+9-10,所以答案为n=10,即fun(10)。
5、答案:9分析:1)函数的意思为返回f(x,y)=(y-x)*x的值。
f(3,4)= (4-3)*3=3f(3,5)=(5-3)*3=62) d=f(3,6)=(6-3)*3=9.6.答案:double max分析:通过程序可以看出,main函数中使用了max函数。