文档库 最新最全的文档下载
当前位置:文档库 › 各种库函数说明

各种库函数说明

各种库函数说明
各种库函数说明

目录

一、各种库函数说明 (2)

C语言接口函数库 (2)

a. 通用函数库 (2)

b. AT24C01A/24C02/24C04/24C08/24C16/24C64

函数库 (9)

c. AT45D041函数库 (11)

d. AT88SC102函数库 (12)

e. AT88SC1604函数库 (17)

f. SLE4428函数库 (24)

g. SLE4442函数库 (28)

i. 函数错误类型代码 (31)

i. IC卡类型代码(chk_card 返回) (32)

j. 自动卡型测试举例 (32)

TEL: 82944251

FAX:82944252

一、各种库函数说明

C语言接口函数库

包括: a. 通用函数库

b. A T24C01/24C02/24C04/24C08/24C16/24C64函数库

c. AT45D041函数库

d. A T88SC102函数库

e. SLE4418/4428函数库

f. SLE4432/4442函数库

g.函数错误类型代码

a. 通用函数库

(1) int ic_init(int port,long baud)

说明:初始化通讯接口

调用:port:通讯口号0、1、2、3代表串口1、2、3、4;

并口为其I/O地址,如0x378。

Baud:通讯口为串口时代表波特率,其值为9600。

通讯口为并口时其值为0或1,分别代表半字节和全字节通

讯方式。

返回:<0 错误

>0 通讯设备标识符

举例:icdev=ic_init(0,9600);

初始化通讯口为串口1, 波特率为9600

icdev=ic_init(0x378,0);

初始化通讯口为并口, 半字节通讯方式。

(2) int auto_init(int port, long baud)

说明:自动初始化通讯接口

返回:同ic_init

注意:auto_init函数能自动测试波特率,并自动设置成当前的串形拨特率。

(3) int set_baud(int icdev,long baud)

说明:设置串行方式下的波特率,设置完毕,必须重新初试化通讯口。调用:icdev : 通讯设备标识符

baud: 波特率9600---57600

举例:set_baud(icdev, 28800)

设置波特率为28800

(4) long chk_baud(int port)

说明:自动检测波特率

调用:Port: 通讯口0,1 代表串口1,2,

返回:<0 错误

>=0 正确。返回串行波特率的值

(5) int ic_exit(int icdev)

说明:关闭通讯口

调用:icdev:通讯设备标识符

返回:<0 错误

=0 正确

举例:st=ic_exit(icdev);

(6)int get_status(int icdev,int*state)

说明:返回设备当前状况

调用:icdev:通讯设备标识符

state:插卡状态

返回:<0 错误

=0 正确,state=1读写器插有卡;

state=0读写器插无卡

举例:int status;

int= get_status(icdev,&status);

(7) int auto_pull (int icdev )

说明:自动弹卡

调用:icdev:通讯设备标识符

返回:<0 错误

=0 正确,

举例:st= auto_pull (icdev);

(8)int turn_on(int icdev)

说明:对卡上电

调用:icdev:通讯设备标识符

返回:<0 错误

=0 正确,

举例:st= turn_on(icdev);

(9)int turn_off(int icdev)

说明:对卡下电

调用:icdev:通讯设备标识符

返回:<0 错误

=0 正确,

举例:st= turn_off(icdev);

(10)int srd_ver(int icdev,int len,unsigned char*databuff) 说明:读取读写器设备版本号

调用:icdev:通讯设备标识符

len:版本号字符串长度,其值为10

databuff:存放读取的版本号字符串

返回:<0 错误

=0 正确,

举例:unsigned char databuff[10];

st=srd_ver(icdev,10,databuff);

(11)int dvsc(int icdev,int len,unsigned char*databuff) 说明:读出读写器设备密码

调用:icdev:通讯设备标识符

len:密码字符串长度,其值为3

databuff:存放读取的密码字符串

返回:<0 错误

=0 正确,

举例:unsigned char databuff[3];

st=srd_dvsc (icdev,3,databuff);

(12)int swr_dvsc (int icdev,int len,unsigned char*databuff)

说明:改写读写器设备密码

调用:icdev:通讯设备标识符

len:密码字符串长度,其值为3

databuff:存放写入的密码字符串

返回:<0 错误

=0 正确,

举例:unsigned char databuff[3]={'a','b','c'};

st=swr_ dvsc (icdev,3,databuff);

(13)int cmp_dvsc (int icdev,int len,unsigned char*databuff )

说明:比较设备密码

调用:icdev:通讯设备标识符

len:密码字符串长度,其值为3

databuff:存放要比较的密码字符串

返回:<0 错误

=0 正确,

举例:unsigned char databuff[3]={'a','b','c'};

st=cmp_ dvsc (icdev,3,databuff);

(14)int setsc_md (int icdev,int mode )

说明:设置设备密码模式

mode=0时设置设备密码有效,在设备加电时必须先核对设备密码才

能对设备操作;mode=1时设置设备密码无效。

调用:icdev:通讯设备标识符

mode:密码模式

返回:<0 错误

=0 正确,

举例:st= setsc _ md (icdev,0 );

设置设备密码有效

(15) int srd_snr (int icdev,int len,unsigned char*dataubff)

说明:读出设备标识号

调用:icdev:通讯设备标识符

len:字符串长度,其值为16

databuff:存放要读出的标识号字符串

返回:<0 错误

=0 正确,

举例:unsigned char databuff[6];

st=srd_snr (icdev,16,databuff);

(16)int chk_card (int icdev)

说明:测卡类型,仅适用部分IC卡

调用:icdev:通讯设备标识符

返回:<0 错误

=0 正确;卡类型参照IC卡类型代码

举例: st=chk_card (icdev);

(17) int ic_enerypt (char*ptrsource,unsigned int msglen,char*ptrdest)

说明:DES算法加密函数

调用:key:加密的密码,长度为8

ptrsource:原文

msglen:原文长度必须为8的倍数

ptrdest:密文

返回:<0 错误。其绝对值为错误代码

=0 成功

举例:char patrdest [16];

st=ic_encrypt (“12345678”,”abcdefghabcdefgh”,16,ptrdest)

将长度为16的“abcdefghabcdefgh”用密码“12345678”加密

(18)int ic_decrypt (char*key,char*ptrdest,unsigned int msglen,char*ptrsource) 说明:DES算法解密函数使用过程与ic_encrypt相反

调用:key:加密的密码,长度为8

ptrsource:原文

msglen:原文长度必须为8的倍数

ptrdest:密文

返回:<0 错误。其绝对值为错误代码

=0 成功

举例:char patrdest [16];

st=ic_decrypt (“12345678”,”abcdefghabcdefgh”,16,ptrdest)

将长度为16的“abcdefghabcdefgh”用密码“12345678”解密

(19)unsigned long DES_Encrypt (unsigned char*Key,int KeyLen, unsigned char*Source, unsigned long SrcLen, unsigned char*Result )

说明:DES算法加密函数

调用:key:加密的密钥

