C/C++——C語言常用庫函數
本文轉載自:https://blog.csdn.net/qq_36955347/article/details/71511900
一、數學函數
調用數學函數時,要求在源文件中包下以下命令行:
#include <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≥0 |
double tan(double x) |
計算tan(x) |
計算結果 |
|
double tanh(double x) |
計算x的雙曲正切函數tanh(x)的值 |
計算結果 |
|
二、字符函數
調用字符函數時,要求在源文件中包下以下命令行:
#include <ctype.h>
函數原型說明 |
功能 |
返回值 |
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中的字母轉換成大寫字母 |
返回對應的大寫字母 |
三、字符串函數
調用字符函數時,要求在源文件中包下以下命令行:
#include <string.h>
函數原型說明 |
功能 |
返回值 |
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所指字符串進行比較 |
s1<s2,返回負數;s1= =s2,返回0;s1>s2,返回正數 |
char *strcpy(char *s1,char *s2) |
把s2指向的串復制到s1指向的空間 |
s1 所指地址 |
unsigned strlen(char *s) |
求字符串s的長度 |
返回串中字符(不計最後的‘\0‘)個數 |
char *strstr(char *s1,char *s2) |
在s1所指字符串中,找出字符串s2第一次出現的位置 |
返回找到的字符串的地址,找不到返回NULL |
四、輸入輸出函數
調用字符函數時,要求在源文件中包下以下命令行:
#include <stdio.h>
函數原型說明 |
功能 |
返回值 |
void clearer(FILE *fp) |
清除與文件指針fp有關的所有出錯信息 |
無 |
int fclose(FILE *fp) |
關閉fp所指的文件,釋放文件緩沖區 |
出錯返回非0,否則返回0 |
int feof (FILE *fp) |
檢查文件是否結束 |
遇文件結束返回非0,否則返回0 |
int fgetc (FILE *fp) |
從fp所指的文件中取得下一個字符 |
出錯返回EOF,否則返回所讀字符 |
char *fgets(char *buf,int n, FILE *fp) |
從fp所指的文件中讀取一個長度為n-1的字符串,將其存入buf所指存儲區 |
返回buf所指地址,若遇文件結束或出錯返回NULL |
FILE *fopen(char *filename,char *mode) |
以mode指定的方式打開名為filename的文件 |
成功,返回文件指針(文件信息區的起始地址),否則返回NULL |
int fprintf(FILE *fp, char *format, args,…) |
把args,…的值以format指定的格式輸出到fp指定的文件中 |
實際輸出的字符數 |
int fputc(char ch, FILE *fp) |
把ch中字符輸出到fp指定的文件中 |
成功返回該字符,否則返回EOF |
int fputs(char *str, FILE *fp) |
把str所指字符串輸出到fp所指文件 |
成功返回非負整數,否則返回-1(EOF) |
int fread(char *pt,unsigned size,unsigned n, FILE *fp) |
從fp所指文件中讀取長度size為n個數據項存到pt所指文件 |
讀取的數據項個數 |
int fscanf (FILE *fp, char *format,args,…) |
從fp所指的文件中按format指定的格式把輸入數據存入到args,…所指的內存中 |
已輸入的數據個數,遇文件結束或出錯返回0 |
int fseek (FILE *fp,long offer,int base) |
移動fp所指文件的位置指針 |
成功返回當前位置,否則返回非0 |
long ftell (FILE *fp) |
求出fp所指文件當前的讀寫位置 |
讀寫位置,出錯返回 -1L |
int fwrite(char *pt,unsigned size,unsigned n, FILE *fp) |
把pt所指向的n*size個字節輸入到fp所指文件 |
輸出的數據項個數 |
int getc (FILE *fp) |
從fp所指文件中讀取一個字符 |
返回所讀字符,若出錯或文件結束返回EOF |
int getchar(void) |
從標準輸入設備讀取下一個字符 |
返回所讀字符,若出錯或文件結束返回-1 |
char *gets(char *s) |
從標準設備讀取一行字符串放入s所指存儲區,用’\0’替換讀入的換行符 |
返回s,出錯返回NULL |
int printf(char *format,args,…) |
把args,…的值以format指定的格式輸出到標準輸出設備 |
輸出字符的個數 |
int putc (int ch, FILE *fp) |
同fputc |
同fputc |
int putchar(char ch) |
把ch輸出到標準輸出設備 |
返回輸出的字符,若出錯則返回EOF |
int puts(char *str) |
把str所指字符串輸出到標準設備,將’\0’轉成回車換行符 |
返回換行符,若出錯,返回EOF |
int rename(char *oldname,char *newname) |
把oldname所指文件名改為newname所指文件名 |
成功返回0,出錯返回-1 |
void rewind(FILE *fp) |
將文件位置指針置於文件開頭 |
無 |
int scanf(char *format,args,…) |
從標準輸入設備按format指定的格式把輸入數據存入到args,…所指的內存中 |
已輸入的數據的個數 |
五、動態分配函數和隨機函數
調用字符函數時,要求在源文件中包下以下命令行:
#include <stdlib.h>
函數原型說明 |
功能 |
返回值 |
void *calloc(unsigned n,unsigned size) |
分配n個數據項的內存空間,每個數據項的大小為size個字節 |
分配內存單元的起始地址;如不成功,返回0 |
void *free(void *p) |
釋放p所指的內存區 |
無 |
void *malloc(unsigned size) |
分配size個字節的存儲空間 |
分配內存空間的地址;如不成功,返回0 |
void *realloc(void *p,unsigned size) |
把p所指內存區的大小改為size個字節 |
新分配內存空間的地址;如不成功,返回0 |
int rand(void) |
產生0~32767的隨機整數 |
返回一個隨機整數 |
void exit(int state) |
程序終止執行,返回調用過程,state為0正常終止,非0非正常終止 |
無 |
C/C++——C語言常用庫函數