一、數學函數 調用數學函數時,要求在源文件中包下以下命令行: #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非正常終止 | 無 |
|