數學
1 三角函數
double sin (double);
double cos (double);
double tan (double);
2 反三角函數
double asin (double); 結果介於[-PI/2, PI/2]
double acos (double); 結果介於[0, PI]
double atan (double); 反正切(主值), 結果介於[-PI/2, PI/2]
double atan2 (double, double); 反正切(整圓值), 結果介於[-PI/2, PI/2]
3 雙曲三角函數
double sinh (double);
double cosh (double);
double tanh (double);
4 指數與對數
double exp (double x); e的x次冪
double pow (double x, double y); x的y次冪
double sqrt (double);
double log (double x); 以e為底的對數,即ln x
double log10 (double x);log10(x) 以10為底。
沒有以2為底的函數但是可以用換底公式解 決:log2(N)=log10(N)/log10(2)
5 取整
double ceil (double); 不小於x的最小整數
double floor (double); 不大於x的最大整數
6 絕對值
int abs(int);整型
long labs(long);長整型
double fabs (double);浮點型
7 標准化浮點數
double frexp (double f, int p); 標准化浮點數, f = x * 2^p, 已知f求x, p ( x介於[0.5, 1] )
double ldexp (double x, int p); 與frexp相反, 已知x, p求f
8 取整與取余
double modf (double, double); 將參數的整數部分通過指針回傳, 返回小數部分
double fmod (double, double); 返回兩參數相除的余數
9.平方根
double sqrt(double x);
字符
int isalpha(int c);c是否為字母
int isdigit(int c);c是否為數字
int tolower(int c);將c轉換為小寫字母
int toupper(int c);將c轉換為大寫字母
字符串
char *strcpy(char *sl,char *s2);將字符串s2復制給s1,即覆蓋
unsigned strlen(char *sr);求字符串str長度
內存操作
void *memcpy(void *d,void *s,int c);將s指向的內存區域的c個字節復制到d指向的區域
類型轉換
int atoi(char *s);將字符串轉化為整數
char *itoa(int v,char *s,int x);將整數v按x進制轉成字符串s
時間
time_t time(time_t *timer);返回1970/1/1零點到目前的秒數
其他
srand(unsigned seed);設置隨機數的種子
int rand();產生0-RAND_MAX的隨機數
exit(int);終止正在執行的程序