1. 程式人生 > >C/C++——C語言常用庫函數

C/C++——C語言常用庫函數

fseek class signed tle alpha sta 控制字符 精度 部分

本文轉載自: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語言常用庫函數