KeyLen:加密的密钥长度

Source:原文

SrcLen:原文长度

Result:密文

返回:成功返回密文长度

举例:char patrdest [16];

st=DES_Encrypt(“1234”,4,“abcdefghabcdef”,14,ptrdest)将长

度为14的“abcdefghabcdef”用密码“1234”加密。

注意:与ic_encrypt ( )函数相比,它取消了对密码和加密数据长度必须为8的限制,它对于非8倍数的处理方式为在数据后自动补‘0’,凑足

8的倍数。

(20)unsigned long DES_Decrypt (unsigned char*Key,int KeyLen, unsigned char*Source, unsigned long SrcLen, unsigned char*result )

说明:DES算法解密函数使用过程与DES_Encrypt相反

调用:key:解密的密钥

KeyLen:解密的密钥长度

Source:密文

SrcLen:密文长度

Result:原文

返回:成功返回解密原文的长度

举例:char patrdest [14];

st=DES_ Decrypt(“1234”,4,“abcdefghabcdef”,14,ptrdest)将长

度为14的“abcdefghabcdef”用密码“1234”解密。

注意:与ic_decrypt ( )函数相比,它取消了对密码和加密数据长度必须为8的限制,它对于非8倍数的处理方式为在数据后自动补‘0’,凑足

8的倍数。

(21)int asc _hex (unsiged char*asc, unsiged char*hex,long length )

说明:将ASCII码转换为十六进制数据

参数:asc:输入要转换的字符串

hex:存放转换后的字符串

length:为转换后字符串hex的长度

返回:<0 错误

=0 成功

举例:unsiged char databuff [6 ];

st=asc_hex (“a1a2a3a4a5”,databuff,5 );

(22) int hex_asc (unsiged char*hex, unsiged char*asc,long length )

说明:将十六进制数据转换为ASCII码

参数:hex:输入要转换的字符串

asc:存放转换后的字符串

length:为要转换字符串hex的长度

返回:<0 错误

=0 成功

举例:unsiged char databuff [5 ]={0×a1,0×a2,0×a3,0×a4,0×a5};

unsiged char databuff [10];

st=hex_asc (databuff 1,databuff 2,5 );

注意:转换后的字符串长度为2* length

(23)int asc_asc (unsiged char*source, unsiged char*dest,long length )

说明:字符串转换为字符串。专为VB5 ByRef传址方式提供的赋值函数。

参数:source:要转换的ASCII字符串(声明:Byval source as string)dest:转换后的ASCII字符串(声明:ByRef dest as byte)

length:字符串的长度

返回:<0 错误

=0 成功

举例:dim databuff (6) as byae

st=asc_asc (“123abc”,databuff(0),6)

注意:C静态库、Unix、Linux 库中没有提供上述三个函数。

b. AT24C01A/24C02/24C04/24C08/24C16/24C64函数库

以A T24C01A为例,其它卡的函数与此类似

(1)int swr_24C01a(int icdev,int offset,int len,unsigned char*databuff)

说明:向指定地址写数据

调用:icdev:通讯设备标识符

offset:偏移地址,范围0—127

len:字符串长度,范围1—128

databuff:存放要写的数据

返回:<0 错误

=0 正确

举例:unsigned char databuff [5]={…s?,?a?,?n?,?n?,?y?};

st=swr_24c01a (icdev,0,5,databuff);

将databuff中前5个字节写入从偏移地址0开始的5个字节中(2)int srd_24c01a (int icdev,int offset,int len,unsigned char*databuff)

说明:从指定地址读数据

调用:icdev:通讯设备标识符

offset:偏移地址,范围0—127

len:字符串长度,范围1—128

databuff:存放要读的数据

返回:<0 错误

=0 正确

举例:unsigned char databuff [5];

st=srd_24c01a (icdev,0,5,databuff);

从偏移地址0开始读出5个字节数据存入databuff中

(3)int chk_24c01a (int icdev )

说明:检查卡型是否正确

调用:icdev:通讯设备标识符

返回:<0 错误

=0 正确

举例:st=chk_24c01a (icdev )

(4)int srd_24c01a_hex (int icdev,int offset,int len,unsigned char*databuff) 说明:从指定地址按16进制读数据

调用:icdev:通讯设备标识符

offset:偏移地址,范围0—127

len:字符串长度,范围1—128

databuff:存放要读的数据

返回:<0 错误

=0 正确

举例:unsigned char databuff [5];

st=srd_24c01a (icdev,0,5,databuff);

从偏移地址0开始读出5个字节数据存入databuff中

注意:此函数只适用于24c01a、24c02卡

(5)int swr_24C01a_hex (int icdev,int offset,int len,unsigned char*databuff) 说明:向指定地址写数据

调用:icdev:通讯设备标识符

offset:偏移地址,范围0—127

len:字符串长度,范围1—128

databuff:存放要写的数据

返回:<0 错误

=0 正确

举例:unsigned char databuff [5]={…s?,?a?,?n?,?n?,?y?};

st=swr_24c01a (icdev,0,5,databuff);

将databuff中前5个字节写入从偏移地址0开始的5个字节中

注意:此函数只适用于24c01a、24c02卡

补充说明:24系列卡偏移地址和长度取值如下:

c. AT45D041函数库

(1)int swr_45d041 (int icdev,int page,int offset,int len,unsigned char*databuff ) 说明:向指定地址写数据

调用:icdev:通讯设备标识符

page:页面地址,范围0—2047

offset:偏移地址,范围0—263

len:字符串长度,范围1—540672

databuff:存放要写的数据

返回:<0 错误

=0 正确

举例:unsigned char databuff [5]={…s?,?a?,?n?,?n?,?y?};

st=swr_45d041 (icdev,0,0,5,databuff);

将databuff中前5个字节写入从第一页第一个字节开始的5个字节

单元中

(2)int srd_45d041 (int icdev,int page,int offset,long len,unsigned char*databuff) 说明:从指定地址读数据

调用:icdev:通讯设备标识符

page:页面地址,范围0—2047

offset:偏移地址,范围0—263

len:字符串长度,范围1—540672

databuff:存放要读的数据

返回:<0 错误

=0 正确

举例:unsigned char databuff [5];单元

st=srd_45d041(icdev,0,0,5,databuff);

从第一页第0个字节开始读出5个字节数据存入databuff中

(3) int chk_45d041 (int icdev )

说明:检查卡型是否正确

调用:icdev:通讯设备标识符

返回:<0 错误

=0 正确

举例:st=chk_45d041 (icdev )

d. AT88SC102函数库

(1)int swr_102 (int icdev,int zone,int offset,int len,unsigned char*databuff )

说明:向指定地址写数据

调用:icdev:通讯设备标识符

zone:应用区地址

offset:相对偏移地址

len:字符串长度

databuff:存放要写的数据

返回:<0 错误

=0 正确

举例:unsigned char databuff [5]={…s?,?a?,?n?,?n?,?y?};

st=swr_102 (icdev,1,1,5,databuff);

