c语言有哪些预函数 c语言预备知识

C语言常用的函数有哪些C语言库函数 , 常用库函数有:
1、scanf格式输入函数
2、printf格式输出函数
3、systemdos命令函数
4、sort排序
5、main主函数
6、fgets文件读取字符串函数
7、fputs文件写入字符串函数
8、fscanf文件格式读取函数
9、fprintf文件格式写入函数
10、fopen打开文件函数
11、getchar输入字符函数
12、putchar输出字符函数
13、malloc动态申请内存函数
14、free释放内存函数
15、abs求绝对值数学函数
16、sqrt求平方根数学函数
扩展资料
语言组成:
1、数据类型
C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型 。
2、常量与变量
常量其值不可改变 , 符号常量名通常用大写 。
变量是以某标识符为名字,其值可以改变的量 。标识符是以字母或下划线开头的一串由字母、数字或下划线构成的序列,请注意第一个字符必须为字母或下划线,否则为不合法的变量名 。变量在编译时为其分配相应存储单元 。
3、数组
如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明 。字符串也是一种数组 。它们以ASCII的NULL作为数组的结束 。要特别注意的是,方括内的索引值是从0算起的 。
4、指针
如果一个变量声明时在前面使用 * 号,表明这是个指针型变量 。换句话说,该变量存储一个地址,而 *(此处特指单目运算符 * ,下同 。C语言中另有 双目运算符 *) 则是取内容操作符,意思是取这个内存地址里存储的内容 。指针是 C 语言区别于其他同时代高级语言的主要特征之一 。
参考资料来源:百度百科-函数
c语言中有哪些函数C语言输入输出函数有很多c语言有哪些预函数,标准I/O函数中包含了如下几个常用的函数c语言有哪些预函数:
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主要是从标准输入流读取字符串并回显c语言有哪些预函数,读到换行符时退出,并会将换行符省去.
int
puts(char
*str)
puts主要是把字符串str写到标准流stdout中去,并会在输出到最后时添加一个换行符.
char
*fgets(char
*str,
int
num,
FILE
*fp)
str是存放读入的字符数组指针,num是最大允许的读入字符数,fp是文件指针.fgets的功能是读一行字符c语言有哪些预函数,该行的字符数不大于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,countc语言有哪些预函数,fp);
fwrite(buffer,size,count,fp);
参数说明:
buffer:是一个指针 。
【c语言有哪些预函数 c语言预备知识】对fread
来说,它是读入数据的存放地址 。
对fwrite来说 , 是要输出数据的地址(均指起始地址) 。
size:
要读写的字节数 。
count:
要进行读写多少个size字节的数据项 。
fp:
文件型指针 。
c语言中预处理命令都有哪些?c语言有哪些预函数我们可以在C源程序中插入传给编译程序c语言有哪些预函数的各中指令c语言有哪些预函数,这些指令被称为预处理器指令,它们扩充了程序设计的环境 。现把常用的预处理命令总结如下: \x0d\x0a1.预处理程序\x0d\x0a按照ANSI标准的定义,预处理程序应该处理以下指令:\x0d\x0a#if #ifdef #ifndef #else #elif\x0d\x0a#endif\x0d\x0a#define\x0d\x0a#undef\x0d\x0a#line\x0d\x0a#error\x0d\x0a#pragma\x0d\x0a#include\x0d\x0a显然 , 上述所有的12个预处理指令都以符号#开始,,每条预处理指令必须独占一行 。\x0d\x0a2.#define\x0d\x0a#define指令定义一个标识符和一个串(也就是字符集) , 在源程序中发现该标识符时,都用该串替换之 。这种标识符称为宏名字,相应的替换称为宏代换 。一般形式如下:\x0d\x0a#define macro-name char-sequence\x0d\x0a这种语句不用分号结尾 。宏名字和串之间可以有多个空白符 , 但串开始后只能以新行终止 。\x0d\x0a例如:c语言有哪些预函数我们使用LEFT代表1 , 用RIGHT代表0,我们使用两个#define指令:\x0d\x0a#define LEFT 1\x0d\x0a#define RIGHT 0\x0d\x0a每当在源程序中遇到LEFT或RIGHT时 , 编译程序都用1或0替换 。\x0d\x0a定义一个宏名字之后 , 可以在其c语言有哪些预函数他宏定义中使用,例如:\x0d\x0a#define ONE 1\x0d\x0a#define TWO ONE ONE\x0d\x0a#define THREE ONE TWO\x0d\x0a宏代换就是用相关的串替代标识符 。因此,如果希望定义一条标准错误信息时,可以如下定义:\x0d\x0a#define ERROR_MS “Standard error on input \n”\x0d\x0a如果一个串长于一行,可在行尾用反斜线”\”续行 , 如下:\x0d\x0a#define LONG_STRING “This is a very very long \\x0d\x0aString that is used as an example”\x0d\x0a3.#error\x0d\x0a#error指令强制编译程序停止编译,它主要用于程序调试 。#error指令的一般形式是:\x0d\x0a#error error-message\x0d\x0a注意,宏串error-message不用双引号包围 。遇到#error指令时 , 错误信息被显示,可能同时还显示编译程序作者预先定义的其他内容 。\x0d\x0a4.#include\x0d\x0a程序中的#include指令要求编译程序读入另一个源文件 。被读入文件的名字必须用双引号(“”)或一对尖括号()包围 , 例如:\x0d\x0a#include “stdio.h”\x0d\x0a#include \x0d\x0a都使C编译程序读入并编译头文件以用于I/O系统库函数 。\x0d\x0a包含文件中可以包含其他#include指令,称为嵌套包含 。允许的最大嵌套深度随编译器而变 。\x0d\x0a文件名被双括号或尖括号包围决定了对指定文件的搜索方式 。文件名被尖括号包围时,搜索按编译程序作者的定义进行,一般用于搜索某些专门放置包含文件的特殊目录 。当文件名被双括号包围时,搜索按编译程序实时的规定进行,一般搜索当前目录 。如未发现,再按尖括号包围时的办法重新搜索一次 。\x0d\x0a通常,绝大多数程序员使用尖括号包围标准的头文件 , 双引号用于包围与当前程序相关的文件名 。\x0d\x0a\x0d\x0a5.条件编译指令\x0d\x0a若干编译指令允许程序员有选择的编译程序源代码的不同部分,这种过程称为条件编译 。\x0d\x0a5.1#if、#else、#elif #endif\x0d\x0a条件编译指令中最常用的或许是#if,#else,#elif和#endif 。这些指令允许程序员根据常数表达式的结果有条件的包围部分代码 。\x0d\x0a#if的一般形式是:\x0d\x0a#if constant-expression\x0d\x0aStatement sequence\x0d\x0a#endif\x0d\x0a如#if后的常数表达式为真,则#if和#endif中间的代码被编译 , 否则忽略该代码段 。#endif标记#if块的结束 。\x0d\x0a#else指令的作用与C语言的else相似,#if指令失败时它可以作为备选指令 。例如:\x0d\x0a#include \x0d\x0a#define MAX 100\x0d\x0aInt main(void)\x0d\x0a{\x0d\x0a#if MAX99\x0d\x0aprintf(“Compiled for array greater than 99.\n”);\x0d\x0a#else\x0d\x0aprintf(“Complied for small array.\n”);\x0d\x0a#endif\x0d\x0areturn 0;\x0d\x0a}\x0d\x0a注意,#else既是标记#if块的结束,也标记#else块的开始 。因为每个#if只能写一个#endif匹配 。\x0d\x0a#elif指令的意思是“否则,如果” , 为多重编译选择建立一条if-else-if(如果-否则-如果链) 。如果#if表达式为真,该代码块被编译 , 不测试其他#elif表达式 。否则,序列中的下一块被测试,如果成功则编译之 。一般形式如下:\x0d\x0a#if expression\x0d\x0aStatement sequence\x0d\x0a#elif expression1\x0d\x0aStatement sequence\x0d\x0a#elif expression2\x0d\x0aStatement sequence\x0d\x0a.\x0d\x0a.\x0d\x0a.\x0d\x0a#elif expression\x0d\x0aStatement sequence\x0d\x0a#endif\x0d\x0a5.2#ifdef和#ifndef\x0d\x0a条件编译的另一个方法是使用编译指令#ifdef和#ifndef,分别表示“如果已定义”和“如果未定义” 。#ifdef的一般形式如下:\x0d\x0a#ifdef macro-name\x0d\x0aStatement sequence\x0d\x0a#endif\x0d\x0a如果macro-name原先已经被一个#define语句定义,则编译其中的代码块 。\x0d\x0a#ifndef的一般形式是:\x0d\x0a#ifndef macro-name\x0d\x0aStatement sequence\x0d\x0a#endif\x0d\x0a如果macro-name当前未被#define语句定义,则编译其中的代码块 。\x0d\x0a\x0d\x0a我认为,用这种,可以很方便的开启/关闭整个程序的某项特定功能 。\x0d\x0a#ifdef和#ifndef都可以使用#else或#elif语句 。\x0d\x0a#inlucde \x0d\x0a#define T 10\x0d\x0aInt main(void)\x0d\x0a{\x0d\x0a#ifdef t\x0d\x0aPrintf(“Hi T\n”);\x0d\x0a#else\x0d\x0aPrintf(“Hi anyone\n”);\x0d\x0a#endif\x0d\x0a#ifndef M\x0d\x0aPrintf(“M Not Defined\n”);\x0d\x0a#endif\x0d\x0aReturn 0;\x0d\x0a}\x0d\x0a6.#undef\x0d\x0a#undef指令删除前面定义的宏名字 。也就是说 , 它“不定义”宏 。一般形式为:\x0d\x0a#undef macro-name\x0d\x0a7.使用defined\x0d\x0a除#ifdef之外 , 还有另外一种确定是否定义宏名字的方法,即可以将#if指令与defined编译时操作符一起使用 。defined操作符的一般形式如下:\x0d\x0adefined macro-name\x0d\x0a如果macro-name是当前定义的,则表达式为真,否则为假 。\x0d\x0a例如,确定宏MY是否定义 , 可以使用下列两种预处理命令之一:\x0d\x0a#if defined MY\x0d\x0a或\x0d\x0a#ifdef MY\x0d\x0a也可以在defined之前加上感叹号”!”来反转相应的条件 。例如,只有在DEBUG未定义的情况下才编译 。\x0d\x0a#if !defined DEBUG\x0d\x0aPrintf(“Final Version!\n”);\x0d\x0a#endif\x0d\x0a使用defined的一个原因是,它允许由#elif语句确定的宏名字存在 。\x0d\x0a8.#line\x0d\x0a#line指令改变__LINE__和__FILE__的内容 。__LINE__和__FILE__都是编译程序中预定义的标识符 。标识符__LINE__的内容是当前被编译代码行的行号,__FILE__的内容是当前被编译源文件的文件名 。#line的一般形式是:\x0d\x0a#line number “filename”\x0d\x0a其中,number是正整数并变成__LINE__的新值;可选的“filename”是合法文件标识符并变成__FILE__的新值 。#line主要用于调试和特殊应用 。\x0d\x0a\x0d\x0a9.#pragma\x0d\x0a#pragma是编译程序实现时定义的指令,它允许由此向编译程序传入各种指令 。例如,一个编译程序可能具有支持跟踪程序执行的选项,此时可以用#pragma语句选择该功能 。编译程序忽略其不支持的#pragma选项 。#pragma提高C源程序对编译程序的可移植性 。\x0d\x0a10. 预处理操作符#和##\x0d\x0a有两个预处理操作符:#和##,它们可以在#define中使用 。\x0d\x0a操作符#通常称为字符串化的操作符,它把其后的串变成用双引号包围的串 。例如:\x0d\x0a#include \x0d\x0a#define mkstr(s) #s\x0d\x0aint main(void)\x0d\x0a{\x0d\x0aPrintf(mkstr(I like C));\x0d\x0aReturn 0;\x0d\x0a}\x0d\x0a预处理程序把以下的语句:\x0d\x0aPrintf(mkstr(I like C));\x0d\x0a变成\x0d\x0aPrintf(“I like C”);\x0d\x0a操作符##把两个标记拼在一起,形成一个新标记 。例如:\x0d\x0a#include \x0d\x0a#define concat(a,a) a##b\x0d\x0aint main(void)\x0d\x0a{\x0d\x0aInt xy = 10;\x0d\x0aPrintf(“%d”,concat(x,y));\x0d\x0aReturn 0;\x0d\x0a}\x0d\x0a预处理程序把以下语句:\x0d\x0aPrintf(“%d”,concat(x,y));\x0d\x0a变成\x0d\x0aPrintf(“%d”,xy);\x0d\x0a操作符#和##主要作用是允许预处理程序对付某些特殊情况,多数程序中并不需要 。\x0d\x0a11. 预定义宏\x0d\x0aC规范了5个固有的预定义宏,它们是:\x0d\x0a__LINE__\x0d\x0a__FILE__\x0d\x0a__DATE__\x0d\x0a__TIME__\x0d\x0a__STDC__\x0d\x0a__LINE__和__FILE__包含正在编译的程序的行号和文件名 。\x0d\x0a__DATE__和内容形如month/day/year(月/日/年)的串,代表源文件翻译成目标码的日期 。\x0d\x0a__TIME__中的串代表源代码编译成目标码的时间 , 形如hour:minute:second(时:分:秒)\x0d\x0a如果__STDC__的内容是十进制常数1,则表示编译程序的实现符合标准C 。
c语言常用函数有哪些?主要掌握的要点是什么函数1 。absread()读磁盘绝对扇区函数原形:int absread(int drive,int num,int sectnum,void *buf)功能:从drive指定c语言有哪些预函数的驱动器磁盘上c语言有哪些预函数,sectnum指定的逻辑扇区号开始读取(通过DOS中断0x25读取)num个(最多64K个)扇区的内容c语言有哪些预函数,储存于buf所指的缓冲区中 。参数:drive=0对应A盘,drive=1对应B盘 。返回值:0:成功c语言有哪些预函数;-1:失败 。头文件:dos.h函数2 。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函数3 。atof()将字符串转换成浮点数的函数原形:double atof(const char *s)功能:把s所指向的字符串转换成double类型 。s格式为:符号 数字.数字 E符号 数字返回值:字符串的转换值 。头文件:math.h、stdlib.h函数4 。atoi()将字符串转换成整型数的函数原形:int atoi(const char *s)功能:把s所指向的字符串转换成int类型 。s格式为:符号 数字返回值:字符串的转换值 。若出错则返回0 。头文件:stdlib.h函数5 。atol()将字符串转换成长整型数的函数原形:long atol(const char *s)功能:把s所指向的字符串转换成long int类型 。s格式为:符号 数字返回值:字符串的转换值 。若出错则返回0 。头文件:stdlib.h函数6 。bcd()把一个数转换成对应的BCD码的函数原形:bcd bcd(int x)bcd bcd(double x)bcd bcd(double x,int decimals)注意:BCD码的精度可达17位 。参数decimals是可选的 , 用来指定转换后小数点后的位数 。头文件:bcd.h函数7 。bdos()原形∶int bdos(int fnum,unsigned dx,unsigned al)其中fnum是系统调用号;dx是传给寄存器DX的值;al是传给寄存器AL的值;功能∶DOS系统调用(INT21H)返回值∶AX中的值函数8 。biosdisk()调用BIOS磁盘驱动程序函数原形:char biosdisk(int cmd,int drive,int head,int track,int sector,int nsects,void *buffer)功能:使用中断0x13,直接调用BIOS进行磁盘操作参数:(1)cmd:2-数据以每扇区512字节的格式读入buffer,起始扇区由head、track和sector定,扇区数由nsects定 。3-将buffer中的数据按每扇区512字节写入磁盘 。4-对扇区进行数据校验 。6-格式化一个磁盘并对化扇区设置化标志 。8-返回当前驱动器参数在buffer的前4个字节中 。10-长读,每扇区读入512字节加上额外的4个字节 。11-长写,每扇区写入512字节加上额外的4个字节 。(2)drive:0-第一个软驱;1-第二个软驱;0x80-第一个硬驱(3)head:磁头(4)track:磁道(5)sector:扇区(6)nsects:扇区数(7)buffer:数据缓冲区,定义为unsigned char buffer[];返回值:0x00-操作成功0x01-错误命令0x03-企图写具有写保护的磁盘0x07-驱动器参数设置错误0x10-磁盘读/CRC/ECC错误头文件:bios.h注:对于硬盘主引导记录扇区head=0,track=0,sector=1函数9 。biosprint()调用BIOS打印机I/O接口的函数原形:int biosprint(int cmd,int abyte,int port)功能:通过BIOS中断0x17在由参数port指定的打印机上完成各种打印机功能 。port=0(LPT1)=1(LPT2);cmd=0(打印字符abyte)1(初始化打印机端口)2(读打印机状态);abyte=0-255;返回值:打印机状态位0(设备超时);位3(I/O出错);位4(打印机已选择);位5(没纸);位6(打印机确认);位7(不忙)头文件:bios.h函数10 。calloc()分配内存函数原形:void *calloc(size_t nitems,size_t size)功能:在堆中分配一块内存,将该内存的内容全部清0 。返回值:返回指向新分配内存的指针 。空间不够则返回NULL 。头文件:stdlib.h、calloc.h函数11 。ceil()原形∶double ceil(double num)功能∶求不小于num的最小双精度整数头文件∶math.h函数12 。cgets()读字符串函数原形:char *cgets(char *str)功能:从控制台读入一个字符串 , 并将该字符串(和字符串长度)存入有str所指向的地址中 。注意:在调用cgets之前,必须将要读入的字符串最大长度存入str[0]中,返回时str[1]被设置为实际读入的字符数 。实际字符串内容从str[2]开始,以空字符(\0)结尾 。返回值:指向str[2]的指针 。头文件:conio.h函数13 。chdir()改变当前目录的函数原形:int chdir(const char *path)功能:把由path指定的目录改为当前目录 。path参数中可以指定驱动器号,如"a:\\ddd", 但只是改变该驱动器上的当前目录,对当前活动驱动器上的当前目录无影响 。返回值:0(成功);-1(失败)头文件:dir.h函数14 。_chmod()改变文件存取权限的函数原形:int _chmod(const char *path,int func[,int attrib])功能:读取(func=0时)或设置(func=1时)DOS文件属性 。attrib=FA_RDONLY 只读attrib=FA_HIDDEN 隐藏文件attrib=FA_SYSTEM 系统文件attrib=FA_LABLE 卷标attrib=FA_DIREC 目录attrib=FA_ARCH 档案 返回值:失败时返回-1 。成功时返回文件的属性字节,如果 返回值FA_RDONLY 不等于0,则文件是只读文件;......头文件:io.h、dos.h函数15 。chmod()改变文件存取权限的函数原形:int chmod(const char *path,int amode)功能:根据amode的值 , 设置由path所指文件的存取权限 。amode的值存取权限S_IWRITE允许写S_IREAD允许读(只读)S_IREAD|S_IWRITE可读可写 返回值:0(成功);-1(失败)头文件:io.h、sys\stat.h函数16 。clock()原形∶long clock(void)功能∶测得从程序开始到调用处处理机所用的时间头文件∶time.h函数17 。close()关闭文件函数原形:int close(int handle)功能:关闭由文件句柄所指向的文件,句柄是调用_creat、creat、creatnew、creattemp、dup、dup2、_open或open时得到的 。该函数并不在文件末尾写一个Ctrl-Z字符,如果想用该字符结束文件,必须显式地给出该字符 。返回值:0(成功);-1(失败)头文件:io.h函数18 。closegraph()关闭图形函数原形:void far closegraph(void)功能:释放图形系统分配的所有内存,将屏幕恢复到调用initgraph之前的模式 。头文件:graphics.h函数19 。cos()原形∶double cos(double arg)功能∶计算arg(弧度)的余弦值头文件∶math.h函数20 。ctrlbrk()设置ctrl-break处理程序的函数原形:void ctrlbrk(int(*handle)(void))功能:修改中断向量0x23,使用新的ctrl-break中断处理函数 。用法:ctrlbrk(函数名);先定义函数:int 函数名(void){...}头文件:dos.h函数21 。delay()暂停函数原形:void delay(unsigned milliseconds)功能:暂停当前所执行的程序milliseconds毫秒 。头文件:dos.h函数22 。disable()屏蔽中断的宏原形:void disble(void)功能:屏蔽中断,只允许从外部设备来的不可屏蔽中断(NMI) 。头文件:dos.h函数23 。enable()开硬件中断的宏原形:void enable(void)功能:开放中断,允许接受任何设备产生的中断 。头文件:dos.h函数24 。exec()加载并运行其它程序的函数族execl(),execle(),execlp(),execlpe(),execv(),execve(),execvp(),execvpe()原形∶ int execl(char *path,char *arg0,*arg1,...,*argn,NULL)int execle(char *path,char *arg0,*arg1,...,*argn,NULL,char **env)int execlp(char *path,char *arg0,*arg1,...,*argn,NULL)int execlpe(char *path,char *arg0,*arg1,...,*argn,NULL,char **env)int execv(char *path,char *argv[])int execve(char *path,char *argv[],char **env)int execvp(char *path,char *argv[])int execvpe(char *path,char *argv[],char **env)其中,path是调用的子程序的文件名,在exec后面的后缀具有某种功能:p表示函数能够在由DOS环境变量PATH的目录中搜索子进程文件,如果path中未指明文件所在目录,函数将首先在当前目录中找,然后在DOS环境变量指定的目录中找 。l表示参数指针(arg0,...,argn)按单独参数传送 。当预先知道要传送的参数个数时,通常用带后缀l的函数 。v表示参数指针(arg0,...,argn)按指针数组传送 。当要传送的参数可变时,使用带后缀v的函数 。e表示参数env可以传送到子进程 , 该函数可用来修改子进程的环境 。若无e后缀,子进程将继承父进程的环境 。注意:arg0 ... argn,或arg[0] ... arg[n]的总长度必需小于128字节 。当调用exec函数时,原先已经打开的文件在子进程中仍然是打开的 。功能:加载并运行其它程序 , 调用时必须有足够的内存空间用于加载和执行子程序,子程序将覆盖父程序 。头文件:process.h 函数25 。farcalloc()从远堆中分配内存的函数原形:void far *farcalloc(unsigned long nunits,unsigned long unitsz)功能:从远堆中为包含nunits个元素的数组分配内存,每一区unitsz字节长 。用法:fptr=farcalloc(数目 , sizeof(char));先定义:char far *fptr;注意:所有可用RAM能被分配;大于64K的块能被分配;用远指针存取该块 。微模式不能用 。返回值:返回指向新分配块的指针,若内存不够,则返回NULL 。头文件:alloc.h函数26 。farfree()从远堆中释放一块已分配内存的函数原形:void farfree(void far *block)头文件:alloc.h函数27 。farmalloc()从远堆中分配内存的函数原形:void far *farmalloc(unsigned long nbytes)使用方式:fptr=farmalloc(字节数);先定义char far *fptr;功能:从远堆中分配长nbytes字节的内存 。注意:所有可用RAM能被分配;大于64K的块能被分配;用远指针存取该块 。微模式不能用 。返回值:返回指向新分配内存的指针,若内存不够 , 则返回NULL 。头文件:alloc.h函数28 。farrealloc()调整远堆中已分配块的函数原形:void far *farrealloc(void far *oldblock,unsigned long nbytes)返回值:返回调整后的新内存地址 。若不能重新分配 , 则返回NULL 。头文件:alloc.h函数29 。fclose()关闭一个流函数原形:int fclose(FILE *stream)使用方式:fclose(文件指针名);其中文件指针名=fopen();功能:关闭指定的流,关闭前清除所有与stream相联的缓冲区,释放系统分配的缓冲区 , 但由setbuf设置的缓冲区不能自动释放 。返回值:0(成功);EOF(失败)头文件:stdio.h函数30 。fcloseall()关闭打开的流的函数原形:int fcloseall(void)功能:关闭所有打开的流,由stdin、stdout、stdprn、stderr和stdaux设置的流除外 。返回值:关闭流的总数 。如果发现错误则返回EOF 。头文件:stdio.h 函数31 。feof()检查文件是否结束的函数原形∶int feof(FILE *fp)返回值∶文件结束返回非0值,否则返回0 。头文件∶stdio.h函数32 。fgets()从流中读取一字符串的函数原形:char *fgets(char s[],int n,FILE *stream)使用格式:fgets(字符串指针,字符个数,文件指针)功能:从输入流stream中读入字符存到s串中 。当读了n-1个字符或遇到换行符时,函数停止读过程 。fgets在s串尾保留换行字符 。读入的最后一个字符后面加一个空字符 。返回值:成功时返回字符串参数s,出错或遇到文件结束时,返回NULL 。头文件:stdio.h函数33 。findfirst()函数和findnext()函数调用方式:整形数=findfirst(文件名,结构变量名,属性常数组合(如0x26));其中定义struct ffblk 结构变量名;原形:int findfirst(path,buffer,attr)和int findnext(buffer)char *path;//要检索的文件名struct ffblk{char ff_reserved[21];char ff_attrib;//被检索的文件属性unsigned ff_ftime;//最后修改的时间//(0-4位:秒数/2;5-10位:分数;11-15位:小时数)unsigned ff_fdate;//最后修改的日期//(0-4位:日;5-8位:月;9-15位:年减1980)long ff_fsize;//文件大小char ff_name[13];//组名}*buffer;int attr;//要检索的文件属性功能:检索由path和attr指定的文件 , 把结果返回到buffer 。findfirst返回关于第一个指定文件的信息,findnext继续检索 。返回值:0(检索成功),-1(没有找到指定的文件)属性常数:FA_NORMAL(0x00)含意:Normal file, no attributesFA_RDONLY(0x01)含意:只读FA_HIDDEN(0x02)含意:隐含文件FA_SYSTEM(0x04)含意:系统文件FA_LABEL(0x08)含意:卷标FA_DIREC(0x10)含意:子目录FA_ARCH(0x20)含意:修改的文件Archive头文件:dir.h(dos.h)函数34 。floodfill()填充区域的函数原形:void far floodfill(int x,int y,int border)功能:在图形设备上用颜色border围起来的区域将用当前填充颜色填充 。(x,y)是待填充区域的起点 , 若起点在封闭区域内,则区域内被填充;若起点在封闭区域外,则区域外被填充 。头文件:graphics.h函数35 。floor()原形∶double floor(double num)功能∶求不大于num的最大双精度整数头文件∶math.h函数36 。fnmerge()建立文件路径函数原形:void fnmerge(char *path,const char *drive,const char *dir, const char *name,const char *ext)功能:合成drive:\dir\name.ext,放在path头文件:dir.h函数37 。fnsplit()分解完整的路径名函数原形:int fnsplit(char *path,const char *drive,const char *dir,const char *name,const char *ext)功能:把文件名路径path分成4个部分存放 。其中drive中有冒号;dir中有开始和结尾的反斜杠;ext包括开始圆点返回值:如果有扩展名,则 返回值EXTENSION!=0如果有文件名,则 返回值FILENAME!=0如果有目录名,则 返回值DIRECTORY!=0如果有驱动器号,则返回值DIRVE!=0头文件:dir.h 函数38 。fopen()打开一个流函数原形:FILE *fopen(const char *filename,const char *mode)功能:打开用filename指定的文件,并使其与一个流相联 。使用方式:文件指针名=fopen("文件名","处理方式")”处理方式”?。?"rt"打开一个文本文件,只能读 。"wt"生成一个文本文件,只能写 。若文件存在则被重写 。"at"打开一个文本文件,只能在文件尾部添加 。"rb"打开一个二进制文件,只能读 。"wb"生成一个二进制文件 , 只能写 。"ab"打开一个二进制文件,只能在文件尾部添加 。"rt "打开一个文本文件 , 可读可写 。"wt "生成一个文本文件,可读可写 。"at "打开一个文本文件,可读可添加 。"rb "打开一个二进制文件,可读可写 。"wb "生成一个二进制文件,可读可写 。"ab "打开一个二进制文件,可读可添加 。返回值:指明流的指针(成功时)或NULL(失败时)注:需先定义 FILE *文件指针名;"文件名"若用 argv[1]代替,则可使用命令行形式指定文件名函数39 。FP_OFF()获取远地址偏移量的宏原形:unsigned FP_OFF(void far *p)功能:取得和设置远指针*p的偏移量返回值:偏移量头文件:dos.h 函数40 。fprintf()传送输出到一个流中的函数原形:int fprintf(FILE *stream,const char *format[,argument,...])功能:①向文件指针指向的文件输出ASCⅡ代码②向显示器输出错误信息 使用形式:①fprintf(文件指针,"输出格式",输出项系列);②fprintf(stderr,"错误信息");使用实例:fprintf(stream,"%d %c %f",i,c,f);其中定义FILE *stream;int i; char c; float f;返回值:成功则返回输出的字节数,错误则返回EOF 。头文件:stdio.h函数41 。FP_SEG()获取远地址段值的宏原形:unsigned FP_SEG(void far *p)功能:取得和设置远指针*p段地址值返回值:段地址值头文件:dos.hfree()释放已分配内存的函数原形:void free(void *block)功能:释放由calloc、malloc、realloc函数调用所分配的内存 。头文件:stdlib.h、alloc.h函数42 。fscanf()格式化输入函数原形:int fscanf(FILE *stream,const char *format[,address,...])功能:从一个流中扫描输入字段,一次扫描一个字符,每个输入字段根据format所指格式指示符格式化后,把输入字段存在format后面由地址参数给出的位置上 。使用格式:fscanf(文件指针,"输入格式",输入项系列);使用实例:fscanf(fp,"%d",b);从fp指向的文件中读取十进制整数 (ASCⅡ形式)赋予变量b注:当文件指针是stdin时,与scanf功能完全相同头文件:stdio.h函数43 。fseek()移动文件指针函数原形:int fseek(FILE *stream,long offset,int whence)作用:强制一个文件的位置指针指向某个特定的位置(甚至超出文件的尾部) 。使用格式:fseek(*文件指针,偏移(长整型),起点)定义 FILE *文件指针名;"起点"取值:0或SEEK_SET(表示文件开头)1或SEEK_CUR(表示当前位置)2或SEEK_END(表示文件尾端)返回值:0表示成功,非0值表示失败头文件:stdio.h函数44 。fwrite()把参数写入流中的函数原形:size_t fwrite(const void *ptr,size_t size,size_t n,FILE *stream)功能:附加n个数据项(每个数据项长度为size个字节)到指定的输出文件后,数据从ptr处开始添加 。ptr是指向任意对象的指针 。返回值:调用成功时返回实际写的数据项数,出错时返回一短整形数值 。头文件:stdio.h例:fwrite(s,sizeof(s),1,stream);其中s是一结构变量,stream=fopen();函数45 。gcvt()把双精度数转化成字符串的函数原形∶char*gcvt(value,ndigit,buf)其中∶double value是待转化数int ndigit是转化长度char *buf保存转化后的地址头文件∶stdlib.h函数46 。geninterrupt()执行中断函数原形:void geninterrupt(int n)调用方式:geninterrupt(软中断号)功能:产生一个8086软中断注:需先向寄存器传递入口信息(用伪变量)例如伪变量=要赋的值(入口信息);调用geninterrupt()函数后得接受出口信息例如变量名=伪变量伪变量∶Turbo C 允许使用伪变量直接访问相应的8086寄存器 。伪变量的类型有两种 。① unsigned int : _AX、 _BX、 _CX、 _DX、 _CS、 _DS、 _SS、 _ES、_SP、 _BP、 _DI、 _SI② unsigned char: _AL、 _AH、 _BL、 _BH、 _CL、 _CH、 _DL、 _DH函数47 。getc()从流中取字符的宏原形:int getc(FILE *stream)功能:返回输入流stream中一个字符,移动文件指针使之指向下一个字符 。使用格式:字符变量=getc(文件指针)(正常情况下读取到代码值,读到文件尾或出错时返回EOF)注:需定义 char 字符变量;FILE *文件指针;头文件:stdio.h函数48 。getch()从键盘无回显地读取一字符的函数功能:将键盘上输入的单个字符的值(ASCⅡ 码)立刻赋给字符型变量调用方式:字符形变量=getch()注:需先定义 char 字符形变量;头文件:conio.h函数49 。getchar()从stdin流中读取一个字符的函数功能:将键盘上输入的单个字符的值(ASCⅡ 码)回车后赋给字符型变量调用方式:字符型变量=getchar()注:需先定义 char 字符型变量;头文件:stdio.h函数50 。getcurdir()读取指定驱动器的当前目录的函数原形:int getcurdir(int drive,char directory)drive=0(缺省);1(A驱动器);...directory用来存放目录名,不包括驱动器名,不以反斜杠开始 。返回值:0(调用成功);1(出错)头文件:dir.h函数61 。getcwd()读取当前目录的函数原形:char *getcwd(char *buf,int buflen)功能:读取当前目录的完整路径名(包括驱动器名),最长为buflen个字节,存放在buf中 。如果buf为NULL,函数将分配一个buflen字节长的缓冲区,以后可将本函数的返回值作为free函数的参数来释放该缓冲区 。返回值:若buf非空,调用成功返回buf,出错返回NULL;若buf为NULL,返回指向已经分配的内存缓冲区地址 。头文件:dir.h函数62 。getdate()读取系统日期函数原形:void getdate(pdate)struct date{int da_year;int da_day;int da_mon;};struct date *pdate;头文件:dos.h函数63 。getdfree()读取磁盘空闲空间的函数原形:void getdfree(drive,dtable)unsigned char drive;驱动器号(0-当前;1-A;2-B;...)struct dfree{unsigned df_avail;//可使用的簇数unsigned df_total;//每个驱动器的簇数unsigned df_bsec;//每个扇区的字节数unsigned df_sclus;//每个簇的扇区数(出错时返回0xffff)}*dtable;功能:把由drive指定的关于驱动器的信息返回到dtable函数64 。getdisk()读取当前磁盘驱动器号函数原形:int getdisk(void)功能:取得当前驱动器号(0=A;1=B;....)头文件:dir.h函数65 。getenv()读取环境变量的当前值的函数原形:char *getenv(const char *name)用法:s=getenv("环境变量名");需先定义char *s;功能:返回一给定的环境变量值,环境变量名可大写或小写 。如果指定的变量在环境中未定义 , 则返回一空串 。头文件:stdlib.h函数66 。getimage()将指定区域的位图象存入内存的函数原形:void far getimage(int left,int top,int right,int bottom,void far *bitmap)功能:将图像(矩形区域)从屏幕拷贝到内存,*bitmap指向内存中存放图像的区域 。该区域的前两个字节用于存放矩形的高和宽 。头文件:graphics.h函数67 。getmaxx()返回屏幕上最大的X坐标值的函数原形:int far getmaxx(void)功能:返回当前图形驱动程序和图形模式下最大的X坐标值 。头文件:graphics.h函数68 。getmaxy()返回屏幕上最大的Y坐标值的函数原形:int far getmaxy(void)功能:返回当前图形驱动程序和图形模式下最大的Y坐标值 。头文件:graphics.h函数69 。getpixel()读取像素颜色的函数原形:unsigned far getpixel(int x,int y)头文件:graphics.h函数70 。getpsp()原形∶unsigned getpsp(void)功能∶使用DOS系统调用0x62 , 返回程序段前缀(PSP)的段地址头文件∶dos.h函数71 。gets()从标准输入流stdio中读取一字符串的函数功能:将键盘上输入的字符串立刻赋予字符串变量并显示出来调用方式:gets(字符串变量名)注:需定义 char *字符串变量名;函数72 。gettime()读取系统时间的函数原形:void gettime(ptime)struct time{unsigned char ti_min;unsigned char ti_hour;unsigned char ti_hund;//百分之一秒unsigned char ti_sec;};struct time *ptime;函数73 。getvect()读取中断向量函数原形:void interrupt(*getvect(int interruptno))功能:读入由interruptno(0-255之间)所指定的中断向量值,并把该中断向量值作为中断函数的远指针返回 。返回值:指定中断向量的当前4字节值 。头文件:dos.h使用实例:oldfunc=getvect(5);先定义void interrupt(*oldfunc)();用后恢复setvect(5,oldfunc);函数74 。getx()返回当前图形方式下位置的X坐标值的函数原形:int far getx(void);头文件:graphics.h函数75 。gety()返回当前图形方式下位置的Y坐标值的函数原形:int far gety(void);头文件:graphics.h函数76 。imagesize()返回保存图像缓冲区大小的函数原形:unsigned far imagesize(int left,int top,int right,int bottom)功能:确定保存图像所需的存储区大小 。返回值:返回存储区的大小(字节),若所需内存大于等于64K-1字节 , 则返回0xffff(-1) 。头文件:graphics.h函数77 。initgraph()显示模式控制函数(初始化图形系统函数)功能:把图形适配器设置为一种图形模式 , 将选择的图形驱动程序(在BGI文件中)装入到内存 。调用方式: void far initgraph(int far *driver,int far *mode,char far*path) 其中: *driver可以是数值(0-10),也可是符号值(DETECT、CGA、MCGA、EGA、EGA64、EGAMONO、RESERVED、HERCMONO、ATT400、VGA、 PC3270) 。*mode参数从图形系统为各种常用的图形适配器设置的图形模式中(CGAC0、...、IBM8514HI--见头文件graphics.h)选取 。常用的有:VGAMED或1
关于c语言有哪些预函数和c语言预备知识的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读