什么是函数?如何定义函数?

什么是函数?如何定义函数?,第1张

函数是数学中的一种对应关系,是从非空数集A到实数集B的对应。简单地说,甲随着乙变,甲就是乙的函数。精确地说,设X是一个非空集合,Y是非空数集 ,f是个对应法则 , 若对X中的每个x,按对应法则f,使Y中存在唯一的一个元素y与之对应 , 就称对应法则f是X上的一个函数,记作y=f(x),称X为函数f(x)的定义域,集合{y|y=f(x),x∈R}为其值域(值域是Y的子集),x叫做自变量,y叫做因变量,习惯上也说y是x的函数。对应法则和定义域是函数的两个要素。

函数相关概念

自变量,函数一个与他量有关联的变量,这一量中的任何一值都能在他量中找到对应的固定值。 因变量(函数),随着自变量的变化而变化,且自变量取唯一值时,因变量(函数)有且只有唯一一值与其相对应。

几何含义

函数与不等式和方程存在联系(初等函数)。令函数值等于零,从几何角度看,对应的自变量是图像与X轴交点;从代数角度看,对应的自变量是方程的解。另外,把函数的表达式(无表达式的函数除外)中的“=”换成“<”或“ >”,再把“Y”换成其它代数式,函数就变成了不等式,可以求自变量的范围。

int &pVec是C++中的指向int类型指针的引用,就是pVec本身是对函数调用时实参的一个引用,而这个实参的类型是一个指向整形的指针类型,之所以使用引用,是因为要在函数中修改这个指针的内容。(如果只需要修改指针指向的内存单元的内容,只需要用指针类型作为形参就可以)

int &Size 中Size同样是一个引用,是指向int类型的一个引用,目的同样是修改引用的实参的值。

fstream在C++中是一个文件流类型,可以读取也可以写入,fstream&可以传入一个fstream类型的对象,在函数中的目的同样是修改原有实参的内容,引用不会对实参进行拷贝。

至于引用的使用方法与介绍,见:

http://blogcsdnnet/weiqubo/archive/2009/08/10/4431062aspx

如果允许用C++的话,这样就可以:

#include<iostream>

#include<fstream>

#include<vector>

#include<iterator>

#include<algorithm>

using namespace std;

int main(){

fstream file("tasktxt");

vector<int> ivec;

copy(istream_iterator<int>(file), istream_iterator<int>(), back_inserter(ivec));

copy(ivecbegin(), ivecend(), ostream_iterator<int>(cout, "\n"));

return 0;

}

上面这个程序的目的就是读入tasktxt的所有内容,然后每行一个数字的输出。

你要的数组的首地址可以通过&ivec[0]获取,其长度就是ivecsize()

一次函数的话,就是直线,表达式为y=kx+b 这里有个窍门,k 大于0 ,就是从左到右往上的。反之,就是从左到右往下的。 b 大于0 ,直线与y轴交点 在x轴上方。反之,在x轴下方。 二次函数其实不用一个描点,找到对称轴就行了。然后大致地画个图,我学这么多年在做题时从来不会一个个描点找,这样不仅浪费时间还没必要。 表达式 y=ax2 + bx +c a大于零,函数开口朝上。 b 不好说,如果顶点在y轴上,那么就没有b c 就是与y轴交点的纵坐标 如果经过原点就没有c 好了,只能帮你到这里的。数学没有窍门。 PS:增减根据 k 来判断。如果k 大于0 就是增的。 如果二次函数的话,要说在每个象限内,是不同的。 反比例函数看K,如果K大于零 在一三象限。

函数定义的一般形式

1 无参函数的定义形式

类型标识符 函数名()

{声明部分

语句

}

其中类型标识符和函数名称为函数头。类型标识符指明了本函数的类型,函数的类型实际上是函数返回值的类型。 该类型标识符与前面介绍的各种说明符相同。函数名是由用户定义的标识符,函数名后有一个空括号,其中无参数,但括号不可少。

{}中的内容称为函数体。在函数体中声明部分,是对函数体内部所用到的变量的类型说明。

在很多情况下都不要求无参函数有返回值,此时函数类型符可以写为void。

我们可以改写一个函数定义:

void Hello()

{

printf ("Hello,world \n");

}

这里,只把main改为Hello作为函数名,其余不变。Hello函数是一个无参函数,当被其它函数调用时,输出Hello world字符串。

2 有参函数定义的一般形式

类型标识符 函数名(形式参数表列)

{声明部分

语句

}

有参函数比无参函数多了一个内容,即形式参数表列。在形参表中给出的参数称为形式参数,它们可以是各种类型的变量,各参数之间用逗号间隔。在进行函数调用时,主调函数将赋予这些形式参数实际的值。形参既然是变量,必须在形参表中给出形参的类型说明。

例如,定义一个函数,用于求两个数中的大数,可写为:

int max(int a, int b)

{

if (a>b) return a;

else return b;

}

第一行说明max函数是一个整型函数,其返回的函数值是一个整数。形参为a,b,均为整型量。a,b的具体值是由主调函数在调用时传送过来的。在{}中的函数体内,除形参外没有使用其它变量,因此只有语句而没有声明部分。在max函数体中的return语句是把a(或b)的值作为函数的值返回给主调函数。有返回值函数中至少应有一个return语句。

在C程序中,一个函数的定义可以放在任意位置,既可放在主函数main之前,也可放在main之后。

例如:

