新闻资讯
看你所看,想你所想

C语言库函数

C语言库函数是把自定义函数放到来自库里,是别人把一些常用到的函数编完放到一个文件里,供程序员使用。程序员用的时候把它所在的文件名用#include<>加到里面就可以了(尖括号内填写文件名)360百科,例如#include<math.h>。

  • 中文名称 C语言库函数
  • 属性 计算机术语

定义

 粉效突眼镇曾吸由够序 一般是指编译器提供的可在c源程序中调用的函数。可分为两类,一类是c语言标准规定的库来自函数,一类是编译器特定的库函数。

  由于版权原因,库函数的源代码一般是不可见的,但在头文件中你可以看到它对外的接口。

内容介绍

  C语言是一种程序设计的入门语言。由于C语言的语句中没有提供直接计算sin或cos函数的语句,会造成编写程序困难;但是函样先比月航资后执小序轮数库提供了sin和cos函数,可以拿来直接调用。显示一段文字,我们在C语言中找不到显示语句,只能使用库函数printf。

  C语言的库函数并不是C语言本身的一部分,它是由编译程序根据一般用户的需要,编制并提供用户使用的一组程序。C的库函数极大地方便了用户,同时也补充了C语言本身的不360百科足。在编写C语言程序时,使用库函数,既可以提高程序的运行效率,又可以提高编程的质量。

相关概念

函数库

  函数库是由系统建立的具有一来自定功能的函数的集合。库中存放函数的名称和对应的目标代码,以及连接过程中所需的重定位信息。用户也可以根据自己的需要建立自己的用户函数库。

库函数

  存放在函数库中的函数。库函数具有明确的功能、入口调用参数和返回值。

连接程序

  将编译程序生成的目标文件连接在一起生成一个可执行文件

头文件

  有时也称为包含文件。C语言库函数与用户程序之间进行信息通信时要使用的数据和360百科变量,在使用某一库函评虽数时,都要在程序中嵌入(用#include)该函数对应的头文件,用户使用时应查阅有关版本的C的库函数参考手册。

常用的库函数

abort

  函数名:abort

  功 能:异常终止一个进程

  杂查路评杀把函数与形参类型:

  void abort(void);

  程序例:

  #include <stdio.h>

  #include <s化促规告tdlib.h> int m怕么传选析鲁牛称练粉ain(void)

  {

  printf("Calling abort()\n");

  a放差bort();

  return 0; /* This is never reached */

  }

abs

  函数名:abs

  功 能:计算整数num的值。返回整数num的绝对值

  函数与笔约时责会镇操磁参数类型:

  int abs(num)

  int num;

  程序例:

  #include <stdio.h>

  #include <math.h> int main(void)

  {

  int number = -1234密服文去微练; printf("number: %d absolute value: %d\n", number, abs(number));

  return 0;

  }

absread abswirte

  函数名: absread, abswirte

  功 能:绝对磁盘扇区读、写数据

自齐冷项呢粒现车命四  函数与形参类型:

  int absread(int 重矛drive, int nsects, int sectno, void *buffer);

  int abswrite(int drive, int nsects, in tsectno, void *buffer);

  程序防美资怎讲被你例:

  /* absr利机们需ead example *示随封反都处/ #include <stdio.h>

  #include <conio.h>

  #include <p下法离留结娘代真供rocess.h>

  #include <dos.h> int main(void)

  {

  int i, strt, ch_out, sect约相采or;

  cha级铁r buf[512]; printf("Insert a diskette into driv甚才象附硫仍e A and press any key\n");

  取占酸getch();

  sector = 0;

  if (absread(0, 1, sector, &buf) != 0)

  {

  perror("Disk problem");

  exit(1);

  }

  printf("Read OK\n");

  strt = 3;

  for (i=0; i<80; i++)

  {

  ch_out = buf[strt+i];

  putchar(ch_out);

  }

  printf("\n");

  return(0);

  }

access

  函数名:access

  功 能:确定文件的访问权限

  函数与形参类型:

  int access(const char *filename, int amode);

  程序例:

  #include <stdio.h>

  #include <io.h> int file_exists(char *filename); int main(void)

  {

  printf("Does NOTEXIST.FIL exist: %s\n",

  file_exists("NOTEXISTS.FIL") ? "YES" : "NO");

  return 0;

  } int file_exists(char *filename)

  {

  return (access(filename, 0) == 0);

  }

acos

  函数名: acos

  功 能:计算并返回arccos(x)值、要求-1<=X<=1

  函数与形参类型:

  double acos(x)

  double x;

  程序例:

  #include <stdio.h>

  #include <math.h> int main(void)

  {

  double result;

  double x = 0.5; result = acos(x);

  printf("The arc cosine of %lf is %lf\n", x, result);

  return 0;

  }

allocmem

  函数名:allocmem

  功 能:分配DOS存储段

  函数与形参类型:

  int allocmem(unsigned size, unsigned *seg);

  程序例:

  #include <dos.h>

  #include <alloc.h>

  #include <stdio.h> int main(void)

  {

  unsigned int size, segp;

  int stat; size = 64; /* (64 x 16) = 1024 bytes */

  stat = allocmem(size, &segp);

  if (stat == -1)

  printf("Allocated memory at segment: %x\n", segp);

  else

  printf("Failed: maximum number of paragraphs available is %u\n",

  stat); return 0;

  }

