复变函数的定义在形式上与一元实函数一样,只是将自变量和因变量都推广到了复数域.定义1 设D为复平面上的非空集合[1],若有一个确定的法则存在,按照这一法则,对于D 内的每一个复数z =x+iy,都有确定的复数w =u+iv 与之对应,我们称复变数w是z的复变函数,记为w =f(z).其中z称为自变量,w为因变量,集合D称为w = f(z)的定义域,与D 中所有复数z对应的w值的集合G 称为w =f......
2023-10-30
从用户的角度划分,函数有两种,即标准库函数和用户自定义函数。标准库函数是keil Cx51编译器提供的,不需要用户进行自定义,可以直接调用。用户自定义函数则是用户根据自己的需要编写的实现某种特殊功能的函数,它必须先定义之后才能调用。函数定义的一般形式如下:
1.函数类型
函数类型说明了函数返回值的类型。它可以是前面介绍的各种数据类型,用于说明函数最后的return语句送回给被调用处的返回值的类型。如果一个函数没有返回值,函数类型可以不写。在实际处理中,一般把它的类型定义为void。
2.函数名
函数名是用户为自定义函数取的名字,以便调用函数时使用。它的取名规则与变量的命名规则一样。
3.形式参数表
形式参数表用于列举在主调用与被调用函数之间进行数据传递的形式参数。在函数定义时,形式参数的类型必须加以说明,可以在形式参数表的位置说明,也可以在函数名后面、函数体前面进行说明。如果函数没有参数传递,在定义时,形式参数可以没有或用void,但括号不能省略。(www.chuimin.cn)
定义一个返回两个整数最大值的函数max()如下所示:
4.reentrant修饰符
在C51中,这个修饰符用于把函数定义为可重入函数。所谓可重入函数就是允许被递归调用的函数。函数的递归调用是指当一个函数正被调用且尚未返回时,又直接或间接调用函数本身。一般的函数不能做到这样,只有可重入函数才允许递归调用。在C51中,当函数被定义为可重入函数,C51编译器编译时将会为可重入函数生成一个模块栈,通过这个模块栈来完成参数的传递和局部变量的存放。关于可重入函数,应注意以下几点:
1)用reentrant修饰的可重入函数被调用时,实参表内不允许使用bit类型的参数。函数体内也不允许存在任何关于位变量的操作,更不能返回bit类型的值。
2)编译时,系统为可重入函数在内部或外部存储器中建立一个模拟堆栈区,称为重入栈。可重入函数的局部变量及参数被放在重入栈中,使可重入函数可以实现递归调用。
3)在参数的传递上,实际参数可以传递给间接调用的可重入函数。无重入属性的间接调用函数不能包含调用参数,但是可以使用定义的全局变量来进行参数的传递。
有关单片机基础及应用的文章
复变函数的定义在形式上与一元实函数一样,只是将自变量和因变量都推广到了复数域.定义1 设D为复平面上的非空集合[1],若有一个确定的法则存在,按照这一法则,对于D 内的每一个复数z =x+iy,都有确定的复数w =u+iv 与之对应,我们称复变数w是z的复变函数,记为w =f(z).其中z称为自变量,w为因变量,集合D称为w = f(z)的定义域,与D 中所有复数z对应的w值的集合G 称为w =f......
2023-10-30
函数名由用户自定义,后面是空括号,代表没有函数参数,即代表无参函数,注意空括号不可以省略。函数被调用时,主调函数将通过实际参数,简称实参,传递实际的值给这些形参。3)函数定义时没有写明类型标识符,则默认为整型。......
2023-11-04
当二端口网络的输入端口接激励信号后,在输出端口得到一个响应信号,输出端口的响应信号与输入端口的激励信号之比,称为二端口网络的传输函数。 求出图10.8 电路在输出端开路时的电压传输函数。传输函数的幅角φ(ω)表示信号传输前后相位变化的关系,通常称为相频特性。图10.8幅频特性曲线和相频特性曲线RC电路;幅频特性曲线;相频特性曲线检验学习结果10.3.1 图10.8 电路接负载阻抗ZL时,求输入阻抗Zin。......
2023-06-24
所谓函数的调用就是在一个函数体中引用另外一个已经定义了的函数,前者称为主调用函数,后者称为被调用函数。实际参数的作用是将它的值传递给被调用函数中的形式参数。2)函数表达式。这种在调用一个函数的过程中又调用了另一个函数的方式,称为嵌套函数调用,在输出一个函数的值时经常采用这种方法。例如:其中,函数funtion1(i,j)是作为printf()函数的一个实际参数处理的,它也属于嵌套函数调用方式。......
2023-11-17
图5-7变量的存储种类图函数变量按其有效作用范围可以划分为局部变量和全局变量,还可以按变量的存储方式为其划分存储种类。按照默认规则,在函数体内部或复合语句内部定义的变量,如果省略存储种类说明,该变量即为自动变量。另一方面,Cx51编译器能够识别程序中使用频率最高的变量,在可能的情况下,即使程序中并未将该变量定义为寄存器变量,编译器也会自动将其作为寄存器变量来处理。......
2023-11-17
在动态电路的暂态分析中,常引用单位阶跃函数,以便描述电路的激励和响应。单位阶跃函数的波形如图8.11所示。图8.11单位阶跃函数单位阶跃函数既可以表示电压,也可以用来表示电流,它在电路中通常用来表示开关在t=0时刻的动作。对于一个如图8.14所示的矩形脉冲波,我们可以把它看成是由一个ε与一个ε共同组成的,即延时单位阶跃函数的波形图如图8.13所示。......
2023-06-24
若z0为函数f(z)的孤立奇点,则f(z)在z0的某个去心邻域0 <|z-z0|<R内解析.由解析函数积分的闭路变形原理,对于该邻域内任意一条围绕点z0的正向简单闭曲线C,f(z) 沿C的积分取定值,下面利用该积分来定义留数.定义1 设z0(z0 ∞)为函数f(z)的孤立奇点,C为0 <|z-z0|<R内围绕z0的任一条正向简单闭曲线,称积分为f(z)在点z0处的留数(Residue),记作Res......
2023-10-30
宏定义命令为#define。实际使用宏定义时,按一般习惯,通常将宏符号名用大写字母表示,以区别于其他的变量名。在进行宏定义时,可以引用已经定义过的宏符号名,即可以进行层层代换,但最多不能超过8级嵌套。宏符号名的有效范围是从宏定义命令#define开始,直到本源文件结束。通常将宏定义命令#define写在源程序的开头、函数的外面,作为源文件的一部分,从而在整个档范围内有效。需要时可以用命令#undef来终止宏定义的作用域。......
2023-11-17
相关推荐