C常用標準庫及函式

2021-08-19 19:13:22 字數 4231 閱讀 2360

常用標頭檔案:

stdio.h

stdlib.h

ctype.h

string.h

math.h

system.h

1、stdio庫:主要功能是輸入輸出操作,包括檔案輸入輸出,標準輸入輸出。

輸出函式: int puts(const char* str) 把乙個字串寫出到標準輸出

int printf(char *format,args,…)  把args,…的值以format指定的格式輸出到標準輸出裝置,輸出字元的個數

用\0替換為\n換行符

輸入函式:char* gets(char* str)從標準輸入讀一行資料知道換行符才結束

file *fopen(char *filename,char *mode)  以mode指定的方式開啟名為filename的檔案,返回值:成功,返回檔案指標(檔案資訊區的起始位址),否則返回null

將\n替換為\0

2、ctype庫

字元函式:定義了一批c語言字元分類函式,用於測試字元是否屬於特定的字元。

字元測試函式:

函式原型均為 int is***(int a)

只能正確處理 【0,127】之間的數值

引數為int,任何實參均被提公升成整型

字元對映函式:

函式原型 int to***(int a)

對引數進行檢測,符合範圍則轉換,否則不變。

呼叫字元函式時,要求在原始檔中包下以下命令列:

#include

函式原型說明

功能返回值

int isalnum(int ch)

檢查ch是否為字母或數字

是,返回1;否則返回0

int isalpha(int ch)

檢查ch是否為字母

是,返回1;否則返回0

int iscntrl(int ch)

檢查ch是否為控制字元

是,返回1;否則返回0

int isdigit(int ch)

檢查ch是否為數字

是,返回1;否則返回0

int isgraph(int ch)

檢查ch是否為ascii碼值在ox21到ox7e的可列印字元(即不包含空格字元)

是,返回1;否則返回0

int islower(int ch)

檢查ch是否為小寫字母

是,返回1;否則返回0

int isprint(int ch)

檢查ch是否為包含空格符在內的可列印字元

是,返回1;否則返回0

int ispunct(int ch)

檢查ch是否為除了空格、字母、數字之外的可列印字元

是,返回1;否則返回0

int isspace(int ch)

檢查ch是否為空格、製表或換行符

是,返回1;否則返回0

int isupper(int ch)

檢查ch是否為大寫字母

是,返回1;否則返回0

int isxdigit(int ch)

檢查ch是否為16進製制數

是,返回1;否則返回0

int tolower(int ch)

把ch中的字母轉換成小寫字母

返回對應的小寫字母

int toupper(int ch)

把ch中的字母轉換成大寫字母

返回對應的大寫字母

3、字串處理函式庫,#include

函式原型說明

功能返回值

char *strcat(char *s1,char *s2)

把字串s2接到s1後面

s1所指位址

char *strchr(char *s,int ch)

在s所指字串中,找出第一次出現字元ch的位置

返回找到的字元的位址,找不到返回null

int strcmp(char *s1,char *s2)

對s1和s2所指字串進行比較

s1s2,返回正數

char *strcpy(char *s1,char *s2)

把s2指向的串複製到s1指向的空間

s1 所指位址

unsigned strlen(char *s)

求字串s的長度

返回串中字元(不計最後的'\0')個數

char *strstr(char *s1,char *s2)

在s1所指字串中,找出字串s2第一次出現的位置

返回找到的字串的位址,找不到返回null

4、math.h 數學庫

函式原型說明

功能返回值

說明int abs( int x)

求整數x的絕對值

計算結果

double fabs(double x)

求雙精度實數x的絕對值

計算結果

double acos(double x)

計算cos-1(x)的值

計算結果

x在-1~1範圍內

double asin(double x)

計算sin-1(x)的值

計算結果

x在-1~1範圍內

double atan(double x)

計算tan-1(x)的值

計算結果

double atan2(double x)

計算tan-1(x/y)的值

計算結果

double cos(double x)

計算cos(x)的值

計算結果

x的單位為弧度

double cosh(double x)

計算雙曲余弦cosh(x)的值

計算結果

double exp(double x)

求ex的值

計算結果

double fabs(double x)

求雙精度實數x的絕對值

計算結果

double floor(double x)

求不大於雙精度實數x的最大整數

double fmod(double x,double y)

求x/y整除後的雙精度餘數

double frexp(double val,int *exp)

把雙精度val分解尾數和以2為底的指數n,即val=x*2n,n存放在exp所指的變數中

返回位數x

0.5≤x<1

double log(double x)

求㏑x計算結果

x>0

double log10(double x)

求log10x

計算結果

x>0

double modf(double val,double *ip)

把雙精度val分解成整數部分和小數部分,整數部分存放在ip所指的變數中

返回小數部分

double pow(double x,double y)

計算xy的值

計算結果

double sin(double x)

計算sin(x)的值

計算結果

x的單位為弧度

double sinh(double x)

計算x的雙曲正弦函式sinh(x)的值

計算結果

double sqrt(double x)

計算x的開方

計算結果

x≥0double tan(double x)

計算tan(x)

計算結果

double tanh(double x)

計算x的雙曲正切函式tanh(x)的值

計算結果

5、stdlib.h

字串轉換

double atof (const char*);

int atoi (const char*);

long atol (const char*);

double strtod (const char*, char**);

long strtol (const char*, char**, int);

unsigned long strtoul (const char*, char**, int);

隨機數記憶體管理

環境介面:

void abort (void);

void exit (int);

int atexit (void (*)(void));

int system (const char*);

char* getenv (const char*);

C標準庫常用標頭檔案及函式總結

本文我們總結一下c標準庫常用的介面標頭檔案及函式,包含c99和c11標準。1.斷言 assert.h 程式錯誤檢測 void assert int exprs 如果exprs表示式為真,則什麼也不做,如果exprs表示式為假,則編譯器顯示表示式所在的檔名和行號,然後打斷程式執行。2.ctype.h ...

C標準庫常用函式實現

size t mystrlen const char s s指向的內容唯讀 sc更加符合人的思維就是需要它改變。int mystrncmp const char s1 const char s2 size t n 從s2執行的資料複製最多n個字元到s1指向陣列中.如果s2比n短,則s1執行資料後面新...

C 標準庫常用函式彙總

include指令 排序sort vec.begin vec.end 反轉reverse str.begin str.end include指令 定義了三個型別來支援 檔案io 從乙個給定檔案讀取資料 ifstream fin pose.txt 向乙個給定檔案寫入資料 ofstream 讀寫給定檔案...