将databuff中前5个字节写入从应用1区1字节开始的5个字节

单元中

(2)int srd_102 (int icdev,int zone,int offset,int len,unsigned char*databuff) 说明:从指定地址读数据

调用:icdev:通讯设备标识符

zone:应用区地址

offset:偏移地址

len:字符串长度

databuff:存放要读出的数据

返回:<0 错误

=0 正确

举例:unsigned char databuff [5];

st=srd_102 (icdev,1,1,5,databuff);

从应用1区1字节开始读出5个字节数据放入databuff中

(3)int csc_102 (int icdev,int len,unsigned char*databuff )

说明:核对卡密码

调用:icdev:通讯设备标识符

len:字符串长度

databuff:存放要比较的密码字符串

返回:<0 错误

=0 正确

举例:unsigned char databuff [2]={0*f0,0*f0};

st=csc_102 (icdev,2,databuff);

(4) int wsc_102 (int icdev,int len,unsigned char*databuff )

说明:改写卡密码

调用:icdev:通讯设备标识符

len:字符串长度,其值为2

databuff:存放要改写的密码数据

返回:<0 错误

=0 正确

举例:unsigned char databuff [5]={0*f0,0*f0};

st=wsc_102 (icdev,2,databuff );

(5) int rsc_102 (int icdev,int len,unsigned char*databuff )

说明:读出卡密码

调用:icdev:通讯设备标识符

len:密码字符串长度,其值为2

databuff:存放要读出的密码数据

返回:<0 错误

=0 正确

举例:unsigned char databuff [2];

st=rsc_102 (icdev,2,databuff );

(6) int rsct_102 (int icdev,int *counter )

说明:读出密码错误计数器值

调用:icdev:通讯设备标识符

counter:返回密码错误计数器值,范围0---4

返回:<0 错误

=0 正确

举例:int counter;

st=rsct_102 (icdev,&counter );

(7) int cesc_102 (int icdev,int zone,int len,unsigned char*databuff )

说明:核对卡擦除密码

调用:icdev:通讯设备标识符

zone:应用区地址,其值为1或2

len:字符串长度,应用1区,其值为6;应用2区,其值为4

databuff:存放要比较的擦除密码字符串

返回:<0 错误

=0 密码正确

举例:unsigned char databuff [4]={0*ff,0*ff,0*ff,0*ff };

st=cesc_102 (icdev,2,4,databuff );

(8) int wesc_102 (int icdev,int zone,int len,unsigned char*databuff )

说明:改写卡擦除密码

调用:icdev:通讯设备标识符

zone:应用区地址,其值为1或2

len:字符串长度,应用1区,其值为6;应用2区,其值为4

databuff:存放要改写的密码数据

返回:<0 错误

=0 正确

举例:unsigned char databuff [4]={0*ff,0*ff,0*ff,0*ff };

st=wesc_102 (icdev,2,4,databuff );

(9) int resc_102 (int icdev,int zone,int len,unsigned char*databuff )

说明:读出卡擦除密码

调用:icdev:通讯设备标识符

zone:应用区地址,其值为1或2

len:字符串长度,应用1区,其值为6;应用2区,其值为4

databuff:存放要读出的密码数据

返回:<0 错误

=0 正确

举例:unsigned char databuff [6];

st=resc_102 (icdev,1,6,databuff );

(10) int resct_102 (int icdev,int zone,int*counter )

说明:读出擦除密码错误计数器值

调用:icdev:通讯设备标识符

zone:应用区地址,其值为2

counter:返回密码错误计数器值,范围0---128

返回:<0 错误

=0 正确

举例:int counter;

st=rsct_102 (icdev,2,&counter );

(11) int ser_102 (int icdev,int zone,int offset,int len )

说明:擦除数据

调用:icdev:通讯设备标识符

zone:应用区地址

0ffset:偏移地址

len:要擦除的绝对长度,参考swr_102中len说明

返回:<0 错误

=0 正确

举例:st=ser_102 (icdev,0,8,2 );

擦除偏移地址为8,9的两个字节

(12) int clrpr_102 (int icdev,int zone )

说明:写保护位清0

调用:icdev:通讯设备标识符

zone:应用区地址为1或2

返回:<0 错误

=0 正确

举例:st=clrpr_102 (icdev,1);

写保护位清0后不能向应用1区写数据

(13) int clrrd_102 (int icdev,int zone )

说明:读保护位清0

调用:icdev:通讯设备标识符

zone:应用区地址为1或2

返回:<0 错误

=0 正确

举例:st=clrrd_102 (icdev,1);

读保护位清0后,核对密码前不能读出应用1区内容

(14)int psnl_102 (int icdev )

说明:个人化操作

调用:icdev:通讯设备标识符

返回:<0 错误

=0 正确

举例:st=psnl_102 (icdev);

(15) int chk_102 (int icdev)

说明:检查卡型是否正确

调用:icdev:通讯设备标识符

返回:<0 错误

=0 正确

举例:st=chk_102 (icdev)

e. AT88SC1604函数库

(1) int swr_1604(int icdev,int zone,int offset,int len, unsigned char *databuff) 说明:向指定地址写数据

调用:icdev: 通讯设备标识符

zone: 应用区地址

offset: 相对偏移地址

len: 字符串长度

databuff: 存放要写的数据

区号(zone) 相对偏移地址(offset) 长度(len)

0 0~20 1~21

1 0~1194 1~1195

2 0~255 1~256

3 0~255 1~256

4 0~257 1~258

返回:<0 错误

=0 正确

举例:unsigned char databuff[5]= {…s?,?a?,?n?,?n?,?y?};

st=swr_1604(icdev,1,1,5,databuff);

从应用1区1字节开始写入5个字节数据

(2) int swr_1604_hex(int icdev,int zone,int offset,int len, unsigned char *databuff) 说明:向指定地址按16进制写数据

调用:icdev: 通讯设备标识符

zone: 应用区地址

offset: 相对偏移地址

len: 字符串长度

databuff: 存放要写的数据

(3)int srd_1604(int icdev, int zone,int offset,int len,unsigned char *databuff)

说明:从指定地址读数据

调用:icdev: 通讯设备标识符

zone: 应用区地址

offset: 偏移地址

len: 字符串长度

databuff: 存放要读出的数据

返回:<0 错误

=0 正确

举例:unsigned char databuff[5];

st=srd_1604(icdev,1,1,5,databuff);

从应用1区偏移地址1开始读出5个字节数据

(4)int srd_1604_hex(int icdev, int zone,int offset,int len,unsigned char *databuff) 说明:从指定地址按16进制读数据

调用:icdev: 通讯设备标识符

zone: 应用区地址

offset: 偏移地址

len: 字符串长度

databuff: 存放要读出的数据

(5)int csc_1604(int icdev,int zone,int len,unsigned char *databuff)

说明:核对卡密码

调用:icdev: 通讯设备标识符

zone: 应用区地址, 其值为0~4

len: 字符串长度,其值为2

databuff: 存放要比较的密码字符串

