PIC单片机的C语言应用下的函数库(4)

2020-06-08 10:14

数读取。 3. 例 程

#include void

main (void) {

int i;

while(!kbhit()) {

cputs(\;

for(i = 0 ; i != 1000 ; i++) continue; } }

4. 参 阅 getch( ),getche( ) 5. 返回值 如果有键被按下,函数将返回1;否则返回0。此外,返回值为1位。

注意:程序的主体需由用户实现,其主要框架可以从sources目录下直接获得。

26 LDEXP函数

1. 提 要

#include

double ldexp (double f,int i) 2. 描 述 ldexp( )函数是frexp( )的反函数。它先进行浮点数 f 的指数部分与整数 i 的求和运算,然后返回合成结果。 3. 例 程

#include #include void

main (void) {

double f;

f = ldexp(1.0,10);

printf(\,f); }

4. 参 阅 frexp( ) 5. 返回值 本函数返回浮点数 f 指数部分加上整数 i 后得到的新浮点数。

16

27 LDIV函数

1. 提 要

#include

ldiv_t ldiv (long number,long denom) 2. 描 述 ldiv( )函数实现分子除以分母,得到商和余数。商的符号与精确商的符号一致,绝对值是一个小于精确商绝对值的最大整数。 Ldiv( )函数与div( )函数类似;不同点在于,前者的函数参数和返回值(结构体ldiv_t)的成员都是长整型数据。 3.例 程

#include #include void

main (void) {

ldiv_t lt;

lt = ldiv(1234567,12345);

printf(\,remainder = %ld\\n\,lt.quot,lt.rem); }

4.参 阅 div( ) 5.返回值 返回值是结构体ldiv_t。 6.数据结构

typedef struct { long quot; /*商*/ long rem; /*余数*/ } ldiv_t;

28 LOCALTIME函数

1. 提 要

#include

struct tm * localtime (time_t * t) 2. 描 述 本函数把指针t所指的时间分解并且存于结构体中,精确度为秒。其中,t所指的时间必须自1970年1月1日0时0分0秒起,所用的结构体被定义在time.h文件中。localtime( )函数需要考虑全局整型变量time_zone中的内容,因为它包含有本地时区位于格林威治以西的时区数值。由于在MS-DOS环境下无法预先确定这个值,所以,在缺省的条件下,localtime( )函数的返回值将与gmtime( )的相同。 3.例 程

#include

17

#include char * wday[] = {

\,\,\,\, \,\,\}; void

main (void) {

time_t clock; struct tm * tp; time(&clock);

tp = localtime(&clock);

printf(\,wday[tp->tm_wday]); }

4. 参 阅 ctime( ),asctime( ),time( ) 5. 返回值 本函数返回tm结构体型数据。

注意:由于编译器不会提供time( )程序,故它需要由用户给定。详情请参阅time( )函数。6. 数据结构

typedef long time_t; struct tm { int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year; int tm_wday; int tm_yday; int tm_isdst; };

29 LOG、LOG10函数

1. 提 要

#include double log (double f) double log10 (double f) 2. 描 述 log( )函数返回f的自然对数值。log10( )函数返回f以10为底的对数值。 3. 例 程

18

#include #include void

main (void) {

double f;

for(f = 1.0;f <= 10.0;f += 1.0)

printf(\,f,log(f)); }

4. 参 阅 exp( ),pow( ) 5. 返回值 如果函数参数为负,返回值为0。

30 MEMCHR函数

1. 提 要

#include

/* 初级和中级系列单片机 */

const void * memchr (const void * block,int val,size_t length) /* 高级系列单片机*/

void * memchr (const void * block,int val,size_t length) 2. 描 述 memchr( )函数与strchr( )函数在功能上类似;但前者没有在字符串中寻找null(空)中止字符的功能。memchr( )函数实现在一段规定了长度的内存区域中寻找特定的字节。它的函数参数包括指向被寻内存区域的指针、被寻字节的值和被寻内存区域的长度。函数将返回一个指针,该指针指向被寻内存区域中被寻字节首次出现的单元。 3. 例 程

#include #include

unsigned int ary[ ] = {1,5,0x6789,0x23}; void

main (void) {

char * cp;

cp = memchr(ary,0x89,sizeof ary); if(!cp)

printf(\; else

printf(\,cp - (char *)ary); }

4. 参 阅

19

strchr( ) 5. 返回值 函数返回指针。该指针指向被寻内存区域中被寻字节首次出现的单元;否则返回NULL。

31 MEMCMP函数

1. 提 要

#include

int memcmp (const void * s1, const void * s2, size_t n) 2. 描 述 memcmp()函数的功能是比较两块长度为 n 的内存中变量的大小,类似strncmp()函数返回一个有符号数。与strncmp()函数不同的是,memcmp()函数没有空格结束符。ASCII码字符顺序被用来比较;但如果内存块中包含非ASCII码字符,则返回值不确定。测试是否相等总是可靠的。 3. 例 程

#include #include void

main (void) {

int buf[10], cow[10], i; buf[0] = 1; buf[2] = 4; cow[0] = 1; cow[2] = 5; buf[1] = 3; cow[1] = 3;

i = memcmp(buf, cow, 3*sizeof(int)); if(i < 0)

printf(\else if(i > 0)

printf(\else

printf(\} 4. 参 阅

strncpy(), strncmp(), strchr(), memset(), memchr() 5. 返回值 当内存块变量s1分别小于、等于或大于内存块s2变量时, 函数返回值分别为-1,0或1。

20


PIC单片机的C语言应用下的函数库(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:第一章 国际私法的概念

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: