當前位置:編程學習大全網 - 源碼下載 - 求C語言所有的簡單函數!

求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的命令處理器 返回所執行命令的退出狀態

  • 上一篇:王興姑娘詩經裏最美的名字,王興姑娘詩意的名字。
  • 下一篇:ios設置角標不顯示的問題
  • copyright 2024編程學習大全網