可把max 函数置在main之后,也可以把它放在main之前。修改后的程序如下所示。

例81

int max(int a,int b)

{

if(a>b)return a;

else return b;

}

main()

{

int max(int a,int b);

int x,y,z;

printf("input two numbers:\n");

scanf("%d%d",&x,&y);

z=max(x,y);

printf("maxmum=%d",z);

}

现在我们可以从函数定义、函数说明及函数调用的角度来分析整个程序,从中进一步了解函数的各种特点。

程序的第1行至第5行为max函数定义。进入主函数后,因为准备调用max函数,故先对max函数进行说明(程序第8行)。函数定义和函数说明并不是一回事,在后面还要专门讨论。 可以看出函数说明与函数定义中的函数头部分相同,但是末尾要加分号。程序第12 行为调用max函数,并把x, y中的值传送给max的形参a, b。max函数执行的结果(a或b)将返回给变量z。最后由主函数输出z的值。

83 函数的参数和函数的值

831 形式参数和实际参数

前面已经介绍过,函数的参数分为形参和实参两种。在本小节中,进一步介绍形参、实参的特点和两者的关系。形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不能使用。形参和实参的功能是作数据传送。发生函数调用时,主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送。

函数的形参和实参具有以下特点:

1 形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。

2 实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使实参获得确定值。

3 实参和形参在数量上,类型上,顺序上应严格一致,否则会发生类型不匹配”的错误。

4 函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。 因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。

例82可以说明这个问题。

main()

{

int n;

printf("input number\n");

scanf("%d",&n);

s(n);

printf("n=%d\n",n);

}

int s(int n)

{

int i;

for(i=n-1;i>=1;i--)

n=n+i;

printf("n=%d\n",n);

}

本程序中定义了一个函数s,该函数的功能是求∑ni的值。在主函数中输入n值,并作为实参,在调用时传送给s 函数的形参量n( 注意,本例的形参变量和实参变量的标识符都为n,但这是两个不同的量,各自的作用域不同)。在主函数中用printf 语句输出一次n值,这个n值是实参n的值。在函数s中也用printf 语句输出了一次n值,这个n值是形参最后取得的n值0。从运行情况看,输入n值为100。即实参n的值为100。把此值传给函数s时,形参n的初值也为100,在执行函数过程中,形参n的值变为5050。返回主函数之后,输出实参n的值仍为100。可见实参的值不随形参的变化而变化。

  Excel 中经常需要使用到锁定函数的技巧,锁定函数具体需要怎么 *** 作呢?不知道的同学可以看看以下教程,或许对你学习锁定函数的技巧有帮助!

 excel函数锁定的 方法

 锁定函数步骤1:在“开始”菜单栏里,找到“查找和选择”并点击,在下拉菜单中点击“定位条件”。或者直接使用快捷键“CTRL+G”可快速定位。

 锁定函数步骤2:d出来 “定位 ”对话框,点击“定位条件”。

 锁定函数步骤3:d出来 “定位条件 ”对话框,点选“公式”,点击“确定”完成定位条件设置。

 锁定函数步骤4:再在选中的单元格区域上右击,在d出的右键菜单中选择“设置单元格格式”。在d出来的“设置单元格格式”对话框中,将“保护”项下的“锁定”和“隐藏”前都打上勾。点击“确定”。

 锁定函数步骤5:然后在菜单栏里点击“审阅”→“保护工作表”。

 锁定函数步骤6:d出来“保护工作表”对话框,在“选定锁定单元格”和“选定未锁定的单元格”前都打上勾。同时根据自己需要设置“取消工作表保护时使用的密码”,也可以选择不设置密码。最后点击“确定”。

 锁定函数步骤7:这样再在单元格输入数据时,会d出来一个“Microsoft Office Excel”的对话框,提示该工作表受保护而不能修改。

Excel最常用的公式运算技巧

 一、查找重复内容公式:=IF(COUNTIF(A:AA2)>1”重复””")。

 二、用出生年月来计算年龄公式:=TRUNC((DAYS360(H6”2009/8/30″FALSE))/3600)。

 三、从输入的18位身份z号的出生年月计算公式:=CONCATENATE(MID(E274)”/”MID(E2112)”/”MID(E2132))。

 四、从输入的身份z号码内让系统自动提取性别,可以输入以下公式:=IF(LEN(C2)=15IF(MOD(MID(C2151)2)=1”男””女”)IF(MOD(MID(C2171)2)=1”男””女”))公式内的“C2”代表的是输入身份z号码的单元格。

 五、求和: =SUM(K2:K56) ——对K2到K56这一区域进行求和;

 六、平均数: =AVERAGE(K2:K56) ——对K2 K56这一区域求平均数;

 七、排名: =RANK(K2,K$2:K$56) ——对55名学生的成绩进行排名;

 八、等级: =IF(K2>=85”优”IF(K2>=74”良”IF(K2>=60”及格””不及格”)))

 九、学期总评: =K203+M203+N204 ——假设K列、M列和N列分别存放着学生的“平时总评”、“期中”、“期末”三项成绩;

 十、最高分: =MAX(K2:K56) ——求K2到K56区域(55名学生)的最高分;

1 Excel中各类函数使用教程

2 怎样用excel函数固定一个数据

3 excel匹配函数的使用教程

4 Excel中进行设置函数的 *** 作技巧

5 excel使用函数公式的 *** 作步骤

6 Excel中isna函数的使用方法

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12185435.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存