一、數學函數
調用數學函數時,要求在源檔案中包下以下指令行:
#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) |