返回:<0 错误

=0 密码正确

举例:unsigned char databuff[2]={0xff,0xff};

st=csc_1604(icdev,0,2,databuff);

(6)int wsc_1604(int icdev,int zone,int len,unsigned char *databuff)

说明:改写卡密码

调用:icdev: 通讯设备标识符

zone: 应用区地址, 其值为0~4

len: 字符串长度,其值为2

databuff: 存放要改写的密码数据

返回:<0 错误

=0 正确

举例:unsigned char databuff[5]={0xff,0xff};

st=wsc_1604(icdev,0,2,databuff);

(7)int rsc_1604(int icdev,int zone,int len,unsigned char *databuff) 说明:读出卡密码

调用:icdev: 通讯设备标识符

zone: 应用区地址, 其值为0~4

len: 密码字符串长度,其值为2

databuff: 存放要读出的密码数据

返回:<0 错误

=0 正确

举例:unsigned char databuff[2];

st=rsc_1604(icdev,0,2,databuff);

(8)int rsct_1604(int icdev,int zone,int *counter)

说明:读出密码错误计数器值

调用:icdev: 通讯设备标识符

zone: 应用区地址, 其值为0~1

counter: 返回密码错误计数器值,范围0~4

返回:<0 错误

=0 正确

举例:int counter;

st=rsct_1604(icdev,0,&counter);

(9)int cesc_1604(int icdev,int zone,int len,unsigned char *databuff) 说明:核对卡擦除密码

调用:icdev: 通讯设备标识符

zone: 应用区地址, 其值为1~4

len: 字符串长度,其值为2

databuff: 存放要比较的擦除密码字符串

返回:<0 错误

=0 正确

举例:unsigned char databuff[2]={0xff,0xff};

数据库常用函数汇总统计

实验二(续):利用SQL语句查询 三、常用库函数及统计汇总查询 1、求学号为 S1学生的总分和平均分; select sum(score) as TotalScore,avg(score)as AveScore from sc where sno='S1' 2、求选修 C1号课程的最高分、最低分及之间相差的分数; select max(score)as MaxScore, min(score)as MinScore, max(score)- min(score)as diff from sc where cno='C1' 3、求选修 C1号课程的学生人数和最高分; select count(distinct sno),max(score) from sc where cno='C 1' 4、求计算机系学生的总数; select count(sno) from s where dept=' 计算机 ' 5、求学校中共有多少个系; select count(distinct dept) as DeptNum from s 6、统计有成绩同学的人数; select count(score) from sc 7、利用特殊函数 COUNT(*)求计算机系学生的总数; select count(*) from s where dept=' 计算机 '

8、利用特殊函数 COUNT(*)求女学生总数和平均年龄;select count(*),avg(age) from s where sex=' 女 ' 9、利用特殊函数 COUNT(*)求计算机系女教师的总数。select count(*) from t where dept=' 计算机 'and sex=' 女 ' 四、分组查询及排序 1、查询各个教师的教师号及其任课门数; select tno,count(*)as c_num from tc group by tno 2、按系统计女教师的人数; select dept,count(tno) from t where sex=' 女 ' group by dept 3、查询选修两门以上课程的学生的学号和选课门数;select sno,count(*)as sc_num from sc group by sno having count(*)>2 4、查询平均成绩大于 70分的课程号和平均成绩; select cno,avg(score) from sc group by cno having avg(score)>70 5、查询选修 C1的学生学号和成绩,并按成绩降序排列;select sno,score

C语言标准库函数2012

常用C语言标准库函数2012 C语言编译系统提供了众多的预定义库函数和宏。用户在编写程序时,可以直接调用这些库函数和宏。这里选择了初学者常用的一些库函数,简单介绍了各函数的用法和所在的头文件。 1.测试函数 Isalnum 原型:int isalnum(int c) 功能:测试参数c是否为字母或数字:是则返回非零;否则返回零 头文件:ctype.h Isapha 原型:int isapha(int c) 功能:测试参数c是否为字母:是则返回非零;否则返回零 头文件:ctype.h Isascii 原型:int isascii(int c) 功能:测试参数c是否为ASCII码(0x00~0x7F):是则返回非零;否则返回零 头文件:ctype.h Iscntrl 原型:int iscntrl(int c) 功能:测试参数c是否为控制字符(0x00~0x1F、0x7F):是则返回非零;否则返回零 头文件:ctype.h Isdigit 原型:int isdigit(int c) 功能:测试参数c是否为数字:是则返回非零;否则返回零。 头文件:ctype.h Isgraph 原型:int isgraph(int c) 功能:测试参数c是否为可打印字符(0x21~0x7E):是则返回非零;否则返回零头文件:ctype.h Islower 原型:int islower(int c) 功能:测试参数c是否为小写字母:是则返回非零;否则返回零 头文件:ctype.h

Isprint 原型:int isprint(int c) 功能:测试参数c是否为可打印字符(含空格符0x20~0x7E):是则返回非零;否则返回零 头文件:ctype.h Ispunct 原型:int ispunct(int c) 功能:测试参数c是否为标点符号:是则返回非零;否则返回零 头文件:ctype.h Isupper 原型:int isupper(inr c) 功能:测试参数c是否为大写字母:是则返回非零;否则返回零 Isxdigit 原型:int isxdigit(int c) 功能:测试参数c是否为十六进制数:是则返回非零;否则返回零 2.数学函数 abs 原型:int abs(int i) 功能:返回整数型参数i的绝对值 头文件:stdlib.h,math.h acos 原型:double acos(double x) 功能:返回双精度参数x的反余弦三角函数值 头文件:math.h asin 原型:double asin(double x) 功能:返回双精度参数x的反正弦三角函数值 头文件:math.h atan 原型:double atan(double x) 功能:返回双精度参数的反正切三角函数值 头文件:math.h atan2 原型:double atan2(double y,double x) 功能:返回双精度参数y和x由式y/x所计算的反正切三角函数值 头文件:math.h cabs

C++string类标准库常用函数