arc

  函数名:arc

  功 能:画一弧线

  函数与形参类型:

  void far arc(int x, int y, int stangle, int endangle, int radius);

  程序例:

  #include <graphics.h>

  #include <stdlib.h>

  #include <stdio.h>

  #include <conio.h>

  int main(void)

  {

  /* request auto detection */

  int gdriver = DETECT, gmode, errorcode;

  int midx, midy;

  int stangle = 45, endangle = 135;

  int radius = 100; /* initialize graphics and local variables */

  initgraph(&gdriver, &gmode, ""); /* read result of initialization */

  errorcode = graphresult(); /* an error occurred */

  if (errorcode != grOk)

  {

  printf("Graphics error: %s\n", grapherrormsg(errorcode));

  printf("Press any key to halt:");

  getch(); exit(1); /* terminate with an error code */

  } midx = getmaxx() / 2;

  midy = getmaxy() / 2;

  setcolor(getmaxcolor()); /* draw arc */

  arc(midx, midy, stangle, endangle, radius); /* clean up */

  getch();

  closegraph();

  return 0;

  }

asctime

  函数名: asctime

  功 能:转换日期和时间为ASCII码

  函数与形参类型:

  char *asctime(const struct tm *tblock);

  程序例:

  #include <stdio.h>

  #include <string.h>

  #include <time.h> int main(void)

  {

  struct tm t;

  char str[80]; /* sample loading of tm structure */ t. tm_sec = 1; /* Seconds */

  t. tm_min = 30; /* Minutes */

  t. tm_hour = 9; /* Hour */

  t. tm_mday = 22; /* Day of the Month */

  t. tm_mon = 11; /* Month */

  t. tm_year = 56; /* Year - does not include century */

  t. tm_wday = 4; /* Day of the week */

  t. tm_yday = 0; /* Does not show in asctime */

  t. tm_isdst = 0; /* Is Daylight SavTime; does not show in asctime */ /* converts structure to null terminated

  string */ strcpy(str, asctime(&t));

  printf("%s\n", str); return 0;

  }

asin

  函数名::asin

  功 能::计算并返回arcsin(x)值、要求-1<=X<=1

  函数与形参类型:

  double asin(x)

  double x;

  程序例:

  #include <stdio.h>

  #include <math.h> int main(void)

  {

  double result;

  double x = 0.5; result = asin(x);

  printf("The arc sin of %lf is %lf\n", x, result);

  return(0);

  }

assert

  函数名: assert

  功 能:测试一个条件并可能使程序终止

  函数与形参类型:

  void assert(int test);

  程序例:

  #include <assert.h>

  #include <stdio.h>

  #include <stdlib.h> struct ITEM {

  int key;

  int value;

  }; /* add item to list, make sure list is not null */

  void additem(struct ITEM *itemptr) {

  assert(itemptr != NULL);

  /* add item to list */

  } int main(void)

  {

  additem(NULL);

  return 0;

  }

atan

  函数名:atan

  功 能:计算并返回arctan(x)的值

  函数与形参类型:

  double atan(double x);

  程序例:

  #include <stdio.h>

  #include <math.h> int main(void)

  {

  double result;

  double x = 0.5; result = atan(x);

  printf("The arc tangent of %lf is %lf\n", x, result);

  return(0);

  }

atan2

  函数名: atan2

  功 能:计算并返回arctan(y / x)值

  函数与形参类型:

  double atan2(double y, double x);

  程序例:

  #include <stdio.h>

  #include <math.h> int main(void)

  {

  double result;

  double x = 90.0, y = 45.0; result = atan2(y, x);

  printf("The arc tangent ratio of %lf is %lf\n", (y / x), result);

  return 0;

  }

