C语言常用函数.docx

上传人:b****6 文档编号:3646738 上传时间:2022-11-24 格式:DOCX 页数:21 大小:24.33KB
下载 相关 举报
C语言常用函数.docx_第1页
第1页 / 共21页
C语言常用函数.docx_第2页
第2页 / 共21页
C语言常用函数.docx_第3页
第3页 / 共21页
C语言常用函数.docx_第4页
第4页 / 共21页
C语言常用函数.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

C语言常用函数.docx

《C语言常用函数.docx》由会员分享,可在线阅读,更多相关《C语言常用函数.docx(21页珍藏版)》请在冰豆网上搜索。

C语言常用函数.docx

C语言常用函数

数学函数

数学函数的原型math.h中

数学函数表

函数名称

函数与型参类型

函数功能

返回值

acos

doubleacos(x)

doublex;

计算cos-1(x)的值

-1<=x<=1

计算结果

asin

doubleasin(x)

doublex;

计算sin-1(x)的值

1<=x<=1

计算结果

atan

doubleatan(x)

doublex;

计算tan-1(x)的值

计算结果

atan2

doubleatan2(x,y)

doublex;

计算tan-1(x/y)的值

计算结果

cos

doublecos(x)

doublex;

计算cos(x)的值

x的单位为弧度

计算结果

cosh

doublecosh(x)

doublex;

计算x的双曲余弦cosh的值

计算结果

exp

doubleexp(x)

doublex;

求ex的值

计算结果

fabs

doublefabs(x)

doublex;

求x的绝对值

计算结果

floor

doublefloor(x)

doublex;

求不大于x的最大整数

该整数的双精度实数

fmod

doublefmod(x,y)

doublex,y;

求整除x/y的余数

返回余数的双精度实数

frexp

doublefrexp(val,eptr)

doubleval;

int*eptr

把双精度数val分解为数字部分(尾数)和以2为底的指数n,即val=x*2n,n存放在eptr指向的变量中

数字部分x

0.5<=x<1

log

doublelog(x)

doublex;

求logex即lnx

计算结果

log10

doublelog10(x)

doublex;

求log10x

计算结果

modf

doublemodf(val,iptr)

doubleval;

double*iptr

把双精度数val分解为整数部分和小数部分,把整数部分存到iptr指向的单元

val的小数部分

pow

doublepow(x,y)

doublex,y

计算xy的值

计算结果

sin

doublesin(x)

doublex;

计算sin(x)的值

x的单位为弧度

计算结果

函数名称

函数与行参类型

函数功能

返回值

sinh

doublesinh(x)

doublex;

计算x的双曲线正弦函数sinh(h)的值

计算结果

sprt

doublesprt(x)

doublex;

计算

(x>=0)

计算结果

tan

doubletan(x)

doublex;

计算tan(x)的值

x位为弧度

计算结果

tanh

doubletanh(x)

doublex;

计算x的双曲线正切函数tanh(x)的值

计算结果

字符函数

字符函数原型在ctype.h中

字符函数表

函数名称

函数与行参类型

函数功能

返回值

isalnum

intisalnum(ch)

intch;

检查ch是否字母或数字

是字母或数字返回;否则返回0

isalpha

intisalpha(ch)

intch;

检查ch是否字母

是字母返回1;则返回0

iscntrl

intiscntrl(ch)

intch;

检查ch是否控制字母(其ASCII码在0和0xlf之间)

是控制字符,返回1;否则返回0

isdigit

intisdigit(ch)

intch;

检查ch是否数字(0~9)

是数字返回1;否则返回0

isgraph

intisgraph(ch)

intch;

检查ch是否是可打印字符(其ASII码在0×21到0×7e之间)不包括空格

是打印字符返回1;否则返回0

islower

intislower(ch)

intch

检查ch是否是小写字母(a~z)

是小写字母返回1;否则返回0

isprint

intisprint(ch)

intch

检查ch是否可打印字符(不包括空格),其ASCII码值在0×21到0×7e之间

是可打印字符,返回1;否则返回0

isspace

intisspace(ch)

intch;

检查ch是否空格、跳格符(制表符)或换行符

是,返回1;否则返回0

函数名称

函数与行参类型

函数功能

返回值

isupper

intisupper(ch)

intch;

检查ch是否大写字母(A~Z)

是大写字母,返回1;否则返回0

isxdigit

intisxdigit(ch)

intch

检查ch是否一个十六进制数字(即0~9,或A~F,a~f)

是,返回1;否则返回0

tolower