C++ string类标准库常用函数 [string类的构造函数] string(const char *s); //用c字符串s初始化 string(int n,char c); //用n个字符c初始化 [string类的字符操作] const char &operator[](int n) const; const char &at(int n) const; char &operator[](int n); char &at(int n); operator[]和at()均返回当前字符串中第n个字符的位置,但at函数提供范围检查,当越界时会抛出out_of_range 异常,下标运算符[]不提供检查访问。 const char *data() const; //返回一个非null终止的c字符数组 const char *c_str() const; //返回一个以null终止的c字符串 int copy(char *s, int n, int pos = 0) const;//把当前串中以pos开始的n个字符拷贝到以s为起始位置的字符数组中,返回实际拷贝的数目 [string的特性描述] int capacity() const; //返回当前容量(即string中不必增加内存即可存放的元素个数) int max_size() const; //返回string对象中可存放的最大字符串的长度 int size() const; //返回当前字符串的大小 int length() const; //返回当前字符串的长度 bool empty() const; //当前字符串是否为空 void resize(int len,char c); //把字符串当前大小置为len,并用字符c填充不足的部分 [string类的输入输出操作] string类重载运算符operator>>用于输入,同样重载运算符operator<<用于输出操作。 函数getline(istream &in,string &s);用于从输入流in中读取字符串到s中,以换行符'\n'分开。 [string的赋值] string &operator=(const string &s); //把字符串s赋给当前字符串 string &assign(const char *s); //用c类型字符串s赋值 string &assign(const char *s,int n); //用c字符串s开始的n个字符赋值 string &assign(const string &s); //把字符串s赋给当前字符串 string &assign(int n,char c); //用n个字符c赋值给当前字符串 string &assign(const string &s,int start,int n);//把s中从start开始的n个字符赋给当前字符串string &assign(const_iterator first,const_iterator last);//把迭代器first和last之间的部分赋给字符串 [string的连接] string &operator+=(const string &s); //把字符串s连接到当前字符串的结尾 string &append(const char *s); //把c类型字符串s连接到当前字符串结尾 string &append(const char *s,int n); //把c类型字符串s的前n个字符连接到当前字符串结尾 string &append(const string &s); //同operator+=() string &append(const string &s,int pos,int n); //把字符串s中从pos开始的n个字符连接到当前字符串的结尾 string &append(int n,char c); //在当前字符串结尾添加n个字符c string &append(const_iterator first,const_iterator last); //把迭代器first和last之间的部分连接到当前字符串的结尾

C语言中常用的库函数

字符处理函数 本类别函数用于对单个字符进行处理,包括字符的类别测试和字符的大小写转换 头文件ctype.h 函数列表<> 函数类别函数用途详细说明 字符测试是否字母和数字isalnum 是否字母isalpha 是否控制字符iscntrl 是否数字isdigit 是否可显示字符(除空格外)isgraph 是否可显示字符(包括空格)isprint 是否既不是空格,又不是字母和数字的可显示字符ispunct 是否空格isspace 是否大写字母isupper 是否16进制数字(0-9,A-F)字符isxdigit 字符大小写转换函数转换为大写字母toupper 转换为小写字母tolower 地区化 本类别的函数用于处理不同国家的语言差异。 头文件local.h 函数列表 函数类别函数用途详细说明 地区控制地区设置setlocale 数字格式约定查询国家的货币、日期、时间等的格式转换localeconv 数学函数 本分类给出了各种数学计算函数,必须提醒的是ANSI C标准中的数据格式并不符合IEEE754标准,一些C语言编译器却遵循IEEE754(例如frinklin C51) 头文件math.h 函数列表 函数类别函数用途详细说明 错误条件处理定义域错误(函数的输入参数值不在规定的范围内) 值域错误(函数的返回值不在规定的范围内) 三角函数反余弦acos 反正弦asin

反正切atan 反正切2 atan2 余弦cos 正弦sin 正切tan 双曲函数双曲余弦cosh 双曲正弦sinh 双曲正切tanh 指数和对数指数函数exp 指数分解函数frexp 乘积指数函数fdexp 自然对数log 以10为底的对数log10 浮点数分解函数modf 幂函数幂函数pow 平方根函数sqrt 整数截断,绝对值和求余数函数求下限接近整数ceil 绝对值fabs 求上限接近整数floor 求余数fmod 本分类函数用于实现在不同底函数之间直接跳转代码。头文件setjmp.h io.h 函数列表 函数类别函数用途详细说明 保存调用环境setjmp 恢复调用环境longjmp 信号处理 该分类函数用于处理那些在程序执行过程中发生例外的情况。 头文件signal.h 函数列表 函数类别函数用途详细说明 指定信号处理函数signal 发送信号raise 可变参数处理 本类函数用于实现诸如printf,scanf等参数数量可变底函数。

c标准库函数大全

absread()读磁盘绝对扇区函数 原形:int absread(int drive,int num,int sectnum,void *buf) 功能:从drive指定的驱动器磁盘上,sectnum指定的逻辑扇区号开始读取(通过DOS中断0x25读取)num个(最多64K个)扇区的内容,储存于buf所指的缓冲区中。 参数:drive=0对应A盘,drive=1对应B盘。 返回值:0:成功;-1:失败。 头文件:dos.h abswrite()写磁盘绝对扇区函数 原形:int abswrite(int drive,int nsects,int lsect,void *buffer) drive=0(A驱动器)、1(B驱动器)、 nsects=要写的扇区数(最多64K个); lsect=起始逻辑扇区号; buffer=要写入数据的内存起始地址。 功能:将指定内容写入(调用DOS中断0x26)磁盘上的指定扇区,即使写入的地方是磁盘的逻辑结构、文件、FAT表和目录结构所在的扇区,也照常进行。 返回值:0:成功;-1:失败。 头文件:dos.h atof()将字符串转换成浮点数的函数 原形:double atof(const char *s) 功能:把s所指向的字符串转换成double类型。 s格式为:符号数字.数字E符号数字 返回值:字符串的转换值。 头文件:math.h、stdlib.h atoi()将字符串转换成整型数的函数 原形:int atoi(const char *s) 功能:把s所指向的字符串转换成int类型。 s格式为:符号数字 返回值:字符串的转换值。若出错则返回0。 头文件:stdlib.h atol()将字符串转换成长整型数的函数 原形:long atol(const char *s) 功能:把s所指向的字符串转换成long int类型。 s格式为:符号数字 返回值:字符串的转换值。若出错则返回0。 头文件:stdlib.h bcd()把一个数转换成对应的BCD码的函数 原形:bcd bcd(int x) bcd bcd(double x) bcd bcd(double x,int decimals)

常用函数大全

常用函数大全 mysql_affected_rows
mysql_affected_rows — 取得前一次 MySQL 操作所影响的记录行数 mysql_fetch_array —从结果集中取得一行作为关联数组或数字数组或二者兼 有:
mysql_fetch_array($result, MYSQL_NUM) , MYSQL_NUM 可用 MYSQL_BOTH 或
MYSQL_ASSOC 代替,也可以不写,默认为 MYSQL_BOTH
mysql_fetch_row — 从结果集中取得一行作为枚举数组: mysql_fetch_row($result); mysql_fetch_assoc($result)
mysql_fetch_row()从和指定的结果标识关联的结果集中取得一行数据并作为数组返回。每个结果 的列储存在一个数组的单元中,偏移量从 0 开始。 依次调用 mysql_fetch_row()将返回结果集中的下一行,如果没有更多行则返回 FALSE。 mysql_fetch_assoc — 从结果集中取得一行作为关联数组 :
mysql_fetch_assoc() 和用 mysql_fetch_array() 加上第二个可选参数 MYSQL_ASSOC 完全相同。它 仅仅返回关联数组。这也是 mysql_fetch_array()起初始的工作方式。如果在关联索引之外还需要数字 索引,用 mysql_fetch_array()。 如果结果中的两个或以上的列具有相同字段名,最后一列将优先。要访问同名的其它列,要么用 mysql_fetch_row()来取得数字索引或给该列起个别名。参见 mysql_fetch_array() 例子中有关别名说 明。 有一点很重要必须指出,用 mysql_fetch_assoc()并不明显 比用 mysql_fetch_row()慢,而且还提供了 明显更多的值。
mysql_query()
仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,
如果查询执行不正确则返回 FALSE。对于其它类型的 SQL 语句,mysql_query()在执行成功时返回 TRUE,出错时返回 FALSE。非 FALSE 的返回值意味着查询是合法的并能够被服务器执行。这并不说明 任何有关影响到的或返回的行数。 很有可能一条查询执行成功了但并未影响到或并未返回任何行。

