标准C和linux C都有哪些区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了标准C和linux C都有哪些区别相关的知识,希望对你有一定的参考价值。

参考技术A 我个人觉得c标准库更好,你可以都下载一个,再比较下就知道了。毕竟个人观点不一样

C语言中的标准函数都有哪些

C语言输入输出函数有很多,标准I/O函数中包含了如下几个常用的函数:
scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.

int getc(FILE *fp)
getc主要是从文件中读出一个字符.常用的判断文件是否读取结束的语句为 (ch = getc(fp)) != EOF.EOF为文件结束标志,定义在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定义在stdlib.h中一样,文件也可以被理解为一种流,所以当fp为stdin时,getc(stdin)就等同于getchar()了.

int putc(int ch,FILE *fp)
putc主要是把字符ch写到文件fp中去.如果fp为stdout,则putc就等同于putchar()了.

int getchar(void)

getchar主要是从标准输入流读取一个字符.默认的标准输入流即stdio.h中定义的stdin.但是从输入流中读取字符时又涉及到缓冲的问题,所以并不是在屏幕中敲上一个字符程序就会运行,一般是通过在屏幕上敲上回车键,然后将回车前的字符串放在缓冲区中,getchar就是在缓冲区中一个一个的读字符.当然也可以在while循环中指定终止字符,如下面的语句:while ((c = getchar()) != '#')这是以#来结束的.

int putchar(int ch)

putchar(ch)主要是把字符ch写到标准流stdout中去.

char * gets(char *str)
gets主要是从标准输入流读取字符串并回显,读到换行符时退出,并会将换行符省去.

int puts(char *str)
puts主要是把字符串str写到标准流stdout中去,并会在输出到最后时添加一个换行符.

char *fgets(char *str, int num, FILE *fp)
str是存放读入的字符数组指针,num是最大允许的读入字符数,fp是文件指针.fgets的功能是读一行字符,该行的字符数不大于num-1.因为fgets函数会在末尾加上一个空字符以构成一个字符串.另外fgets在读取到换行符后不会将其省略.

int fputs(char *str, file *fp)
fputs将str写入fp.fputs与puts的不同之处是fputs在打印时并不添加换行符.

int fgetc(FILE *fp)
fgetc从fp的当前位置读取一个字符.

int fputc(int ch, file *fp)
fputc是将ch写入fp当前指定位置.

int fscanf(FILE *fp, char *format, 输入列表)
fscanf按照指定格式从文件中出读出数据,并赋值到参数列表中.

int fprintf(FILE *fp, char *format, 输出列表)
fprintf将格式化数据写入流式文件中.

数据块读写函数

fread (buffer,size,count,fp);
fwrite(buffer,size,count,fp);
参数说明:
buffer:是一个指针。
对fread 来说,它是读入数据的存放地址。
对fwrite来说,是要输出数据的地址(均指起始地址)。
size: 要读写的字节数。
count: 要进行读写多少个size字节的数据项。
fp: 文件型指针。
参考技术A 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
原型:double cabs(struct complex znum)
功能:返回一个双精度数,为计算出复数znum的绝对值。Complex的结构模式在math.h中给出定义,其定义如下:
struct complex
double a,y

   头文件:stdlib.h,math.h
ceil
原型:double ceil(double x)
功能:返回不小于参数x的最小整数
头文件:math.h
_clear87
原型:unsigned int _clear87(void)
功能:清除浮点运算器状态字
头文件:float.h
_control87
原型:unsigned int _control87(unsigned int newvals,unsigned int mask)
功能:取得或改变浮点运算器控制字
头文件:float.h
cos
原型:double cos(double x)
功能:返回参数x的余弦函数值
头文件:math.h
cosh
原型:double cosh(double x)
功能:返回参数的双曲线余弦函数值
头文件:math.h
ecvt
原型:char*ecvt(double value,int ndigit,int*decpt,int*sign)
功能:把双精度数value转换为ndigit位数字的以空格字符结束的字符串,decpt指向小数点位置,sign为符号标志。函数返回值为指向转换后的字符串的指针
头文件:stdlib.h
exp
原型:double exp(double x)
功能:返回参数x的指数函数值
头文件:math.h
fabs
原型:double fabs(double x)
功能:返回参数x的绝对值
头文件:math.h
floor
原型:double floor(double x)
功能:返回不大于参数x的最大整数
头文件:math.h
fmod
原型:double fmod(double x,double y)
功能:计算x/y的余数。返回值为所求的余数值
头文件:math.h
_fprest
原型:void _fprest(void)
功能:重新初始化浮点型数数学包
头文件:float.h
frexp
原型:double frexp(double value,int*eptr)
功能:把双精度函数value分解成尾数和指数。函数返回尾数值,指数值存放在eptr所指的单元中
头文件:math.h
hypot
原型:double frexp(double x,double y)
功能:返回由参数x和y所计算的直角三角形的斜边长
头文件:math.h
labs
原型:long labs(long n)
功能:返回长整数型参数n的绝对值
头文件:stdlib.h
ldexp
原型:double ldexp(double value,int exp)
功能:返回value*2exp的值
头文件:math.h
log
原型:double log(double x)
功能:返回参数x的自然对数(ln x)的值
头文件:math.h
log10
原型:double log10(double x)
功能:返回参数x以10为底的自然对数(lg x)的值
头文件:math.h
modf
原型:double modf(double value,double*iptr)
功能:把双精度数value分为整数部分和小数部分。整数部分保存在iptr中,小数部分作为函数的返回值
头文件:math.h
poly
原型 :double poly(double x,int n,double c[ ])
功能:根据参数产生x的一个n次多项式,其系数为 c[0],c[1],…c[n]。函数返回值为给定x的多项式的值
头文件:math.h
pow
原型:double pow(double x,double y)
功能:返回计算xy的值
头文件:math.h
pow10
原型:double pow10(int p)
功能:返回计算10p的值
头文件:math.h
rand
原型:int rand(void)
功能:随机函数,返回一个范围在0~215-1的随机整数
头文件:stdlib.h
sin
原型:double sin(double x)
功能:返回参数x的正弦函数值
头文件:math.h
sinh
原型double sinh(double x)
功能:返回参数x的双曲正弦函数值
头文件:math.h
sqrt
原型:double sqrt
功能:返回参数x的平方根值
头文件:math.h
srand
原型:void srand(unsigned seed)
功能:初始化随机函数发生器
头文件:stdlib.h
_status87
原型:unsigned int_status87()
功能:取浮点状态
头文件:float.h
tan
原型:dounle tan(double x)
功能:返回参数x的正切函数值
头文件:math.h
tanh
原型:double tan(double x)
功能:返回参数x的双曲正切函数值
头文件:math.h
参考技术B C语言中的函数分为两大类,第一个是库函数,这个是标准函数库,也就是前辈们编写好的直接可以拿来使用的啊!关于标准函数库,网上有下载!第二个是自定义函数,这个你是自己定义的函数! 参考技术C 书上有的吧..很多的..一般有MAIN.输入输出函数.复合函数.很多的..

以上是关于标准C和linux C都有哪些区别的主要内容,如果未能解决你的问题,请参考以下文章

linux中shell分多少种,都有啥区别

linux下的c与windows下的c的区别

Objective-C 和 C++ 的区别都有哪些?为啥苹果会选择前者

Objective-C 和 C++ 的区别都有哪些?为啥苹果会选择前者

c语言中操作符和标识符都有哪些区别和联系

C语言诞生之前,都有哪些重要的编程语言?