inttolower(ch)

intch

将ch字符转换为小写字母

返回ch对应的小写字母

toupper

inttoupper(ch)

intch

将ch字符转换为大写字母

返回ch对应的大写字母

 

字符串函数

字符串函数原型在string.h中

字符串函数表

函数名称

函数与行参类型

函数功能

返回值

memchr

voidmemchr(buf,ch,count)

void*buf;charch;

Unsignedintcount;

在buf的前count个字符里搜索字符ch首次出现的位置

返回值指向buf中ch第一次出现的位置指针;若没有找到ch返回NULL

memcmp

intmemcmp(buf1,buf2,count)

void*buf1,*buf2;

unsignedintcount

按字典顺序比较由buf1和buf2指向数组的前count个字符

buf1

buf1=buf2;返回0;

buf1>buf2;为正数;

 

memcpy

void*memcpy(to,from,count)

void*to,*from;

unsignedintcount;

将from指向数组中的前count个字符拷贝到to指向的数组中,from和to指向的数组不允许重叠

 

返回指向to的指针

mem-

move

void*mem-move(to,from,count)

void*to,*from;

unsignedintcount;

将from指向的数组中的前count个字符拷贝到to指向的数组中,from和to指向的数组可以允许重叠

 

返回指向to的指针

memset

void*memset(buf,ch,count)

void*buf;charch;

unsignedintcount;

将字符ch拷贝到buf所指向的数组的前count个字符串

返回buf

stcat

char*strcat(str1,str2)

char*str1,*str2;

把字符串str2街道str1后面,取消原来的str1最后面的串结束符'\0'

返回str1

函数名称

函数与行参类型

函数功能

返回值

strchr

char*strchr(str,ch)

char*str;

intch;

找出str指向的字符串中第一次出现字符ch的位置。

返回指向该位置的指针,若找不到,则应返回NULL。

strcmp

intstrcmp(str1,str2)

char*str1,*str2;

比较字符串str1和str2

str1

str1=str2;返回0;

str1>str2;为正数;

strcpy

char*strcpy(str1,str2)

char*str1,*str2;

把str2指向的字符串拷贝到str1中去

返回str1

strlen

unsignedintstrlen(str)

char*str;

统计字符串str中字符的个数(不包括终止符'\0')

返回字符个数

strncat

char*strncat(str1,str2,count)

char*str1,*str2;

Unsignedintcount;

把字符串str2指向的字符串中最多count个字符连到串str1后面,并以NULL结尾

返回str1

strncmp

intstrncmp(str1,str2,count)

char*str1,*str2;

unsignedintcount;

比较字符串str1和str2中最多的前count字符

str1

str1=str2;返回0;

str1>str2;为正数;

strncpy

char*strncpy(str1,str2,count)

char*str1,*str2;

unsignedintcount;

把Str2指向的字符串中最多前count个字符拷贝到串str1中去

返回str1

strnset

char*setnset(buf,ch,count)

char*buf;charch;

unsignedintcount;

将字符ch拷贝到buf所指向的数组的前count个字符串中

返回buf

strset

char*strset(buf,ch)

char*buf;charch;

将buf所指向字符串中的全部字符都变为ch

返回buf

strstr

char*strstr(str1,str2)

char*str1,*str2;

寻找str2指向的字符串在str1指向的字符串中首次出现的位置

反回str2指向的子串首次出现的地址,否则返回NULL

 

输入输出函数

输入输出函数原型在stdio.h中

输入输出函数表

函数名称

函数与行参类型

函数功能

返回值

Clearerr

voidclearerr(fp)

FILE*FP;

清除文件指针错误

函数名称

函数与行参类型

函数功能

返回值

close

intclose(fp)

intfp;

关闭文件(非ANSI标准)

关闭成功返回0,不成功返回-1

creat

intcreat(filename,mode)

char*filename;

intmode;

以mode所指定的方式建立文件(非ANSI标准)

成功则返回正数,否则返回-1

eof

ineof(fd)

intfd;

判断文件(非ANSI标准)是否结束

遇文件结束,返回1;否则返回0

fclose

intfclose(fp)

FILE*fp;

关闭fp所指的文件,释放文件缓冲区

关闭成功返回0;否则返回非0

feof

intfeof(fp)

FILE*fp;

检查文件是否结束

遇文件结束返回非0;否则返回0

ferror

intfrrrorfp)

FILE*fp;

测试fp所指的文件是否有错误

无错误返回;否则返回非0

fflush

intfflush(fp)

FILE*FP;