数据库常用函数

数据库常用函数

一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份和还原 备份:exp dsscount/sa@dsscount owner=dsscount file=C:\dsscount_data_backup\dsscount.dmp log=C:\dsscount_data_backup\outputa.log 还原:imp dsscount/sa@dsscount file=C:\dsscount_data_backup\dsscount.dmp full=y ignore=y log=C:\dsscount_data_backup\dsscount.log statistics=none 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) CREATE TABLE ceshi(id INT not null identity(1,1) PRIMARY KEY,NAME VARCHAR(50),age INT) id为主键,不为空,自增长 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键: Alter table tabname add primary key(col) 说明:删除主键: Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围

c++常用函数大全

数学函数,所在函数库为math.h、stdlib.h、string.h、float.h int abs(int i) 返回整型参数i的绝对值 double cabs(struct complex znum) 返回复数znum的绝对值 double fabs(double x) 返回双精度参数x的绝对值 long labs(long n) 返回长整型参数n的绝对值 double exp(double x) 返回指数函数ex的值 double frexp(double value,int *eptr) 返回value=x*2n中x的值,n存贮在eptr中double ldexp(double value,int exp); 返回value*2exp的值 double log(double x) 返回logex的值 double log10(double x) 返回log10x的值 double pow(double x,double y) 返回xy的值 double pow10(int p) 返回10p的值 double sqrt(double x) 返回+√x的值 double acos(double x) 返回x的反余弦cos-1(x)值,x为弧度 double asin(double x) 返回x的反正弦sin-1(x)值,x为弧度 double atan(double x) 返回x的反正切tan-1(x)值,x为弧度 double atan2(double y,double x) 返回y/x的反正切tan-1(x)值,y的x为弧度double cos(double x) 返回x的余弦cos(x)值,x为弧度 double sin(double x) 返回x的正弦sin(x)值,x为弧度 double tan(double x) 返回x的正切tan(x)值,x为弧度 double cosh(double x) 返回x的双曲余弦cosh(x)值,x为弧度 double sinh(double x) 返回x的双曲正弦sinh(x)值,x为弧度 double tanh(double x) 返回x的双曲正切tanh(x)值,x为弧度 double hypot(double x,double y) 返回直角三角形斜边的长度(z), x和y为直角边的长度,z2=x2+y2 double ceil(double x) 返回不小于x的最小整数 double floor(double x) 返回不大于x的最大整数 void srand(unsigned seed) 初始化随机数发生器 int rand() 产生一个随机数并返回这个数 double poly(double x,int n,double c[])从参数产生一个多项式 double modf(double value,double *iptr)将双精度数value分解成尾数和阶 double fmod(double x,double y) 返回x/y的余数 double frexp(double value,int *eptr) 将双精度数value分成尾数和阶 double atof(char *nptr) 将字符串nptr转换成浮点数并返回这个浮点数 double atoi(char *nptr) 将字符串nptr转换成整数并返回这个整数 double atol(char *nptr) 将字符串nptr转换成长整数并返回这个整数 char *ecvt(double value,int ndigit,int *decpt,int *sign) 将浮点数value转换成字符串并返回该字符串

Excel常用的函数计算公式大全

E x c e l常用的函数计算公 式大全 Prepared on 22 November 2020

EXCEL的常用计算公式大全 一、单组数据加减乘除运算: ①单组数据求加和公式:=(A1+B1) 举例:单元格A1:B1区域依次输入了数据10和5,计算:在C1中输入=A1+B1后点击键盘“Enter(确定)”键后,该单元格就自动显示10与5的和 15。 ②单组数据求减差公式:=(A1-B1) 举例:在C1中输入=A1-B1即求10与5的差值5,电脑操作方法同上; ③单组数据求乘法公式:=(A1*B1) 举例:在C1中输入=A1*B1即求10与5的积值50,电脑操作方法同上; ④单组数据求乘法公式:=(A1/B1) 举例:在C1中输入=A1/B1即求10与5的商值2,电脑操作方法同上; ⑤其它应用: 在D1中输入=A1^3即求5的立方(三次方); 在E1中输入=B1^(1/3)即求10的立方根 小结:在单元格输入的含等号的运算式,Excel中称之为公式,都是数学里面的基本运算,只不过在计算机上有的运算符号发生了改变——“×”与“*”同、“÷”与“/”同、“^”与“乘方”相同,开方作为乘方的逆运算,把乘方中和指数使用成分数就成了数的开方运算。这些符号是按住电脑键盘“Shift”键同时按住键盘第二排相对应的数字符号即可显示。如果同一列的其它单元格都需利用刚才的公式计算,只需要先用鼠标左键点击一下刚才已做好公式的单元格,将鼠标移至该单元格的右下角,带出现十字符号提示时,开始按住鼠标左键不动一直沿着该单元格依次往下拉到你需要的某行同一列的单元格下即可,即可完成公司自动复制,自动计算。 二、多组数据加减乘除运算: ①多组数据求加和公式:(常用) 举例说明:=SUM(A1:A10),表示同一列纵向从A1到A10的所有数据相加; =SUM(A1:J1),表示不同列横向从A1到J1的所有第一行数据相加; ②多组数据求乘积公式:(较常用) 举例说明:=PRODUCT(A1:J1)表示不同列从A1到J1的所有第一行数据相乘; =PRODUCT(A1:A10)表示同列从A1到A10的所有的该列数据相乘; ③多组数据求相减公式:(很少用) 举例说明:=A1-SUM(A2:A10)表示同一列纵向从A1到A10的所有该列数据相减; =A1-SUM(B1:J1)表示不同列横向从A1到J1的所有第一行数据相减; ④多组数据求除商公式:(极少用)

C语言常用的库函数

