[计算机]C51内部函数等
- 格式:ppt
- 大小:467.52 KB
- 文档页数:14
![[计算机]C51内部函数等](https://imgs-1438308264.cos.ap-hongkong.myqcloud.com/df07713776c66137ef061929.webp)
![[计算机]C51内部函数等](https://imgs-1438308264.cos.ap-hongkong.myqcloud.com/df07713776c66137ef061929.webp)
_chkfloat_:函数定义:unsigned char _chkfloat_ ( float val); /* number to check */函数功能:_chkfloat_函数检查浮点数val 的类型。
返回值:_chkfloat_函数返回浮点数val 的类型。
返回值意义0 标准浮点数1 浮点02 +INF 正溢出3 -INF 负溢出4 NaN 非数函数测试:#include <reg51.h>#include <intrins.h>/*本实验测试本征库中的_chkfloat_函数函数定义:unsigned char _chkfloat_(float val);返回值:Return Value Meaning0 Standard floating-point number.1 Floating-point value 0.2 +INF (positive overflow).3 -INF (negative overflow).4 NaN (Not a Number) error status.用P1指示返回值*/unsigned char f[4]={0xff,0xff,0xff,0xff};void delay(unsigned int time){while(time--);}void main(){P2=~_chkfloat_(1.2455); //Standard floating-point number.delay(50000);P2=~_chkfloat_(0.00); //Floating-point value 0.delay(50000);P2=~_chkfloat_(1000000000000000000000000000000000000000000000000000000000000000.0000 000000); //+INF (positive overflow).delay(50000);P2=~_chkfloat_(-1000000000000000000000000000000000000000000000000000000000000000.000 0000000); //-INF (negative overflow).delay(50000);P2=~_chkfloat_(*((float *)f)); //NaN (Not a Number) error status.while(1);_crol_:函数定义:unsigned char _crol_ ( unsigned char c, /* character to rotate left */unsigned char b); /* bit positions to rotate */ 函数功能:_crol_函数将一个字节c循环左移b位。
第十四课 C51函数上一篇的最后一个例子中有用到函数,其实一直出现在例子中的main()也算是一个函数,只不过它比较特殊,编译时以它做为程序的开始段。
有了函数 C 语言就有了模块化的优点,一般功能较多的程序,会在编写程序时把每项单独的功能分成数个子程序模块,每个子程序就能用函数来实现。
函数还能被反复的调用,因此一些常用的函数能做成函数库以供在编写程序时直接调用,从而更好的实现模块化的设计,大大提高编程工作的效率。
一.函数定义通常 C 语言的编译器会自带标准的函数库,这些都是一些常用的函数,Keil uv 中也不例外。
标准函数已由编译器软件商编写定义,使用者直接调用就能了,而无需定义。
但是标准的函数不足以满足使用者的特殊要求,因此 C 语言允许使用者根据需要编写特定功能的函数,要调用它必须要先对其进行定义。
定义的模式如下:函数类型函数名称(形式参数表){函数体}函数类型是说明所定义函数返回值的类型。
返回值其实就是一个变量,只要按变量类型来定义函数类型就行了。
如函数不需要返回值函数类型能写作“void”表示该函数没有返回值。
注意的是函数体返回值的类型一定要和函数类型一致,不然会造成错误。
函数名称的定义在遵循 C 语言变量命名规则的同时,不能在同一程序中定义同名的函数这将会造成编译错误(同一程序中是允许有同名变量的,因为变量有全局和局部变量之分)。
形式参数是指调用函数时要传入到函数体内参与运算的变量,它能有一个、几个或没有,当不需要形式参数也就是无参函数,括号内能为空或写入“void”表示,但括号不能少。
函数体中能包含有局部变量的定义和程序语句,如函数要返回运算值则要使用 return 语句进行返回。
在函数的{}号中也能什么也不写,这就成了空函数,在一个程序项目中能写一些空函数,在以后的修改和升级中能方便的在这些空函数中进行功能扩充。
二.函数的调用函数定义好以后,要被其它函数调用了才能被执行。
C 语言的函数是能相互调用的,但在调用函数前,必须对函数的类型进行说明,就算是标准库函数也不例外。
Keil c51函数参考一、数学函数〈math.h >(1)cabs原型:char cabs(char val);功能:cabs函数取val的绝对值。
参数:一字节数val.返回:cabs返回val的绝对值。
(2)abs原型:Int abs(int val);功能:求绝对值参数:val整型数返回:val的绝对值(3)labs原型:long labs(long val);功能:labs函数确定长整数val的绝对值.返回:val的绝对值。
(4)fabs原型:float fabs(float val);功能:fabs函数确定浮点数val的绝对值.参数:返回:fabs返回val的绝对值。
(5)sqrt原型:float sprt(float x);功能:sqrt函数计算x的平方根。
返回:sqrt函数返回x的正平方根。
(6)exp原型:float exp(float x);功能:exp函数计算自然对数中e的x次幂。
e≈2。
71828182845953581496,是无限循环小数。
返回:e x的值.(7)log原型:float log(float val);功能:log函数计算浮点数val的自然对数。
自然对数基数为e。
返回:val的浮点自然对数。
(8)log10原型:float log10(float val);功能:logl0函数计算浮点数val的常用对数.常用对数为基数10。
返回:val的浮点常用对数。
(9)sin参数:x必须在—65535~65535之间,或产生一个NaN错误。
返回:sin函数返回x的正弦.(10)cos原型:float cos(float x);功能:COS函数计算浮点数X的余弦.参数:X的值必须在-65535~65535之间,或产生一个NaN错误。
返回:COS函数返回X的余弦。
(11)tan原型:float tan(float x);功能:tan函数计算浮点数x的正切值.参数:x必须在—65535~65535之间,或错误值NaN.返回:tan函数返回x的正切。