首页 > 代码库 > C语言函数 --C
C语言函数 --C
函数名: cabs
功 能: 计算复数的绝对值
用 法: double cabs(struct complex z);
程序例:
#include <stdio.h> #include <math.h> int main(void) { struct complex z; double val; z.x = 2.0; z.y = 1.0; val = cabs(z); printf("The absolute value of %.2lfi %.2lfj is %.2lf", z.x, z.y, val); return 0; }
函数名: calloc
功 能: 分配主存储器
用 法: void *calloc(size_t nelem, size_t elsize);
程序例:
#include <stdio.h> #include <alloc.h> int main(void) { char *str = NULL; /* allocate memory for string */ str = calloc(10, sizeof(char)); /* copy "Hello" into string */ strcpy(str, "Hello"); /* display string */ printf("String is %s\n", str); /* free memory */ free(str); return 0; }
函数名: ceil
功 能: 向上舍入
用 法: double ceil(double x);
程序例:
#include <math.h> #include <stdio.h> int main(void) { double number = 123.54; double down, up; down = floor(number); up = ceil(number); printf("original number %5.2lf\n", number); printf("number rounded down %5.2lf\n", down); printf("number rounded up %5.2lf\n", up); return 0; }
函数名: cgets
功 能: 从控制台读字符串
用 法: char *cgets(char *str);
程序例:
#include <stdio.h> #include <conio.h> int main(void) { char buffer[83]; char *p; /* There‘s space for 80 characters plus the NULL terminator */ buffer[0] = 81; printf("Input some chars:"); p = cgets(buffer); printf("\ncgets read %d characters: \"%s\"\n", buffer[1], p); printf("The returned pointer is %p, buffer[0] is at %p\n", p, &buffer); /* Leave room for 5 characters plus the NULL terminator */ buffer[0] = 6; printf("Input some chars:"); p = cgets(buffer); printf("\ncgets read %d characters: \"%s\"\n", buffer[1], p); printf("The returned pointer is %p, buffer[0] is at %p\n", p, &buffer); return 0; }
函数名: chdir
功 能: 改变工作目录
用 法: int chdir(const char *path);
程序例:
#include <stdio.h> #include <stdlib.h> #include <dir.h> char old_dir[MAXDIR]; char new_dir[MAXDIR]; int main(void) { if (getcurdir(0, old_dir)) { perror("getcurdir()"); exit(1); } printf("Current directory is: \\%s\n", old_dir); if (chdir("\\")) { perror("chdir()"); exit(1); } if (getcurdir(0, new_dir)) { perror("getcurdir()"); exit(1); } printf("Current directory is now: \\%s\n", new_dir); printf("\nChanging back to orignal directory: \\%s\n", old_dir); if (chdir(old_dir)) { perror("chdir()"); exit(1); } return 0; }
函数名: _chmod, chmod
功 能: 改变文件的访问方式
用 法: int chmod(const char *filename, int permiss);
程序例:
#include <sys\stat.h> #include <stdio.h> #include <io.h> void make_read_only(char *filename); int main(void) { make_read_only("NOTEXIST.FIL"); make_read_only("MYFILE.FIL"); return 0; } void make_read_only(char *filename) { int stat; stat = chmod(filename, S_IREAD); if (stat) printf("Couldn‘t make %s read-only\n", filename); else printf("Made %s read-only\n", filename); }
函数名: chsize
功 能: 改变文件大小
用 法: int chsize(int handle, long size);
程序例:
#include <string.h> #include <fcntl.h> #include <io.h> int main(void) { int handle; char buf[11] = "0123456789"; /* create text file containing 10 bytes */ handle = open("DUMMY.FIL", O_CREAT); write(handle, buf, strlen(buf)); /* truncate the file to 5 bytes in size */ chsize(handle, 5); /* close the file */ close(handle); return 0; }
函数名: circle
功 能: 在给定半径以(x, y)为圆心画圆
用 法: void far circle(int x, int y, 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 radius = 100; /* 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 */ } midx = getmaxx() / 2; midy = getmaxy() / 2; setcolor(getmaxcolor()); /* draw the circle */ circle(midx, midy, radius); /* clean up */ getch(); closegraph(); return 0; }
函数名: cleardevice
功 能: 清除图形屏幕
用 法: void far cleardevice(void);
程序例:
#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; /* 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 */ } midx = getmaxx() / 2; midy = getmaxy() / 2; setcolor(getmaxcolor()); /* for centering screen messages */ settextjustify(CENTER_TEXT, CENTER_TEXT); /* output a message to the screen */ outtextxy(midx, midy, "press any key to clear the screen:"); /* wait for a key */ getch(); /* clear the screen */ cleardevice(); /* output another message */ outtextxy(midx, midy, "press any key to quit:"); /* clean up */ getch(); closegraph(); return 0; }
函数名: clearerr
功 能: 复位错误标志
用 法:void clearerr(FILE *stream);
程序例:
#include <stdio.h> int main(void) { FILE *fp; char ch; /* open a file for writing */ fp = fopen("DUMMY.FIL", "w"); /* force an error condition by attempting to read */ ch = fgetc(fp); printf("%c\n",ch); if (ferror(fp)) { /* display an error message */ printf("Error reading from DUMMY.FIL\n"); /* reset the error and EOF indicators */ clearerr(fp); } fclose(fp); return 0; }
函数名: clearviewport
功 能: 清除图形视区
用 法: void far clearviewport(void);
程序例:
#include <graphics.h> #include <stdlib.h> #include <stdio.h> #include <conio.h> #define CLIP_ON 1 /* activates clipping in viewport */ int main(void) { /* request auto detection */ int gdriver = DETECT, gmode, errorcode; int ht; /* 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 */ } setcolor(getmaxcolor()); ht = textheight("W"); /* message in default full-screen viewport */ outtextxy(0, 0, "* <-- (0, 0) in default viewport"); /* create a smaller viewport */ setviewport(50, 50, getmaxx()-50, getmaxy()-50, CLIP_ON); /* display some messages */ outtextxy(0, 0, "* <-- (0, 0) in smaller viewport"); outtextxy(0, 2*ht, "Press any key to clear viewport:"); /* wait for a key */ getch(); /* clear the viewport */ clearviewport(); /* output another message */ outtextxy(0, 0, "Press any key to quit:"); /* clean up */ getch(); closegraph(); return 0; }
函数名: _close, close
功 能: 关闭文件句柄
用 法: int close(int handle);
程序例:
#include <string.h> #include <stdio.h> #include <fcntl.h> #include <io.h> main() { int handle; char buf[11] = "0123456789"; /* create a file containing 10 bytes */ handle = open("NEW.FIL", O_CREAT); if (handle > -1) { write(handle, buf, strlen(buf)); /* close the file */ close(handle); } else { printf("Error opening file\n"); } return 0; }
函数名: clock
功 能: 确定处理器时间
用 法: clock_t clock(void);
程序例:
#include <time.h> #include <stdio.h> #include <dos.h> int main(void) { clock_t start, end; start = clock(); delay(2000); end = clock(); printf("The time was: %f\n", (end - start) / CLK_TCK); return 0; }
函数名: closegraph
功 能: 关闭图形系统
用 法: void far closegraph(void);
程序例:
#include <graphics.h> #include <stdlib.h> #include <stdio.h> #include <conio.h> int main(void) { /* request auto detection */ int gdriver = DETECT, gmode, errorcode; int x, y; /* initialize graphics mode */ 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 */ } x = getmaxx() / 2; y = getmaxy() / 2; /* output a message */ settextjustify(CENTER_TEXT, CENTER_TEXT); outtextxy(x, y, "Press a key to close the graphics system:"); /* wait for a key */ getch(); /* closes down the graphics system */ closegraph(); printf("We‘re now back in text mode.\n"); printf("Press any key to halt:"); getch(); return 0; }
函数名: clreol
功 能: 在文本窗口中清除字符到行末
用 法: void clreol(void);
程序例:
#include <conio.h> int main(void) { clrscr(); cprintf("The function CLREOL clears all characters from the\r\n"); cprintf("cursor position to the end of the line within the\r\n"); cprintf("current text window, without moving the cursor.\r\n"); cprintf("Press any key to continue . . ."); gotoxy(14, 4); getch(); clreol(); getch(); return 0; }
函数名: clrscr
功 能: 清除文本模式窗口
用 法: void clrscr(void);
程序例:
#include <conio.h> int main(void) { int i; clrscr(); for (i = 0; i < 20; i++) cprintf("%d\r\n", i); cprintf("\r\nPress any key to clear screen"); getch(); clrscr(); cprintf("The screen has been cleared!"); getch(); return 0; }
函数名: coreleft
功 能: 返回未使用内存的大小
用 法: unsigned coreleft(void);
程序例:
#include <stdio.h> #include <alloc.h> int main(void) { printf("The difference between the highest allocated block and\n"); printf("the top of the heap is: %lu bytes\n", (unsigned long) coreleft()); return 0; }
函数名: cos
功 能: 余弦函数
用 法: double cos(double x);
程序例:
#include <stdio.h> #include <math.h> int main(void) { double result; double x = 0.5; result = cos(x); printf("The cosine of %lf is %lf\n", x, result); return 0; }
函数名: cosh
功 能: 双曲余弦函数
用 法: dluble cosh(double x);
程序例:
#include <stdio.h> #include <math.h> int main(void) { double result; double x = 0.5; result = cosh(x); printf("The hyperboic cosine of %lf is %lf\n", x, result); return 0; }
函数名: country
功 能: 返回与国家有关的信息
用 法: struct COUNTRY *country(int countrycode, struct country *country);
程序例:
#include <dos.h> #include <stdio.h> #define USA 0 int main(void) { struct COUNTRY country_info; country(USA, &country_info); printf("The currency symbol for the USA is: %s\n", country_info.co_curr); return 0; }
函数名: cprintf
功 能: 送格式化输出至屏幕
用 法: int cprintf(const char *format[, argument, ...]);
程序例:
#include <conio.h> int main(void) { /* clear the screen */ clrscr(); /* create a text window */ window(10, 10, 80, 25); /* output some text in the window */ cprintf("Hello world\r\n"); /* wait for a key */ getch(); return 0; }
函数名: cputs
功 能: 写字符到屏幕
用 法: void cputs(const char *string);
程序例:
#include <conio.h> int main(void) { /* clear the screen */ clrscr(); /* create a text window */ window(10, 10, 80, 25); /* output some text in the window */ cputs("This is within the window\r\n"); /* wait for a key */ getch(); return 0; }
函数名: _creat creat
功 能: 创建一个新文件或重写一个已存在的文件
用 法: int creat (const char *filename, int permiss);
程序例:
#include <sys\stat.h> #include <string.h> #include <fcntl.h> #include <io.h> int main(void) { int handle; char buf[11] = "0123456789"; /* change the default file mode from text to binary */ _fmode = O_BINARY; /* create a binary file for reading and writing */ handle = creat("DUMMY.FIL", S_IREAD | S_IWRITE); /* write 10 bytes to the file */ write(handle, buf, strlen(buf)); /* close the file */ close(handle); return 0; }
函数名: creatnew
功 能: 创建一个新文件
用 法: int creatnew(const char *filename, int attrib);
程序例:
#include <string.h> #include <stdio.h> #include <errno.h> #include <dos.h> #include <io.h> int main(void) { int handle; char buf[11] = "0123456789"; /* attempt to create a file that doesn‘t already exist */ handle = creatnew("DUMMY.FIL", 0); if (handle == -1) printf("DUMMY.FIL already exists.\n"); else { printf("DUMMY.FIL successfully created.\n"); write(handle, buf, strlen(buf)); close(handle); } return 0; }
函数名: creattemp
功 能: 创建一个新文件或重写一个已存在的文件
用 法: int creattemp(const char *filename, int attrib);
程序例:
#include <string.h> #include <stdio.h> #include <io.h> int main(void) { int handle; char pathname[128]; strcpy(pathname, "\\"); /* create a unique file in the root directory */ handle = creattemp(pathname, 0); printf("%s was the unique file created.\n", pathname); close(handle); return 0; }
函数名: cscanf
功 能: 从控制台执行格式化输入
用 法: int cscanf(char *format[,argument, ...]);
程序例:
#include <conio.h> int main(void) { char string[80]; /* clear the screen */ clrscr(); /* Prompt the user for input */ cprintf("Enter a string with no spaces:"); /* read the input */ cscanf("%s", string); /* display what was read */ cprintf("\r\nThe string entered is: %s", string); return 0; }
函数名: ctime
功 能: 把日期和时间转换为字符串
用 法: char *ctime(const time_t *time);
程序例:
#include <stdio.h> #include <time.h> int main(void) { time_t t; time(&t); printf("Today‘s date and time: %s\n", ctime(&t)); return 0; }
函数名: ctrlbrk
功 能: 设置Ctrl-Break处理程序
用 法: void ctrlbrk(*fptr)(void);
程序例:
#include <stdio.h> #include <dos.h> #define ABORT 0 int c_break(void) { printf("Control-Break pressed. Program aborting ...\n"); return (ABORT); } int main(void) { ctrlbrk(c_break); for(;;) { printf("Looping... Press <Ctrl-Break> to quit:\n"); } return 0; }
C语言函数 --C