库函数并不是C语言的一部分,它是由编译系统根据一般用户的需要编制并 提供给用户使用的一组程序。每一种C编译系统都提供了一批库函数,不同的 编译系统所提供的库函数的数目和函数名以及函数功能是不完全相同的。ANSI C标准提出了一批建议提供的标准库函数。它包括了目前多数C编译系统所提供 的库函数,但也有一些是某些C编译系统未曾实现的。考虑到通用性,本附录 列出ANSI C建议的常用库函数。 由于C库函数的种类和数目很多,例如还有屏幕和图形函数、时间日期函数、 与系统有关的函数等,每一类函数又包括各种功能的函数,限于篇幅,本附录不 能全部介绍,只从教学需要的角度列出最基本的。读者在编写C程序时可根据 需要,查阅有关系统的函数使用手册。 1.数学函数 使用数学函数时,应该在源文件中使用预编译命令: #include或#include "math.h" 函数名函数原型功能返回值 acos double acos(double x);计算arccos x的值,其中-1<=x<=1计算结果 asin double asin(double x);计算arcsin x的值,其中-1<=x<=1计算结果 atan double atan(double x);计算arctan x的值计算结果 atan2double atan2(double x, double y);计算arctan x/y的值计算结果 cos double cos(double x);计算cos x的值,其中x的单位为弧度计算结果 cosh double cosh(double x);计算x的双曲余弦cosh x的值计算结果 exp double exp(double x);求e x的值计算结果

ACCESS数据库VBA常用标准函数新

Access数据库VBA常用标准函数 一、算术函数 1.绝对值函数:Abs(<表达式>) 返回数值表达式的绝对值。如Abs(-3)=3 2.向下取整函数:Int(<数值表达式>) 返回数值表达式的向下取整数的结果,参数为负值时返回小于等于参数值的第一负数。 3.取整函数:Fix(<数值表达式>) 返回数位表达式的整数部分,参数为负值时返回大于等于参数值的第一负数。 例如:Int(3.25)=3,Fix(3.25)=3但Int(-3.25)=-4,Fix(-3.25)=-3 4.四舍五入函数:Round(<数值表达式>[,<表达式>]) 按照指定的小数位数进入四舍五入运算的结果。[<表达式>]是进入四舍五入运算小数点右边应保留的位数。 例如:Round(3.255,1)=3.3;Round(3.754,2)=3.75;Round(3.754,0)=4 5.开平方函数:Sqr(<数值表达式>) 计算数值表达式的平方根。例如:Sqr(9)=3 6.产生随机数函数:Rnd(<数值表达式>) 产生一个0-1之间的随机数,为单精度类型。 例如:Int(100*Rnd)’产生[0,99]的随机整数Int(101*Rnd)’产生[0,100]的随机整数 7..求平均值函数Avg() 例如:在tstud表中求小于所有学生年龄的平均值的学生<(select avg([年龄])from tstud) 8..求和函数sum() 二、字符串函数 1.字符串检索函数:InStr([Start,][,Compare]) 检索子字符申Str2在字符串Strl中最早出现的位置,返回一整型数。Start为可选参数,为数值式,设置检索的起始位置。如省略,从第一个字符开始检索;注意,如果Strl的申长度为零,或Str2表示的申检索不到,则InStr返回0;如果Str2的串长度为零,InStr返回Start的值。 例如:strl=“98765”str2=“65”s=InStr(strl,str2)’返回4 s=InStr(3,“aSsiAB”,“A”,1)’返回5。从字符s开始,检索出字符A 2.字符申长度检测函数:Len(<字符申表达式>或<变量名>) 返回字符串所含字符数。注意,定长字符,其长度是定义时的长度,和字符串实际值无关。 例如:lenl=Len(“12345”)’返回5len4=Len(“考试中心”)’返回4 3.字符串截取函数 Left(<字符串表达式>,):字符串左边起截取N个字符。 Right(<字符串表达式>,):字符串右边起截取N个字符。 Mid(<字符串表达式>,,[N2]):从字符申左边第N1个字符起截取N2个字符。 例如:strl=“opqrst” str2=“计算机等级考试” str=Left(strl,3)’返回“opq”str=Left(str2,4)’返回“计算机等” str=Right(strl,2)’返回“st”str=Right(str2,2)’返回“考试” str=Mid(strl,4,2)’返回“rs”str=Mid(str2,1,3)’返回“计算机” str=Mid(str2,4,)’返回“等级考试” 4.生成空格字符函数:Space(<数值表达式>) 返回数值表达式的值指定的空格字符数。 例如:strl=Space(3)’返回3个空格字符 5.大小写转换函数 Ucase(<字符串表达式>):将字符串中小写字母转换成大写字母。 Lcase(<字符串表达式>):将字符串中大写字母转换成小写字毋。 例如:strl=Ucase(“fHkrYt”)’返回“FHKRYT”str2=Lcase(“fHKrYt”)’返回“fhkryt” 6.删除空格函数 Ltrim(<字符串表达式>):删除字符串的开始空格。

Excel常用的函数计算公式大全(一看就会)

计算机等级考试 =公式名称(参数1,参数2,。。。。。) =sum(计算范围) =average(计算范围) =sumifs(求和范围,条件范围1,符合条件1,条件范围2,符合条件2,。。。。。。) =vlookup(翻译对象,到哪里翻译,显示哪一种,精确匹配) =rank(对谁排名,在哪个范围里排名) =max(范围) =min(范围) =index(列范围,数字) =match(查询对象,范围,0) =mid(要截取的对象,从第几个开始,截取几个) =int(数字) =weekday(日期,2) =if(谁符合什么条件,符合条件显示的内容,不符合条件显示的内容) =if(谁符合什么条件,符合条件显示的内容,if(谁符合什么条件,符合条件显 示的内容,不符合条件显示的内容)) EXCEL的常用计算公式大全 一、单组数据加减乘除运算: ①单组数据求加和公式:=(A1+B1) 举例:单元格A1:B1区域依次输入了数据10和5,计算:在C1中输入=A1+B1 后点击键盘“Enter(确定)”键后,该单元格就自动显示10与5的和15。 ②单组数据求减差公式:=(A1-B1) 举例:在C1中输入=A1-B1 即求10与5的差值5,电脑操作方法同上; ③单组数据求乘法公式:=(A1*B1) 举例:在C1中输入=A1*B1 即求10与5的积值50,电脑操作方法同上; ④单组数据求乘法公式:=(A1/B1) 举例:在C1中输入=A1/B1 即求10与5的商值2,电脑操作方法同上; ⑤其它应用: 在D1中输入=A1^3 即求5的立方(三次方); 在E1中输入=B1^(1/3)即求10的立方根 小结:在单元格输入的含等号的运算式,Excel 中称之为公式,都是数学里面的基本 与 运算,只不过在计算机上有的运算符号发生了改变——“×” 与“* ”同、“÷” “/ ”同、“^”与“乘方”相同,开方作为乘方的逆运算,把乘方中和指数使用成分数 就成了数的开方运算。这些符号是按住电脑键盘“Shift ”键同时按住键盘第二排 相对应的数字符号即可显示。如果同一列的其它单元格都需利用刚才的公式计算,只 需要先用鼠标左键点击一下刚才已做好公式的单元格,将鼠标移至该单元格的右下 角,带出现十字符号提示时,开始按住鼠标左键不动一直沿着该单元格依次往下拉到 你需要的某行同一列的单元格下即可,即可完成公司自动复制,自动计算。

C语言中最常用标准库函数 - candyliuxj - CSDN博客