将fp所指的文件的控制信息和数据存盘

存盘正确返回0;否则返回非0

fgetc

infgetc(fp)

FILE*fp;

从fp指向的文件中取得下一个字符

返回得到的字符。

若出错返回EOF

fgets

char*fgets(buf,n,fp)

char*buf;intn;

FILE*fp;

从fp指向的文件读取一个长度为(n-1)的字符串,存入起始地址为buf空间

返回地址buf,若遇文件结束或出错,则返回EOF

fopen

FILE*fopen(filename,mode)

char*filename.*mode;

以mode指定的方式打开名为filename文件

成功,返回一个文件指针;否则返回0

fprintf

intfprintf(fp,format,args,…)

FILE*fp;

char*format;

把args的值以format指定的格式输出到fp所指定的文件中

实际输出的字符数

fputc

intfputc(ch,fp)

charch;

FILE*FP;

将字符ch输出到fp指向的文件中

成功,则返回该字符,否则返回EOF

fputs

intfputs(str,fp)

charstr;

FILE*fp;

将str所指定的字符串输出到fp指定的文件中

成功返回0,若出错返回EOF

 

fread

intfread(pt,size,n,fp)

char*pt;

unsignedsize;

unsignedn;

FILE*fp;

从fp所指定的文件中读取长度为size的n个数据项,存到pt所指向的内存区

返回所读的数据项个数,如遇文件结束或出错,返回0

 

fscanf

intfscan(fp,format,args,…)

FILE*fp;

charformat;

从fp指定的文件中按给定的for-mat格式将读入的数据送到args所指向的内存变量中(args是指针)

 

已输入的数据个数

函数名称

函数与行参类型

函数功能

返回值

fseek

intfseek(fp,offset,base)

FILE*fp;

longoffset;

intbase;

将fp所指向的文件的位置指针移到base所指出的位置为基准,以offset为offset为位移量的位置

返回当前位置,否则返回返回-1

ftell

longftell(fp)

FILE*fp;

返回fp所指向的文件中的读写位置

返回文件中的读写位置,否则返回0

fwrite

intfwrite(ptr,size,n,fp)

char*ptr;

FILE*fp;

unsignedsize,n;

把ptr所指向的n*size个字节输出到fp所指向的文件中

写到fp文件中的数据项的个数

getc

intgetc(fp)

FILE*fp

从fp指向的文件中读入下一个字符

返回读入的字符;若文件结束后或出错返回EOF

getchar

intgetchar()

从标准输入设备读取下一个字符

返回字符,r若文件结束或出错返回-1

gets

char*gets(str)

char*str;

从标准输入设备读取字符串存入str指向的数组

成功返回指针str,否则返回NULL

open

intopen(filename,mode)

char*filename;

intmode;

以mode指定的方式打开已存在的名为filename的文件(非ANSI标准)

返回文件号(正数);若文件打开失败,返回-1

printf

intprintf(format,args,…)

char*format;

在format指定的字符串的控制下,将输出列表args的值输出到标准输出设备

输出的字符个数。

若出错,否则返回负数

putc

intputc(ch,fp)

intch;

FILE*fp;

把一个字符ch输出到fp所指的文件中

输出的字符ch,若出错,返回EOF

putchar

intputchar(ch)

charch;

把字符ch输出到标准的输出设备

输出字符ch,若出错,则返回EOF

puts

intputs(str)

char*str;

把str指向的字符串输出到标准输出设备,将'\0'转换为回车换行

返回换行符,若失败,返回EOF

putw

intpuw(w,fp)

intI;

FILE*fp;

将一个整数I(即一个字)写到fp所指的文件(非ANSI标准)中

返回输出整数;若出错,返回EOF

 

read

intread(fd,buf,count)

intfd;

char*buf;

unsignedintcount;

从文件号fd所指示的文件(非ANSI标准)中读count个字节到buf指示的缓冲区中

返回真读入的字节个数,如遇文件结束返回0,出错返回-1

函数名称

函数与行参类型

函数功能

返回值

remove

intremove(fname)

char*fname;

删除fname为文件名的文件

成功返回0,出错返回-1

rename

intrename(oname,nname)

char*oname,*nname;

把oname所指的文件名改为由nname所指的文件名

成功返回0;出错返回-1

 

rewind

voidrewind(fp)

FILE*fp;

将fp指定的文件指针置于文件头,并清除文件结束标志和错误标志

成功返回0;出错返回非零值

 

scanf

intscanf(format,args,…)

char*format;