atexit

  函数名: atexit

  功 能:注册终止函数

  函数与形参类型:

  int atexit(atexit_t func);

  程序例:

  #include <stdio.h>

  #include <stdlib.h> void exit_fn1(void)

  {

  printf("Exit function #1 called\n");

  } void exit_fn2(void)

  {

  printf("Exit function #2 called\n");

  } int main(void)

  {

  /* post exit function #1 */

  atexit(exit_fn1);

  /* post exit function #2 */

  atexit(exit_fn2);

  return 0;

  }

atof

  函数名: atof

  功 能:把str指向的ASCⅡ字符串转换成一个double型整数返回双精度的结果

  函数与形参类型:

  double atof(str)

  char*str;

  程序例:

  #include <stdlib.h>

  #include <stdio.h> int main(void)

  {

  float f;

  char *str = "12345.67"; f = atof(str);

  printf("string = %s float = %f\n", str, f);

  return 0;

  }

atoi

  函数名:atoi

  功 能:

  把str指向的ASCⅡz字符串转换成一个整数。返回整数结果

  函数与参数类型:

  double atoi(str )

  char *str;

  程序例:

  #include <stdlib.h>

  #include <stdio.h> int main(void)

  {

  int n;

  char *str = "12345.67"; n = atoi(str);

  printf("string = %s integer = %d\n", str, n);

  return 0;

  }

atol

  函数名:atol

  功 能:

  把字符串转换成长整型数 。返回长整数结果

  函数与参数类型:

  long atol(str )

  char *str;

  程序例:

  #include <stdlib.h>

  #include <stdio.h> int main(void)

  {

  long l;

  char *str = "98765432"; l = atol(lstr);

  printf("string = %s integer = %ld\n", str, l);

  return(0);

  }

mkdir

  函数名:mkdir

  功 能:建立一个目录

  用 法:

  int mkdir(char *pathname);

  程序例:

  #include <stdio.h>

  #include <conio.h>

  #include <process.h>

  #include <dir.h>

  int main(void)

  {

  int status;

  clrscr();

  status = mkdir("asdfjklm");

  (!status) ? (printf("Directory created\n")) :

  (printf("Unable to create directory\n"));

  getch();

  system("dir");

  getch();

  status = rmdir("asdfjklm");

  (!status) ? (printf("Directory deleted\n")) :

  (perror("Unable to delete directory"));

  return 0;

  }

mktemp

  函数名: mktemp

  功 能:建立唯一的文件名

  用 法:

  char *mktemp(char *template);

  程序例:

  #include <dir.h>

  #include <stdio.h>

  int main(void)

  {

  /* fname defines the template for the

  temporary file. */

  char *fname = "TXXXXXX", *ptr;

  ptr = mktemp(fname);

  printf("%s\n",ptr);

  return 0;

  }

MK_FP

  函数名: MK_FP

  功 能:设置一个远指针

  用 法:

  void far *MK_FP(unsigned seg, unsigned off);

  程序例:

  #include <dos.h>

  #include <graphics.h>

  int main(void)

  {

  int gd, gm, i;

  unsigned int far *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);

  return 0;

  }

modf

  函数名: modf

  功 能:把数分为整数和尾数

  用 法:

  double modf(double value, double *iptr);

  程序例:

  #include <math.h>

  #include <stdio.h>

  int main(void)

  {

  double fraction, integer;

  double number = 100000.567;

  fraction = modf(number, &integer);

  printf("The whole and fractional parts of %lf are %lf and %lf\n",

  number, integer, fraction);

  return 0;

  }

movedata

  函数名: movedata

  功 能:拷贝字节

  用 法:

  void movedata(int segsrc, int offsrc, int segdest,

  int offdest, unsigned numbytes);

  程序例:

  #include <mem.h>

  #define MONO_BASE 0xB000

  /* saves the contents of the monochrome screen in buffer */

  void save_mono_screen(char near *buffer)

  {

  movedata(MONO_BASE, 0, _DS, (unsigned)buffer, 80*25*2);

  }

  int main(void)

  {

  char buf[80*25*2];

  save_mono_screen(buf);

  }