C语言中最常用标准库函数- candyliuxj - CSDN博客 C语言中最常用标准库函数收藏 标准头文件包括: <asset.h> <ctype.h> <errno.h> <float.h> <limits.h> <locale.h> <math.h> <setjmp.h> <signal.h> <stdarg.h> <stddef.h> <stdlib.h> <stdio.h> <string.h> <time.h> 一、标准定义(<stddef.h>) 文件<stddef.h>里包含了标准库的一些常用定义,无论我们包含哪个标准头文件,<stddef.h>都会被自动包含进来。 这个文件里定义: l 类型size_t (sizeof运算符的结果类型,是某个无符号整型); l 类型ptrdiff_t(两个指针相减运算的结果类型,是某个有符号整型);

l 类型wchar_t (宽字符类型,是一个整型,其中足以存放本系统所支持的所有本地环境中的 字符集的所有编码值。这里还保证空字符的编码值为0); l 符号常量NULL (空指针值); l 宏offsetor (这是一个带参数的宏,第一个参数应是一个结构类型,第二个参数应是结构 成员名。offsetor(s,m)求出成员m在结构类型t的变量里的偏移量)。 注:其中有些定义也出现在其他头文件里(如NULL)。 二、错误信息(<errno.h>) <errno.h>定义了一个int类型的表达式errno,可以看作一个变量,其初始值为0,一些标准库函数执行中出错时将它设为非0值,但任何标准库函数都设置它为0。 <errno.h>里还定义了两个宏EDOM和ERANGE,都是非0的整数值。数学函数执行中遇到参数错误,就会将errno 置为EDOM,如出现值域错误就会将errno置为ERANGE。 三、输入输出函数(<stdio.h>) 文件打开和关闭: FILE *fopen(const char *filename, const char *mode); int fclose(FILE * stream);

常用库函数大全

分类函数,所在函数库为ctype.h int isalpha(int ch) 若ch是字母('A'-'Z','a'-'z')返回非0值,否则返回0 int isalnum(int ch) 若ch是字母('A'-'Z','a'-'z')或数字('0'-'9'),返回非0值,否则返回0 int isascii(int ch) 若ch是字符(ASCII码中的0-127)返回非0值,否则返回0 int iscntrl(int ch) 若ch是作废字符(0x7F)或普通控制字符(0x00-0x1F),返回非0值,否则返回0 int isdigit(int ch) 若ch是数字('0'-'9')返回非0值,否则返回0 int isgraph(int ch) 若ch是可打印字符(不含空格)(0x21-0x7E)返回非0值,否则返回0 int islower(int ch) 若ch是小写字母('a'-'z')返回非0值,否则返回0 int isprint(int ch) 若ch是可打印字符(含空格)(0x20-0x7E)返回非0值,否则返回0 int ispunct(int ch) 若ch是标点字符(0x00-0x1F)返回非0值,否则返回0 int isspace(int ch) 若ch是空格(' '),水平制表符('\t'),回车符('\r'), 走纸换行('\f'),垂直制表符('\v'),换行符('\n'), 返回非0值,否则返回0 int isupper(int ch) 若ch是大写字母('A'-'Z')返回非0值,否则返回0 int isxdigit(int ch) 若ch是16进制数('0'-'9','A'-'F','a'-'f')返回非0值, 否则返回0 int tolower(int ch) 若ch是大写字母('A'-'Z')返回相应的小写字母('a'-'z') int toupper(int ch) 若ch是小写字母('a'-'z')返回相应的大写字母('A'-'Z') 数学函数,所在函数库为math.h、stdlib.h、string.h、float.h int abs(int i) 返回整型参数i的绝对值 double cabs(struct complex znum) 返回复数znum的绝对值 double fabs(double x) 返回双精度参数x的绝对值 long labs(long n) 返回长整型参数n的绝对值 double exp(double x) 返回指数函数ex的值 double frexp(double value,int *eptr) 返回value=x*2n中x的值,n存贮在eptr中 double ldexp(double value,int exp); 返回value*2exp的值 double log(double x) 返回logex的值 double log10(double x) 返回log10x的值 double pow(double x,double y) 返回xy的值 double pow10(int p) 返回10p的值 double sqrt(double x) 返回x的开方 double acos(double x) 返回x的反余弦cos-1(x)值,x为弧度 double asin(double x) 返回x的反正弦sin-1(x)值,x为弧度 double atan(double x) 返回x的反正切tan-1(x)值,x为弧度 double atan2(double y,double x) 返回y/x的反正切tan-1(x)值,y的x为弧度 double cos(double x) 返回x的余弦cos(x)值,x为弧度 double sin(double x) 返回x的正弦sin(x)值,x为弧度 double tan(double x) 返回x的正切tan(x)值,x为弧度 double cosh(double x) 返回x的双曲余弦cosh(x)值,x为弧度 double sinh(double x) 返回x的双曲正弦sinh(x)值,x为弧度 double tanh(double x) 返回x的双曲正切tanh(x)值,x为弧度 double hypot(double x,double y) 返回直角三角形斜边的长度(z), x和y为直角边的长度,z2=x2+y2

工程人最常用的excel函数公式大全

工程人最常用的excel函数公式大全 一、数字处理 1、取绝对值 =ABS(数字) 2、取整 =INT(数字) 3、四舍五入 =ROUND(数字,小数位数) 二、判断公式 1、把公式产生的错误值显示为空 公式:C2 =IFERROR(A2/B2,"") 说明:如果是错误值则显示为空,否则正常显示。 2、IF多条件判断返回值 公式:C2 =IF(AND(A2<500,B2="未到期"),"补款","") 说明:两个条件同时成立用AND,任一个成立用OR函数。

三、统计公式 1、统计两个表格重复的内容 公式:B2 =COUNTIF(Sheet15!A:A,A2) 说明:如果返回值大于0说明在另一个表中存在,0则不存在。 2、统计不重复的总人数 公式:C2 =SUMPRODUCT(1/COUNTIF(A2:A8,A2:A8)) 说明:用COUNTIF统计出每人的出现次数,用1除的方式把出现次数变成分母,然后相加。

四、求和公式 1、隔列求和 公式:H3 =SUMIF($A$2:$G$2,H$2,A3:G3) 或 =SUMPRODUCT((MOD(COLUMN(B3:G3),2)=0)*B3:G3)说明:如果标题行没有规则用第2个公式 2、单条件求和 公式:F2 =SUMIF(A:A,E2,C:C) 说明:SUMIF函数的基本用法

3、单条件模糊求和 公式:详见下图 说明:如果需要进行模糊求和,就需要掌握通配符的使用,其中星号是表示任意多个字符,如"*A*"就表示a前和后有任意多个字符,即包含A。 4、多条件模糊求和 公式:C11 =SUMIFS(C2:C7,A2:A7,A11&"*",B2:B7,B11) 说明:在sumifs中可以使用通配符* 5、多表相同位置求和 公式:b2 =SUM(Sheet1:Sheet19!B2) 说明:在表中间删除或添加表后,公式结果会自动更新。

相关文档
相关文档 最新文档