PICC库函数 下载本文

内容发布更新时间 : 2024/4/19 6:56:22星期一 下面是文章的全部内容请认真阅读。

QQ172082520

第3章 PICC库函数

本章将详细列出PICC编译器的库函数。每个函数均从函数名开始,然后按照以下几个标题给出详细解释。

提要:函数的C语言定义以及定义函数的头文件。 描述:对函数及其目的进行叙述性描述。 例程:给出一个能说明该函数的应用例子。

数据类型:列出函数中使用的一些特殊的数据类型(如结构体等)的C语言定义。这些数据类型的定义包含在提要标题下列出的头文件中。 参阅:给出相关联的函数。 返回值: 如果函数有返回值,则在本标题下将给出返回值的类型和性质,同时还包括错误返回的信息。

3.1 ABS函数

1. 提 要 #include int abs (int j) 2. 描 述 abs( )函数返回变量j的绝对值。 3. 例 程 #include #include void

main (void) {

int a = -5;

printf(\,a,abs(a)); }

4. 返回值 j的绝对值。

3.2 ACOS函数

1. 提 要

#include double acos (double f) 2. 描 述 acos( )函数是cos( ) 的反函数。函数参数在[-1,1]区间内,返回值是一个用弧度表示的角度,而且该返回值的余弦值等于函数参数。 3. 例 程

#include

40

QQ172082520

#include

/*以度为单位,打印[-1,1]区间内的反余弦值*/ void

main (void) {

float i,a;

for(i = -1.0,i < 1.0;i += 0.1) { a = acos(i)*180.0/3.141592;

printf(\,i,a); } }

4.参 阅 sin( ),cos( ),tan( ),asin( ),atan( ),atan2( ) 5.返回值 返回值是一个用弧度表示的角度,区间是[0,π]。如果函数参数超出区间[-1,1],则返回值将为0。

3.3 ASCTIME函数

1. 提 要 #include

char * asctime (struct tm * t) 2. 描 述

asctime( )函数通过指针 t 从上struct tm结构体中获得时间,返回描述当前日期和时间的26个字符串,其格式如下:

Sun Sep 16 01:03:52 1973\\n\\0

值得注意的是,在字符串的末尾有换行符。字符串中的每个字长是固定的。以下例程得到当前时间,通过localtime( )函数将其转换成一个struct tm指针,最后转换成ASCII码并打印出来。其中,time( )函数需要用户提供(详情请参阅time( )函数)。 3. 例 程

#include #include void

main (void) {

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

tp = localtime(&clock); printf(\,asctime(tp)); }

41

QQ172082520

4. 参 阅 ctime( ),gmtime( ),localtime( ),time( ) 5. 返回值 指向字符串的指针。

注意:由于编译器不提供time( )例行程序,故在本例程中它需要由用户提供。详情请参照time( )函数。

6. 数据类型 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; };

3.4 ASIN函数

1. 提 要 #include double asin (double f) 2. 描 述 asin( )函数是sin( )的反函数。它的函数参数在[-1,1]区间内,返回一个用弧度表示的角度值,而且这个返回值的正弦等于函数参数。 3. 例 程

#include #include void

main (void) {

float i,a;

for(i = -1.0;i < 1.0 ;i += 0.1) { a = asin(i)*180.0/3.141592;

printf(\,i,a); } }

4. 参 阅 sin( ),cos( ),tan( ),acos( ),atan( ),atan2( )

42

QQ172082520

5. 返回值 本函数返回一个用弧度表示的角度值,其区间为[-π/2,π/2]。如果函数参数的值超出区间[-1,1],则函数返回值将为0。?

3.5 ATAN函数

1. 提 要 #include double atan (double x) 2. 描 述 函数返回参数的反正切值。也就是说,本函数将返回一个在区间[-π/2,π/2]的角度e,而且有tan(e)=x(x为函数参数)。 3. 例 程 #include #include void

main (void) {

printf(\,atan(1.5)); }

4. 参 阅 sin( ),cos( ),tan( ),asin( ),acos( ),atan2( ) 5. 返回值 返回函数参数的反正切值。

3.6 ATAN2函数

1. 提 要 #include

double atan2 (double y,double x) 2. 描 述 本函数返回y/x的反正切值,并由两个函数参数的符号来决定返回值的象限。 3. 例 程 #include #include void

main (void) {

printf(\,atan2(1.5,1)); }

4. 参 阅 sin( ),cos( ),tan( ),asin( ),acos( ),atan( )

43

QQ172082520

5. 返回值 返回y/x的反正切值(用弧度表示),区间为[-π,π]。如果y和x均为0,将出现定义域错误,并返回0。

3.7 ATOF函数

1. 提 要 #include double atof (const char * s) 2. 描 述 atof( )函数将扫描由函数参数传递过来的字符串,并跳过字符串开头的空格。然后将一个数的ASCII表达式转换成双精度数。这个数可以用十进制数、浮点数或者科学记数法表示。 3. 例 程

#include #include void

main (void) {

char buf[80]; double i; gets(buf); i = atof(buf);

printf(\,buf,i); }

4. 参 阅 atoi( ),atol( ) 5. 返回值 本函数返回一个双精度浮点数。如果字符串中没有发现任何数字,则返回0.0。

3.8 ATOI函数

1. 提 要 #include int atoi (const char * s) 2. 描 述 atoi( )函数扫描传递过来的字符串,跳过开头的空格并读取其符号;然后将一个十进制数的ASCII表达式转换成整数。 3. 例 程 #include #include void

44