moverel

  函数名: moverel

  功 能:将当前位置(CP)移动一相对距离

  用 法:

  void far moverel(int dx, int dy);

  程序例:

  #include <graphics.h>

  #include <stdlib.h>

  #include <stdio.h>

  #include <conio.h>

  int main(void)

  {

  /* request auto detection */

  int gdriver = DETECT, gmode, errorcode;

  char msg[80];

  /* initialize graphics and local variables */

  initgraph(&gdriver, &gmode, "");

  /* read result of initialization */

  errorcode = graphresult();

  if (errorcode != grOk) /* an error occurred */

  {

  printf("Graphics error: %s\n", grapherrormsg(errorcode));

  printf("Press any key to halt:");

  getch();

  exit(1); /* terminate with an error code */

  }

  /* move the C.P. to location (20, 30) */

  moveto(20, 30);

  /* plot a pixel at the C.P. */

  putpixel(getx(), gety(), getmaxcolor());

  /* create and output a message at (20, 30) */

  sprintf(msg, " (%d, %d)", getx(), gety());

  outtextxy(20, 30, msg);

  /* move to a point a relative distance */

  /* away from the current value of C.P. */

  moverel(100, 100);

  /* plot a pixel at the C.P. */

  putpixel(getx(), gety(), getmaxcolor());

  /* create and output a message at C.P. */

  sprintf(msg, " (%d, %d)", getx(), gety());

  outtext(msg);

  /* clean up */

  getch();

  closegraph();

  return 0;

  }

movetext

  函数名: movetext

  功 能:将屏幕文本从一个矩形区域拷贝到另一个矩形区域

  用 法:

  int movetext(int left, int top, int right, int bottom,

  int newleft, int newtop);

  程序例:

  #include <conio.h>

  #include <string.h>

  int main(void)

  {

  char *str = "This is a test string";

  clrscr();

  cputs(str);

  getch();

  movetext(1, 1, strlen(str), 2, 10, 10);

  getch();

  return 0;

  }

moveto

  函数名: moveto

  功 能:将CP移到(x, y)

  用 法:

  void far moveto(int x, int y);

  程序例:

  #include <graphics.h>

  #include <stdlib.h>

  #include <stdio.h>

  #include <conio.h>

  int main(void)

  {

  /* request auto detection */

  int gdriver = DETECT, gmode, errorcode;

  char msg[80];

  /* initialize graphics and local variables */

  initgraph(&gdriver, &gmode, "");

  /* read result of initialization */

  errorcode = graphresult();

  if (errorcode != grOk) /* an error occurred */

  {

  printf("Graphics error: %s\n", grapherrormsg(errorcode));

  printf("Press any key to halt:");

  getch();

  exit(1); /* terminate with an error code */

  }

  /* move the C.P. to location (20, 30) */

  moveto(20, 30);

  /* plot a pixel at the C.P. */

  putpixel(getx(), gety(), getmaxcolor());

  /* create and output a message at (20, 30) */

  sprintf(msg, " (%d, %d)", getx(), gety());

  outtextxy(20, 30, msg);

  /* move to (100, 100) */

  moveto(100, 100);

  /* plot a pixel at the C.P. */

  putpixel(getx(), gety(), getmaxcolor());

  /* create and output a message at C.P. */

  sprintf(msg, " (%d, %d)", getx(), gety());

  outtext(msg);

  /* clean up */

  getch();

  closegraph();

  return 0;

  }

movemem

  函数名: movemem

  功 能:移动一块字节

  用 法:

  void movemem(void *source, void *destin, unsigned len);

  程序例:

  #include <mem.h>

  #include <alloc.h>

  #include <stdio.h>

  #include <string.h>

  int main(void)

  {

  char *source = "Borland International";

  char *destination;

  int length;

  length = strlen(source);

  destination = malloc(length + 1);

  movmem(source,destination,length);

  printf("%s\n",destination);

  return 0;

  }

normvideo

  函数名: normvideo

  功 能:选择正常亮度字符

  用 法:

  void normvideo(void);

  程序例:

  #include <conio.h>

  int main(void)

  {

  normvideo();

  cprintf("NORMAL Intensity Text\r\n");

  return 0;

  }

nosound

  函数名: nosound

  功 能:关闭PC扬声器

  用 法:

  void nosound(void);

  程序例:

  /* Emits a 7-Hz tone for 10 seconds.

  True story: 7 Hz is the resonant frequency of a chicken's skull cavity.

  This was determined empirically in Australia, where a new factory

  generating 7-Hz tones was located too close to a chicken ranch:

  When the factory started up, all the chickens died.

  Your PC may not be able to emit a 7-Hz tone.

  */

  int main(void)

  {

  sound(7);

  delay(10000);

  nosound();

  }

转载请注明出处安可林文章网 » C语言库函数

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:fendou3451@163.com