从标准输入设备按format指示的格式字符串规定的格式,输入数据给args所指示的单元。

Args为指针

读入并赋给args数据个数。

遇文件结束返回EOF;若出错返回0

write

inrwrite(fd,buf,count)

intfd;

char*buf;

unsignedcount;

从buf指示的缓冲区输出count个字符到fp所指的文件(非ANSI标准)中

返回实际输出的字节数,如出错返回-1

 

动态存储分配函数

动态存储分配函数的远型在stdlib.h中

动态存储分配函数表

函数名称

函数与行参类型

函数功能

返回值

calloc

void*calloc(n,size)

unsignedn;

unsignedsize;

分配n个数据项的内存连续空间,每个数据项的大小为size

分配内存单元的起始地址,若不成功,返回0

free

voidfree(p)

void*p;

释放p所指的内存区

malloc

void*malloc(size)

unsignedsize;

分配size字节的内存区

所分配的内存区地址,如内存不够,返回0

realloc

void*realloc(p,size)

void*p;

unsignedsize

将p所指的已分配的内存区的大小改为size,size可以比原来分配的空间大或小

返回指向该内存区的指针。

若重新分配失败,返回NULL

其他函数

“其他函数”是C语言的标准库函数,由于不便归入某一类,所以单独列出。

函数的原型在stdlib,h中

其他函数表

函数名称

函数与行参类型

函数功能

返回值

abs

intabs(num)

intnum;

计算整数num的绝对值

返回计算结果

atof

doubleatof(str)

char*str;

将str指向的字符串转换为一个double型的值

返回双精度计算结果

atoi

intatoi(str)

char*str;

将str指向的字符串转换为一个int型的整数

返回转换结果

atol

longatol(str)

char*str;

将str所指向的字符串转换一个long型的整数

返回转换结果

exit

voidexit(status)

intstatus;

终止程序运行。

将status的值返回调用的过程

 

itoa

char*itoa(n,str,radix)

intn,radix;

char*str

将整数n的值按照radix进制转换为等价的字符串,并将结果存入str指向的字符串中

返回一个指向str的指针

labs

longlabs(num)

lognum

计算长整数num的绝对值

返回计算结果

 

ltoa

char*ltoa(n,str,radix)

longintn;

intradix;

char*str;

将长整数n的值按照radix进制转换为等价的字符串,并将结果存入str指向的字符串中

返回一个指向str的指针

rand

intrand()

产生0到RAND-MAX

之间的伪数。

RAND-MAX在头文件中定义。

返回一个伪随机(整)数

random

intrandom(num)

intnum;

产生0到num之间的随机数

返回一个随机(整)数

Random-

ize

voidrandomize()

初始化随机函数。

使用时要求包含头文件time.h

system

intsysten(str)

char*str;

将str所指向的字符串作为命令传递DOS的命令处理器

返回所执行命令的退出状态

函数名称

函数与行参类型

函数功能

返回值

 

strod

 

doublestrtod(start,end)

char*start;

char**end;

将start指向的数字字符串转换成double,直到出现不能转换为浮点数的字符为止,剩余的字符串赋给指针end*HUGE-VAL是turboC在头文件math.h中定义的数学函数溢出标志值

返回转换结果。

若未转换则返回0。

若转换出错,返回HUGE—VAL表示上溢,或返回-HUGE—VAL表示下溢

 

strtol

 

longintstrtol(start,end,radix)

char*start;

char**end;

intradix

将start指向的数字字符串转换成long,直到出现不能转换为长整型数的字符为止,剩余的字符串赋给指针end。

转换时,数字的进制由radix确定。

*LONG-MAX是turboC在头文件limits.h中定义的long型可表示的最大值

 

返回转换结果。

若未转换则返回0。

若转换出错,返回LONG—VAL表示上溢,或返回-LONG—VAL表示下溢

 

运算符及其结合性

优先级

运算符

含义

要求操作数的个数

结合性

 

1

()

圆括号

1(单止运算符)

左结合性

(从左向右)

[]

下标运算符

2(双目运算符)

—>

箭头运算符

.

圆点运算符

 

2

逻辑非运算符

 

1(单目运算符)

 

右结合性

(从右向左)

按位取反运算符

++

自增运算符

——

自减运算符

负号运算符

(类型)

强制类型转换运算符

*

指针间接引用运算符

&

取地址运算符

sizeof

取占内存大小运算符

优先级

运算符

含义

要求操作数的个数

结合性

3

*

乘法运算符

2(双目运算符)

左结合性

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1