‘壹’ c语言中函数的类型有哪些呢
对于C语言中的函数类型,一般可以分为以下两猛御类:
1. 库函数(Library Function):也称为内置函数(Built-in Function),是由C语言提供的、已经封装好的函数。库函数通常具有标准化、通用化的特点,包括数学运算、字符串处理、文件操作等方面。例如`printf()`和`scanf()`是C语言中常用的库函数。
2. 用户自定义函数(User-Defined Function):也称为外置函数(External Function),是程序员根据需求自行编写的函数。用户自定义函数可以将枝唤某一段需要重复使用的代码封装成一个函数,在其他地方调用该函数即可实现相同的功能,起到了复用代码的作用。在需要多枝搭岩次执行特定任务时,使用自定义函数可以使程序结构更加清晰、易于理解。
‘贰’ C语言与C语言库函数是什么关系
1、C语言与C语言库函数的关系就类似于汉字与经典着作的关系。
C语言是一种计算机编程语言,C语言函数库是由C语言编写出来的文献。方便后来者们更加简单快捷的使用C语言。
2、C语言是一种程序设计的入门语言。由于C语言的语句中没有提供直接计算sin或cos函数的语句,会造成编写程序困难;但是函数库提供了sin和cos函数,可以拿来直接调用。显示一段文字,我们在C语言中找不到显示语句,只能使用库函数printf。
C语言的库函数并不是C语言本身的一部分,它是由编译程序根据一般用户的需要,编制并提供用户使用的一组程序。C的库函数极大地方便了用户,同时也补充了C语言本身的不足。在编写C语言程序时,使用库函数,既可以提高程序的运行效率,又可以提高编程的质量。
‘叁’ c语言中strlen()怎么用
函数声明:extern unsigned int strlen(char *s);
所属函数库:<string.h>
功能:返回s所指的字符串的长度,其中字符串必须以’\0’结尾
参数:s为字符串的初始地址
使用举例:
代码如下
编译运行结果
说明:
函数strlen比较容易理解,其功能和sizeof很容易混淆。其中sizeof指的是字符串声明后占用的内存长度,它就是一个操作符,不是函数;而strlen则是一个函数,它从第一个字节开始往后数,直到遇见了’\0’,则停止
第一 string头文件中的函数strlen 只可以用来测试字符型数组的长度,其他类型不可以
第二 如果要测试int 修改原函数中的参数,会导致数组长度变长(计算机会一直找下去,直到遇到\0)
第三 如果是字符数组,当里面的字符数少于数组长度时,可以正常输出用strlen,如果等于数组长度,则会出现问题
函数介绍:
(推荐教程:c语言教程)
strlen()函数用于计算字符串的长度,直到空结束字符,但不包括空结束字符。
语法结构:
size_t strlen(const char *str)
参数说明:
str -- 要计算长度的字符串。
返回值:
该函数返回字符串的长度
‘肆’ c语言标准函数库的介绍
在C语言程序设计里,C 标准函数(C Standard library)是所有目前符合标准的头文件(head file)的集合,以及常用的函数库实现程序,例如 I/O输入输出和字串符控制。不像 COBOL、Forrian和 PL/I等编程语言,在 C 语言的工作任务里不会包含嵌入的关键字,所以几乎所有的 C 语言程序都是由标准函数库的函数来创建的。
‘伍’ C语言库是什么如何得到怎么用
c语言库就是前人写好的一系列C语言代码。它里面包含一些函数,一些功能。例如我们每次都要输入的#include<stdio.h>,这里面的stdio.h就是标准输入输出库,它就是C语言的一种库。
‘陆’ 什么是C语言标准函数库平常用的哪些函数属于标准函数库
你会发现,有一些头文件(比如stdlib.h,stdio.h)每一个编译器都有,而里面的函数(如printf,malloc)每一个编译器都支持。这些函数组成的集合就是标准函数库。平常用的函数基本都属于标准函数库。
ANSI对此是有规定的
‘柒’ c语言的图形函数库有哪些
图形和图像函数包含在graphics.h里面
(一) 像素函数
56. putpiel() 画像素点函数
57. getpixel()返回像素色函数
(二) 直线和线型函数
58. line() 画线函数
59. lineto() 画线函数
60. linerel() 相对画线函数
61. setlinestyle() 设置线型函数
62. getlinesettings() 获取线型设置函数
63. setwritemode() 设置画线模式函数
(三)、多边形函数
64. rectangle() 画矩形函数
65. bar() 画条函数
66. bar3d() 画条块函数
67. drawpoly() 画多边形函数
(四)、 圆、弧和曲线函数
68. getaspectratio()获取纵横比函数
69. circle()画圆函数
70. arc() 画圆弧函数
71. ellipse()画椭圆弧函数
72. fillellipse() 画椭圆区函数
73. pieslice() 画扇区函数
74. sector() 画椭圆扇区函数
75. getarccoords()获取圆弧坐标函数
(五)、 填充函数
76. setfillstyle() 设置填充图样和颜色函数
77. setfillpattern() 设置用户图样函数
78. floodfill() 填充闭域函数
79. fillpoly() 填充多边形函数
80. getfillsettings() 获取填充设置函数
81. getfillpattern() 获取用户图样设置函数
(六)、图像函数
82. imagesize() 图像存储大小函数
83. getimage() 保存图像函数
84. putimage() 输出图像函数
四、图形和图像函数
对许多图形应用程序,直线和曲线是非常有用的。但对有些图形只能靠操作单个像素才能画出。当然如果没有画像素的功能,就无法操作直线和曲线的函数。而且通过大规模使用像素功能,整个图形就可以保存、写、擦除和与屏幕上的原有图形进行叠加。
(一) 像素函数
56. putpixel() 画像素点函数
功能: 函数putpixel() 在图形模式下屏幕上画一个像素点。
用法: 函数调用方式为void putpixel(int x,int y,int color);
说明: 参数x,y为像素点的坐标,color是该像素点的颜色,它可以是颜色符号名,也可以是整型色彩值。
此函数相应的头文件是graphics.h
返回值: 无
例: 在屏幕上(6,8)处画一个红色像素点:
putpixel(6,8,RED);
57. getpixel()返回像素色函数
功能: 函数getpixel()返回像素点颜色值。
用法: 该函数调用方式为int getpixel(int x,int y);
说明: 参数x,y为像素点坐标。
函数的返回值可以不反映实际彩色值,这取决于调色板的设置情况(参见setpalette()函数)。
这个函数相应的头文件为graphics.h
返回值: 返回一个像素点色彩值。
例: 把屏幕上(8,6)点的像素颜色值赋给变量color。
color=getpixel(8,6);
‘捌’ 2017年计算机二级C语言考点解析:函数
7.1 库函数的正确调用
1.C语言提供了丰富的库函数,包括常用数学函数、对字符和字符串处理函数、输入输出处理函数等。在调用库函数时要注意以下几点:
(1)调用C语言标准库函数时必须在源程序中用include命令,include命令的格式是:
#include″头文件名″
include命令必须以#号开头,系统提供的头文件名都以.h作为后缀,头文件名用一对双引号″″或一对尖括号〈〉括起来。
(2)标准库函数的调用形式:
函数名(参数表)
2.在C语言中库函数的调用可以以两种形式出现:出现在表达式中;作为独立的语句完成某种操作。
7.2 函数的定义方法
1.C语言函数的一般形式为:
函数返回值的类型名 函数名(类型名 形参1,类型名 形参2,…)
{
说明部分
语句部分
}
定义的第一行是函数的首部,{}中的是函数体。
2.在老的C语言版本中,函数的首部用以下形式:
函数返回值的类型名 函数名(形参1,形参2…)
形参类型说明;
新的ANSI标准C兼容这种形式的函数首部说明。
3.函数名和形参名是由用户命名的标识符。在同一程序中,函数名必须。形式参数名只要在同一函数中即可,可以与函数中的变量同名。
4.C语言规定不能在一个函数内部再定义函数。
5.若在函数的首部省略了函数返回值的类型名,把函数的首部写成:
函数名(类型名 形参1,类型名 形参2,…)
则C默认函数返回值的类型为int类型。
6.当没有形参时,函数名后面的一对圆括号不能省略。
7.3 函数的类型和返回值
1.函数的类型由函数定义中的函数返回值的类型名确定,函数的类型可以是任何简单类型,如整型、字符型、指针型、双精度型等,它指出了函数返回值的具体类型。当函数返回的是整型值时,可以省略函数类型名。当函数只完成特定的操作而没有或不需要返回值时,可用类型名void(空类型)。
2.函数返回值就是return语句中表达式的值。当程序执行到return语句时,猛空程序的流程就返回到调用该函数的地方(通常称为退出调用函数),并空胡带回函数值。
7.4 形式参数与实际参数,参数值的传递
1.在函数定义中,出现的参数名称为形参(形式参数),在调用函数时,使用的参数值称为实参(实际参数)。
2.调用函数和被调用函数之间的参数值的传递是″按值″进行的,即数据只能从实参单向传递给形参。也就是说,当简单变量作为实参时,用户不能在函数中改变对应实参的值。
7.5 函数的正确调用(嵌套调用,递归调用)
1.调用函数时,函数名必须与被调用的函数名字完全一样。实参的个数与类型和形参的个数与类型一致。
2.C语言规定:函数必须先定义,后调用,也就是被调用函数必须在调用之前加以说明,或被调用函数整个放在调用函数之前。但对返回值类型为int或char类型的函数可以放在调用函数的后面。
3.C语言中函数定义都是互相平行、独立的,C语言不允许嵌套定义函数,但允许嵌套调用函数,也就是说,在调用一个函数的过程中,又调用另一个函数。
4.在C程序中,调用一个函数的过程中又出现直接或间接地调用该函数本身,称为函数的递归调用。
5.递归调用函数是C语言的特点之一,有时递归调用会使求解的问题变得更简单明了。
7.6 局部变量和全局变量
1.局部变量
在一函数内部所定义的变量称为局部变量,局部变量只在本函数范围内有效。
注意:
①不同函数可以使用相同的局部变量名,它们将代表不同的对象,互不干扰;
②一个函数的形参也为局部变量;
③在函数内部,复合语句也可定义变量,这些变量也为局部变量,只在此复合语句中有效。
2.全局变量
在C语言中,程序的编译单位是源程序文件,一个源程序文件中包含一个或多个函数。在函数之外所定义枝亏瞎的变量称为外部变量,也称为全局变量。全局变量可以被包含它的源程序文件中的其他函数所共用,作用域为从定义变量的位置开始到源程序文件结束,全局变量可以增加函数之间数据的联系。
注意:当在同一个源程序文件中,全局变量与局部变量同名时,在局部变量的作用范围内,全局变量不起作用,局部变量起作用。
7.7 变量的存储类别、作用域及生存期
1.变量的存储类别
在C语言中,有两类存储类别:自动类别及静态类别。
有4个与两种存储类别有关的说明符:auto(自动)、register(寄存器)、static(静态)和extern(外部),这些说明符一般与类型说明一起出现,一般放在类型名的左边,例如:
auto long I,j;
也可写成:
long auto I,j;
(1)自动变量:自动变量是C程序中使用最多的一种变量,这种变量的建立和撤消都是在系统中自动进行的。
格式:[auto]数据类型 变量名[=初始化表达式],…;
上面的说明格式中,方括号中是可省略的部分,auto为自动类别标识符,若省略auto,系统缺省的存储类别也为自动类别。
注意:函数的形参也为自动类别,在定义时不必加存储类别标识符。
(2)寄存器变量:寄存器变量与自动变量的性质相同,其区别只在于存储的位置不同,寄存器变量存储在CPU的寄存器中,而自动变量存储在内存中的动态存储区,寄存器变量的存取速度要快些。
格式:register数据类型,变量名[=初始化表达式],…;
上面的说明格式中,register为寄存器变量的存储类别标识符。
说明:
①CPU中寄存器的数目是有限的,因此只能把少数的变量说明为寄存器变量;
②寄存器变量是存放在寄存器中的,而不是存放于内存中,所以,寄存器变量无地址;
③寄存器变量的说明应尽量放在靠近要使用的地方,用完后尽快释放,这样可提高使用效率。
(3)静态变量:静态类别变量的存储空间在程序的整个运行期间是固定的。
格式:static数据类型 变量名[=初始化表达式],…;
在上面的说明格式中,static为静态变量的存储类别标识符。
静态变量的初始化在编译时进行,定义时可用常量或表达式进行显式初始化。对于没有初始化的静态变量,自动初始化为0(整型)或0.0(实型)。
注意:静态变量具有可继承性,这与自动变量有所不同。
(4)外部变量:使用extern可使外部变量使用范围扩充到需要使用它的函数。外部变量可作显式的初始化,若不作初始化,系统将自动地初始化为0或0.0。
格式:[extern]数据类型,变量名[=初始化表达式],…;
上面的说明格式中,extern使外部变量的作用范围扩大到其他源程序文件中。
注意:局部变量既可以说明为自动类别,也可以说明为静态类别;全局变量只能说明为静态类别。
2.变量的作用域及生存期
在C语言中,变量必须先说明后使用,在程序中一个已定义的变量的使用范围就是此变量的作用域。经过赋值的变量在程序运行期间能保持其值的时间范围为该变量的生存期。
(1)局部变量的使用域及生存期
①自动变量的使用域及生存期
自动变量的存储单元被分配在内存的动态存储区,每当进函数体(或复合语句)时,系统自动为自动变量分配存储单元,退出时自动释放这些存储单元。自动变量的作用域为从定义的位置起,到函数体(或复合语句)结束为止。
自动变量在进入到定义它们的函数体(或复合语句)时生成,在退出所在的函数体(或复合语句)时消失,这就是自动变量的生存期。
使用自动变量的优点是使各函数之间造成信息分隔,不同函数中使用同名变量时不会相互影响。
②寄存器变量的使用域及生存期
寄存器变量的使用域及生存期与自动变量相同。
③静态存储类别的局部变量
在函数体(或复合语句)内部,用static说明的变量静态存储类别的局部变量,这种变量的作用域与自动(或寄存器)变量的作用域相同,但是生存期有所不同。
在整个程序运行期间,静态局部变量在内存的静态存储区中占据着永久的存储单元,甚至在退出函数后下次再进入函数时,静态局部变量仍使用原来的存储单元。由于不释放存储单元,所以这些存储单元中的值将会被保留下来。静态局部变量的生存期将一直延长到程序运行结束。
静态局部变量适合于在函数调用之间必须保留局部变量值的独立变量。
‘玖’ c语言中怎么调用函数
函数分为库函数和自定义函数,在调用库函数时只要标明头文件(所谓头文件就是一个东西,里面包括了一些函数各声明之类的,当你要调用它中的函数时就就得先向程序说明你要调用这个文件里的函数,否则有有侵权行为哦)可以在主调函数中调用这个头文件里的所有函数了,例如头文件为#include<stdio.h>你就可以在主调函数中调用这个头文件里的函数:
main
{ printf("haha");/*这时main函数为主调函数,printf为被调函数*/
}
调用自定义函数时其实和调用库函数一样的,只不过这个函数是你自己定义的,再如:
main
{ void f();/*声明 f()函数*/
f(); /*调用f()函数*/
}
f()
{
printf("haha");/*f()函数调用库函数*/
}
‘拾’ 求C语言所有的简单函数!
库函数并不是C语言的一部分,它是由编译程序根据一般用户的需要编制并提供用户使用的一组程序。每一种C编译系统都提供了一批库函数,不同的编译系统所提供的库函数的数目和函数名以及函数功能是不完全相同的。ANSIC标准提出了一批建议提供的标准库函数。它包括了目前多数C编译系统所提供的库函数,但也有一些是某些C编译系统未曾实现的。考虑到通用性,本书列出Turbo C 2.0版提供的部分常用库函数。
由于Turbo C库函数的种类和数目很多(例如:还有屏幕和图形函数、时间日期函数、与本系统有关的函数等,每一类函数又包括各种功能的函数),限于篇幅,本附录不能全部介绍,只从教学需要的角度列出最基本的。读者在编制c程序时可能要用到更多的函数,请查阅有关的Turbo C库函数手册。
(1)数学函数
使用数学函数时,应该在源文件中使用命令:
#include″math.h″
函数名 函数与形参类型 功 能 返回值
acos double acos(x)
double x 计算cos-1(x)的值
-1<=x<=1 计算结果
asin double asin(x)
double x 计算sin-1(x)的值
-1<=x<=1 计算结果
atan double atan(x)
double x 计算tan-1(x)的值 计算结果
atan2 double atan2(x,y)
double x,y 计算tan-1(x/y)的值 计算结果
cos double cos(x)
double x 计算cos(x)的值
x的单位为弧度 计算结果
cosh double cosh(x)
double x 计算x的双曲余弦cosh(x)的值 计算结果
exp double exp(x)
double x 求ex的值 计算结果
fabs double fabs(x)
double x 求x的绝对值 计算结果
floor double floor(x)
double x 求出不大于x的最大整数 该整数的双精度实数
fmod double fmod(x,y)
double x,y 求整除x/y的余数 返回余数的双精度实数
frexp double frexp(val,eptr)
double val
int *eptr 把双精度数val分解成数字部分(尾数)和以2为底的指数,即val=x*2n,n存放在eptr指向的变量中 数字部分x
0.5<=x<1
log double log(x)
double x 求logex即lnx 计算结果
log10 double log10(x)
double x 求log10x 计算结果
modf double modf(val,iptr)
double val
int *iptr 把双精度数val分解成数字部分和小数部分,把整数部分存放在ptr指向的变量中 val的小数部分
pow double pow(x,y)
double x,y 求xy的值 计算结果
sin double sin(x)
double x 求sin(x)的值
x的单位为弧度 计算结果
sinh double sinh(x)
double x 计算x的双曲正弦函数sinh(x)的值 计算结果
sqrt double sqrt (x)
double x 计算√x,x≧0 计算结果
tan double tan(x)
double x 计算tan(x)的值
x的单位为弧度 计算结果
tanh double tanh(x)
double x 计算x的双曲正切函数tanh(x)的值 计算结果
------------------------------------------------------------------------------------------------------------------------------
(2)字符函数
在使用字符函数时,因该在源文件中使用命令:
#include“ctype.h”
函数名 函数和形参类型 功能 返回值
isalnum int isalnum(ch)
int ch 检查ch是否字母或数字 是字母或数字返回1;否则返回0
isalpha int isalpha(ch)
int ch 检查ch是否字母 是字母返回1;否则返回0
iscntrl int iscntrl(ch)
int ch 检查ch是否控制字符(其ASCⅡ码在0和0xlF之间) 是控制字符返回1;否则返回0
isdigit int isdigit(ch)
int ch 检查ch是否数字 是数字返回1;否则返回0
isgraph int isgraph(ch)
int ch 检查ch是否是可打印字符(其ASCⅡ码在0x21和0x7e之间),不包括空格 是可打印字符返回1;否则返回0
islower int islower(ch)
int ch 检查ch是否是小写字母
(a~z) 是小字母返回1;否则返回0
isprint int isprint(ch)
int ch 检查ch是否是可打印字符(其ASCⅡ码在0x21和0x7e之间),不包括空格 是可打印字符返回1;否则返回0
ispunct int ispunct(ch)
int ch 检查ch是否是标点字符(不包括空格)即除字母、数字和空格以外的所有可打印字符 是标点返回1;否则返回0
isspace int isspace(ch)
int ch 检查ch是否空格、跳格符(制表符)或换行符 是,返回1;否则返回0
issupper int isalsupper(ch)
int ch 检查ch是否大写字母
(A~Z) 是大写字母返回1;否则返回0
isxdigit int isxdigit(ch)
int ch 检查ch是否一个16进制数字
(即0~9,或A到F,a~f) 是,返回1;否则返回0
tolower int tolower(ch)
int ch 将ch字符转换为小写字母 返回ch对应的小写字母
toupper int toupper(ch)
int ch 将ch字符转换为大写字母 返回ch对应的大写字母
-----------------------------------------------------------------------------------------------------------------------
(3)字符串函数
使用字符串中函数时,应该在源文件中使用命令:
#include“string.h”
函数名 函数和形参类型 功能 返回值
memchr void memchr(buf,ch,count)
void *buf;charch;
unsigned int count; 在buf的前count个字符里搜索字符ch首次出现的位置 返回指向buf中ch的第一次出现的位置指针;若没有找到ch,返回NULL
memcmp int memcmp(buf1,buf2,count)
void *buf1,*buf2;
unsigned int count; 按字典顺序比较由buf1和buf2指向的数组的前count个字符 buf1<buf2,为负数
buf1=buf2,返回0
buf1>buf2,为正数
memcpy void *memcpy(to,from,count)
void *to,*from;
unsigned int count; 将from指向的数组中的前count个字符拷贝到to指向的数组中。From和to指向的数组不允许重叠 返回指向to的指针
memove void *memove(to,from,count)
void *to,*from;
unsigned int count; 将from指向的数组中的前count个字符拷贝到to指向的数组中。From和to指向的数组不允许重叠 返回指向to的指针
memset void *memset(buf,ch,count)
void *buf;char ch;
unsigned int count; 将字符ch拷贝到buf指向的数组前count个字符中。 返回buf
strcat char *strcat(str1,str2)
char *str1,*str2; 把字符str2接到str1后面,取消原来str1最后面的串结束符`\0` 返回str1
strchr char *strchr(str1,ch)
char *str;
int ch; 找出str指向的字符串中第一次出现字符ch的位置 返回指向该位置的指针,如找不到,则应返回NULL
strcmp int *strcmp(str1,str2)
char *str1,*str2; 比较字符串str1和str2 str1<str2,为负数
str1=str2,返回0
str1>str2,为正数
strcpy char *strcpy(str1,str2)
char *str1,*str2; 把str2指向的字符串拷贝到str1中去 返回str1
strlen unsigned intstrlen(str)
char *str; 统计字符串str中字符的个数(不包括终止符`\0`) 返回字符个数
strncat char *strncat(str1,str2,count)
char *str1,*str2;
unsigned int count; 把字符串str2指向的字符串中最多count个字符连到串str1后面,并以null结尾 返回str1
strncmp int strncmp(str1,str2,count)
char *str1,*str2;
unsigned int count; 比较字符串str1和str2中至多前count个字符 str1<str2,为负数
str1=str2,返回0
str1>str2,为正数
strncpy char *strncpy(str1,str2,count)
char *str1,*str2;
unsigned int count; 把str2指向的字符串中最多前count个字符拷贝到串str1中去 返回str1
strnset void *setnset(buf,ch,count)
char *buf;char ch;
unsigned int count; 将字符ch拷贝到buf指向的数组前count个字符中。 返回buf
strset void *setnset(buf,ch)
void *buf;char ch; 将buf所指向的字符串中的全部字符都变为字符ch 返回buf
strstr char *strstr(str1,str2)
char *str1,*str2; 寻找str2指向的字符串在str1指向的字符串中首次出现的位置 返回str2指向的字符串首次出向的地址。否则返回NULL
-----------------------------------------------------------------------------------------------------------------------------
(4)输入输出函数
在使用输入输出函数时,应该在源文件中使用命令:
#include“stdio.h”
函数名 函数和形参类型 功能 返回值
clearerr void clearer(fp)
FILE *fp 清除文件指针错误指示器 无
close int close(fp)
int fp 关闭文件(非ANSI标准) 关闭成功返回0,不成功返回-1
creat int creat(filename,mode)
char *filename;
int mode 以mode所指定的方式建立文件。(非ANSI标准) 成功返回正数,
否则返回-1
eof int eof(fp)
int fp 判断fp所指的文件是否结束 文件结束返回1,
否则返回0
fclose int fclose(fp)
FILE *fp 关闭fp所指的文件,释放文件缓冲区 关闭成功返回0,不成功返回非0
feof int feof(fp)
FILE *fp 检查文件是否结束 文件结束返回非0,否则返回0
ferror int ferror(fp)
FILE *fp 测试fp所指的文件是否有错误 无错返回0;
否则返回非0
fflush int fflush(fp)
FILE *fp 将fp所指的文件的全部控制信息和数据存盘 存盘正确返回0;
否则返回非0
fgets char *fgets(buf,n,fp) char *buf;int n;
FILE *fp 从fp所指的文件读取一个长度为(n-1)的字符串,存入起始地址为buf的空间 返回地址buf;若遇文件结束或出错则返回EOF
fgetc int fgetc(fp)
FILE *fp 从fp所指的文件中取得下一个字符 返回所得到的字符;出错返回EOF
fopen FILE *fopen(filename,mode)
char *filename,*mode 以mode指定的方式打开名为filename的文件 成功,则返回一个文件指针;否则返回0
fprintf int fprintf(fp,format,args,…)
FILE *fp;char *format 把args的值以format指定的格式输出到fp所指的文件中 实际输出的字符数
fputc int fputc(ch,fp)
char ch;FILE *fp 将字符ch输出到fp所指的文件中 成功则返回该字符;出错返回EOF
fputs int fputs(str,fp)
char str;FILE *fp 将str指定的字符串输出到fp所指的文件中 成功则返回0;出错返回EOF
fread int fread(pt,size,n,fp) char *pt;unsigned size,n;FILE *fp 从fp所指定文件中读取长度为size的n个数据项,存到pt所指向的内存区 返回所读的数据项个数,若文件结束或出错返回0
fscanf int fscanf(fp,format,args,…)
FILE *fp;char *format 从fp指定的文件中按给定的format格式将读入的数据送到args所指向的内存变量中(args是指针) 以输入的数据个数
fseek int fseek(fp,offset,base)
FILE *fp;long offset;int base 将fp指定的文件的位置指针移到base所指出的位置为基准、以offset为位移量的位置 返回当前位置;否则,返回-1
siell FILE *fp;
long ftell(fp); 返回fp所指定的文件中的读写位置 返回文件中的读写位置;否则,返回0
fwrite int fwrite(ptr,size,n,fp) char *ptr;unsigned size,n;FILE *fp 把ptr所指向的n*size个字节输出到fp所指向的文件中 写到fp文件中的数据项的个数
getc int getc(fp)
FILE *fp; 从fp所指向的文件中的读出下一个字符 返回读出的字符;若文件出错或结束返回EOF
getchar int getchat() 从标准输入设备中读取下一个字符 返回字符;若文件出错或结束返回-1
gets char *gets(str)
char *str 从标准输入设备中读取字符串存入str指向的数组 成功返回str,否则返回NULL
open int open(filename,mode) char *filename;
int mode 以mode指定的方式打开已存在的名为filename的文件
(非ANSI标准) 返回文件号(正数);如打开失败返回-1
printf int printf(format,args,
…)
char *format 在format指定的字符串的控制下,将输出列表args的指输出到标准设备 输出字符的个数;若出错返回负数
prtc int prtc(ch,fp)
int ch;FILE *fp; 把一个字符ch输出到fp所值的文件中 输出字符ch;若出错返回EOF
putchar int putchar(ch)
char ch; 把字符ch输出到fp标准输出设备 返回换行符;若失败返回EOF
puts int puts(str)
char *str; 把str指向的字符串输出到标准输出设备;将`\0`转换为回车行 返回换行符;若失败返回EOF
putw int putw(w,fp)
int i;
FILE *fp; 将一个整数i(即一个字)写到fp所指的文件中
(非ANSI标准) 返回读出的字符;若文件出错或结束返回EOF
read int read(fd,buf,count) int fd;char *buf;
unsigned int count; 从文件号fp所指定文件中读count个字节到由buf知识的缓冲区(非ANSI标准) 返回真正读出的字节个数,如文件结束返回0,出错返回-1
remove int remove(fname)
char *fname; 删除以fname为文件名的文件 成功返回0;出错返回-1
rename int remove(oname,nname)
char *oname,*nname; 把oname所指的文件名改为由nname所指的文件名 成功返回0;出错返回-1
rewind void rewind(fp)
FILE *fp; 将fp指定的文件指针置于文件头,并清除文件结束标志和错误标志 无
scanf int scanf(format,args,
…)
char *format 从标准输入设备按format指示的格式字符串规定的格式,输入数据给args所指示的单元。args为指针 读入并赋给args数据个数。如文件结束返回EOF;若出错返回0
write int write(fd,buf,count) int fd;char *buf;
unsigned count; 丛buf指示的缓冲区输出count个字符到fd所指的文件中(非ANSI标准) 返回实际写入的字节数,如出错返回-1
------------------------------------------------------------------------------------------------------------------------------
(5)动态存储分配函数
在使用动态存储分配函数时,应该在源文件中使用命令:
#include“stdlib.h”
函数名 函数和形参类型 功能 返回值
callloc void *calloc(n,size)
unsigned n;
unsigned size; 分配n个数据项的内存连续空间,每个数据项的大小为size 分配内存单元的起始地址。如不成功,返回0
free void free(p)
void *p; 释放p所指内存区 无
malloc void *malloc(size)
unsigned SIZE; 分配size字节的内存区 所分配的内存区地址,如内存不够,返回0
realloc void *reallod(p,size)
void *p;
unsigned size; 将p所指的以分配的内存区的大小改为size。Size可以比原来分配的空间大或小 返回指向该内存区的指针。若重新分配失败,返回NULL
-------------------------------------------------------------------------------------------------------------------------------
(6)其他函数
“其他函数”是C语言的标准库函数,由于不便归入某一类,所以单独列出。使用这写函数时,应该在源文件中使用命令:
#include“stdlib.h”
函数名 函数和形参类型 功能 返回值
abs int abs(num)
int num 计算整数num的绝对值 返回计算结果
atof double atof(str)
char *str 将str指向的字符串转换为一个double型的值 返回双精度计算结果
atoi int atoi(str)
char *str 将str指向的字符串转换为一个int型的值 返回转换结果
atol long atol(str)
char *str 将str指向的字符串转换为一个long型的值 返回转换结果
exit void exit(status)
int status; 中止程序运行。将status的值返回调用的过程 无
itoa char *itoa(n,str,radix)
int n,radix;
char *str 将整数n的值按照radix进制转换为等价的字符串,并将结果存入str指向的字符串中 返回一个指向str的指针
labs long labs(num)
long num 计算c整数num的绝对值 返回计算结果
ltoa char *ltoa(n,str,radix)
long int n;int radix;
char *str; 将长整数n的值按照radix进制转换为等价的字符串,并将结果存入str指向的字符串 返回一个指向str的指针
rand int rand() 产生0到RAND_MAX之间的伪随机数。RAND_MAX在头文件中定义 返回一个伪随机(整)数
random int random(num)
int num; 产生0到num之间的随机数。 返回一个随机(整)数
rand_omize void randomize() 初始化随机函数,使用是包括头文件time.h。
strtod double strtod(start,end)
char *start;
char **end 将start指向的数字字符串转换成double,直到出现不能转换为浮点的字符为止,剩余的字符串符给指针end
*HUGE_VAL是turboC在头文件math.H中定义的数学函数溢出标志值 返回转换结果。若为转换则返回0。若转换出错返回HUGE_VAL表示上溢,或返回-HUGE_VAL表示下溢
strtol Long int strtol(start,end,radix)
char *start;
char **end;
int radix; 将start指向的数字字符串转换成long,直到出现不能转换为长整形数的字符为止,剩余的字符串符给指针end。
转换时,数字的进制由radix
确定。
*LONG_MAX是turboC在头文件limits.h中定义的long型可表示的最大值 返回转换结果。若为转换则返回0。若转换出错返回LONG_MAX表示上溢,或返回-LONG_MAX表示下溢
system int system(str)
char *str; 将str指向的字符串作为命令传递给DOS的命令处理器 返回所执行命令的退出状态