c语言的附录.docx
《c语言的附录.docx》由会员分享,可在线阅读,更多相关《c语言的附录.docx(23页珍藏版)》请在冰豆网上搜索。
c语言的附录
1,c语言的关键字
auto:
声明自动变量
short:
声明短整型变量或函数
int:
声明整型变量或函数
long:
声明长整型变量或函数
float:
声明浮点型变量或函数
double:
声明双精度变量或函数
char:
声明字符型变量或函数
struct:
声明结构体变量或函数
union:
声明共用数据类型
enum:
声明枚举类型
typedef:
用以给数据类型取别名
const:
声明只读变量
unsigned:
声明无符号类型变量或函数
signed:
声明有符号类型变量或函数
extern:
声明变量是在其他文件中声明
register:
声明寄存器变量
static:
声明静态变量
volatile:
说明变量在程序执行中可被隐含地改变
void:
声明函数无返回值或无参数,声明无类型指针
if:
条件语句
else:
条件语句否定分支(与if连用)
switch:
用于开关语句
case:
开关语句分支
for:
一种循环语句
do:
循环语句的循环体
while:
循环语句的循环条件
goto:
无条件跳转语句
continue:
结束当前循环,开始下一轮循环
break:
跳出当前循环
default:
开关语句中的“其他”分支
sizeof:
计算数据类型长度
return:
子程序返回语句(可以带参数,也可不带参数)循环条件
2,库函数
函数名:
abort
功能
异常终止一个进程
函数与形参类型
voidabort(void);
程序例
:
#include
#includeintmain(void)
{
printf("Callingabort()\n");
abort();
return0;/*Thisisneverreached*/
}
函数名:
ab
功能
计算整数num的值。
返回整数num的绝对值
函数与参数类型
intabs(num)
intnum;
程序例
#include
#includeintmain(void)
{
intnumber=-1234;printf("number:
%dabsolutevalue:
%d\n",number,abs(number));
return0;
}
函数名:
absread,abswirte
功能
绝对磁盘扇区读、写数据
函数与形参类型
intabsread(intdrive,intnsects,intsectno,void*buffer);
intabswrite(intdrive,intnsects,intsectno,void*buffer);
程序例
/*absreadexample*/#include
#include
#include
#includeintmain(void)
{
inti,strt,ch_out,sector;
charbuf[512];printf("InsertadisketteintodriveAandpressanykey\n");
getch();
sector=0;
if(absread(0,1,sector,&buf)!
=0)
{
perror("Diskproblem");
exit
(1);
}
printf("ReadOK\n");
strt=3;
for(i=0;i<80;i++)
{
ch_out=buf[strt+i];
putchar(ch_out);
}
printf("\n");
return(0);
}
函数名:
acce
功能
确定文件的访问权限
函数与形参类型
intaccess(constchar*filename,intamode);
程序例
#include
#includeintfile_exists(char*filename);intmain(void)
{
printf("DoesNOTEXIST.FILexist:
%s\n",
file_exists("NOTEXISTS.FIL")?
"YES":
"NO");
return0;
}intfile_exists(char*filename)
{
return(access(filename,0)==0);
}
函数名:
aco
功能
计算并返回arccos(x)值、要求-1<=X<=1
函数与形参类型
doubleacos(x)
doublex;
程序例
#include
#includeintmain(void)
{
doubleresult;
doublex=0.5;result=acos(x);
printf("Thearccosineof%lfis%lf\n",x,result);
return0;
}
函数名:
allocmem
功能
分配DOS存储段
函数与形参类型
intallocmem(unsignedsize,unsigned*seg);
程序例
#include
#include
#includeintmain(void)
{
unsignedintsize,segp;
intstat;size=64;/*(64x16)=1024bytes*/
stat=allocmem(size,&segp);
if(stat==-1)
printf("Allocatedmemoryatsegment:
%x\n",segp);
else
printf("Failed:
maximumnumberofparagraphsavailableis%u\n",
stat);return0;
}
函数名:
arc
功能
画一弧线
函数与形参类型
voidfararc(intx,inty,intstangle,intendangle,intradius);
程序例
#include
#include
#include
#include
intmain(void)
{
/*requestautodetection*/
intgdriver=DETECT,gmode,errorcode;
intmidx,midy;
intstangle=45,endangle=135;
intradius=100;/*initializegraphicsandlocalvariables*/
initgraph(&gdriver,&gmode,"");/*readresultofinitialization*/
errorcode=graphresult();/*anerroroccurred*/
if(errorcode!
=grOk)
{
printf("Graphicserror:
%s\n",grapherrormsg(errorcode));
printf("Pressanykeytohalt:
");
getch();exit
(1);/*terminatewithanerrorcode*/
}midx=getmaxx()/2;
midy=getmaxy()/2;
setcolor(getmaxcolor());/*drawarc*/
arc(midx,midy,stangle,endangle,radius);/*cleanup*/
getch();
closegraph();
return0;
}
函数名:
asctime
功能
转换日期和时间为ASCII码
函数与形参类型
char*asctime(conststructtm*tblock);
程序例
#include
#include
#includeintmain(void)
{
structtmt;
charstr[80];/*sampleloadingoftmstructure*/t.tm_sec=1;/*Seconds*/
t.tm_min=30;/*Minutes*/
t.tm_hour=9;/*Hour*/
t.tm_mday=22;/*DayoftheMonth*/
t.tm_mon=11;/*Month*/
t.tm_year=56;/*Year-doesnotincludecentury*/
t.tm_wday=4;/*Dayoftheweek*/
t.tm_yday=0;/*Doesnotshowinasctime*/
t.tm_isdst=0;/*IsDaylightSavTime;doesnotshowinasctime*//*convertsstructuretonullterminated
string*/strcpy(str,asctime(&t));
printf("%s\n",str);return0;
}
函数名:
asin
功能:
计算并返回arcsin(x)值、要求-1<=X<=1
函数与形参类型:
doubleasin(x)
doublex;
程序例:
#include
#includeintmain(void)
{
doubleresult;
doublex=0.5;result=asin(x);
printf("Thearcsinof%lfis%lf\n",x,result);
return(0);
}
函数名:
assert
功能
测试一个条件并可能使程序终止
函数与形参类型
voidassert(inttest);
程序例
#include
#include
#includestructITEM{
intkey;
intvalue;
};/*additemtolist,makesurelistisnotnull*/
voidadditem(structITEM*itemptr){
assert(itemptr!
=NULL);
/*additemtolist*/
}intmain(void)
{
additem(NULL);
return0;
}
函数名:
atan
功能
计算并返回arctan(x)的值
函数与形参类型
doubleatan(doublex);
程序例
#include
#includeintmain(void)
{
doubleresult;
doublex=0.5;result=atan(x);
printf("Thearctangentof%lfis%lf\n",x,result);
return(0);
}
函数名:
atan2
功能
计算并返回arctan(x/y)值
函数与形参类型
doubleatan2(doubley,doublex);
程序例
#include
#includeintmain(void)
{
doubleresult;
doublex=90.0,y=45.0;result=atan2(y,x);
printf("Thearctangentratioof%lfis%lf\n",(y/x),result);
return0;
}
函数名:
atexit
功能
注册终止函数
函数与形参类型
intatexit(atexit_tfunc);
程序例
#include
#includevoidexit_fn1(void)
{
printf("Exitfunction#1called\n");
}voidexit_fn2(void)
{
printf("Exitfunction#2called\n");
}intmain(void)
{
/*postexitfunction#1*/
atexit(exit_fn1);
/*postexitfunction#2*/
atexit(exit_fn2);
return0;
}
函数名:
atof
功能
把str指向的ASCⅡ字符串转换成一个double型整数返回双精度的结果
函数与形参类型
doubleatof(str)
char*str;
程序例
#include
#includeintmain(void)
{
floatf;
char*str="12345.67";f=atof(str);
printf("string=%sfloat=%f\n",str,f);
return0;
}
函数名:
atoi
功能
把str指向的ASCⅡz字符串转换成一个整数。
返回整数结果
函数与参数类型
doubleatoi(str)
char*str;
程序例
#include
#includeintmain(void)
{
intn;
char*str="12345.67";n=atoi(str);
printf("string=%sinteger=%d\n",str,n);
return0;
}
函数名:
atol
功能
把字符串转换成长整型数。
返回长整数结果
函数与参数类型
longatol(str)
char*str;
程序例
#include
#includeintmain(void)
{
longl;
char*str="98765432";l=atol(lstr);
printf("string=%sinteger=%ld\n",str,l);
return(0);
}
函数名:
mkdir
功能
建立一个目录
用法
intmkdir(char*pathname);
程序例
#include
#include
#include
#include
intmain(void)
{
intstatus;
clrscr();
status=mkdir("asdfjklm");
(!
status)?
(printf("Directorycreated\n")):
(printf("Unabletocreatedirectory\n"));
getch();
system("dir");
getch();
status=rmdir("asdfjklm");
(!
status)?
(printf("Directorydeleted\n")):
(perror("Unabletodeletedirectory"));
return0;
}
函数名:
mktemp
功能
建立唯一的文件名
用法
char*mktemp(char*template);
程序例
#include
#include
intmain(void)
{
/*fnamedefinesthetemplateforthe
temporaryfile.*/
char*fname="TXXXXXX",*ptr;
ptr=mktemp(fname);
printf("%s\n",ptr);
return0;
}
函数名:
MK_FP
功能
设置一个远指针
用法
voidfar*MK_FP(unsignedseg,unsignedoff);
程序例
#include
#include
intmain(void)
{
intgd,gm,i;
unsignedintfar*screen;
detectgraph(&gd,&gm);
if(gd==HERCMONO)
screen=MK_FP(0xB000,0);
else
screen=MK_FP(0xB800,0);
for(i=0;i<26;i++)
screen[i]=0x0700+('a'+i);
return0;
}
函数名:
modf
功能
把数分为指数和尾数
用法
doublemodf(doublevalue,double*iptr);
程序例
#include
#include
intmain(void)
{
doublefraction,integer;
doublenumber=100000.567;
fraction=modf(number,&integer);
printf("Thewholeandfractionalpartsof%lfare%lfand%lf\n",
number,integer,fraction);
return0;
}
函数名:
movedata
功能
拷贝字节
用法
voidmovedata(intsegsrc,intoffsrc,intsegdest,
intoffdest,unsignednumbytes);
程序例#include
#defineMONO_BASE0xB000
/*savesthecontentsofthemonochromescreeninbuffer*/
voidsave_mono_screen(charnear*buffer)
{
movedata(MONO_BASE,0,_DS,(unsigned)buffer,80*25*2);
}
intmain(void)
{
charbuf[80*25*2];
save_mono_screen(buf);
}
函数名:
moverel
功能
将当前位置(CP)移动一相对距离
用法
voidfarmoverel(intdx,intdy);
程序例
#include
#include
#include
#include
intmain(void)
{
/*requestautodetection*/
intgdriver=DETECT,gmode,errorcode;
charmsg[80];
/*initializegraphicsandlocalvariables*/
initgraph(&gdriver,&gmode,"");
/*readresultofinitialization*/
errorcode=graphresult();
if(errorcode!
=grOk)/*an