C语言常用库函数
C語言常用庫函數
1、 <stdio.h>
| NULL | 這個宏是一個空指針常量的值 | |
| EOF | 這個宏是一個表示已經到達文件結束的負整數 | |
| int printf(const char *format, …) | 發送格式化輸出到標準輸出 stdout; %c :字符;%d:十進制整數;%f:浮點數 ;%s:字符串;%% :輸出字符%; 左對齊:"-";右對齊:"+";%m.nf:m 指所占的字符數,n 指小數位數默認為6; | |
| int sprintf(char *str, const char *format, …) | 發送格式化輸出到字符串 | |
| int scanf(const char *format, …) | 從標準輸入 stdin 讀取格式化輸入 | |
| int sscanf(const char *str, const char *format, …) | 從字符串讀取格式化輸入 | |
| int getchar(void) | 從標準輸入 stdin 獲取一個字符(一個無符號字符) | |
| char *gets(char *str) | 從標準輸入 stdin 讀取一行,并存儲在 str 中;當讀取到換行符或到達文件末尾時停止 | |
| int putchar(int char) | 把 char 寫入到標準輸出 stdout 中 | |
| int puts(const char *str) | 把字符串 str 寫入到標準輸出 stdout,換行符會被追加到輸出中 | |
2、 <stdlib.h>
| double atof(const char *str) | val = atof(str) | 把 str 字符串轉換為一個double 型浮點數,轉換不成功返回0.0 |
| int atoi(const char *str) | val = atoi(str); | 把參數 str 所指向的字符串轉換為一個 int 型整數,轉換不成功返回0 |
| void *malloc(size_t size) | p = (int *) malloc(sizeof(int)*5); | 分配所需的內存空間,并返回一個指向它的指針 |
| void free(void *ptr) | free(p ); | 釋放之前 malloc所分配的內存空間,不返回任何值 |
| int system(const char *string) | char command[10] = “ls -l”; system(command); | 由 string 指定的命令傳給要被命令處理器執行的主機環境 |
| void *bsearch(const void *key, const void *base, size_t nitems, size_t size, int (*compar)(const void *, const void *)) | int cmp(const void * a, const void * b) { return ( *(int *)a - *(int *)b ); } item = (int *) bsearch (&key, values, 5, sizeof (int), cmp); | 執行二分查找; key – 指向要查找的元素的指針,類型轉換為 void* base – 指向進行查找的數組的第一個對象的指針,類型轉換為 void* nitems – base 所指向的數組中元素的個數 size – 數組中每個元素的大小,以字節為單位 compar – 用來比較兩個元素的函數。 |
| void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void , const void)) | qsort(values, 5, sizeof(int), cmp); | 數組原地從小到大排序; base – 指向要排序的數組的第一個元素的指針 nitems – 由 base 指向的數組中元素的個數 size – 數組中每個元素的大小,以字節為單位 compar – 用來比較兩個元素的函數。 |
| int abs(int x) | b = abs(-10); | 返回 x 的絕對值 |
| RAND_MAX | 這個宏是 rand 函數返回的最大值 | |
| int rand(void) | r = rand()/RAND_MAX; | 返回一個范圍在 0 到 RAND_MAX 之間的偽隨機數 |
3、 <string.h>
| void *memcpy(void *dest, const void *src, size_t n) | memcpy(dest, src, strlen(src)+1); | 從 src 復制 n 個字符到 dest,返回一個指向 str1 的指針 |
| void *memset(void *str, int c, size_t n) | memset(str, ‘0’, sizeof(str)); | 復制無符號字符 c 到 str 的前 n 個字符,返回一個指向存儲區 str 的指針 |
| char *strcat(char *dest, const char *src) | strcat(dest, src); | 把 src 字符串追加到 dest 符串的結尾,返回一個指向dest的指針 |
| char *strncat(char *dest, const char *src, size_t n) | strncat(dest, src, 15); | 把 src 字符串的前 n 字符追加到 dest 字符串的結尾,返回指向 dest 的指針 |
| char *strchr(const char *str, int c) | ret = strchr(str, ch); | 在 str 字符串中搜索第一次出現字符 c 的位置 ,返回位置指針,未找到則返回 NULL |
| int strcmp(const char *str1, const char *str2) | ret = strcmp(str1, str2); | 比較 str1 和 str2 字符串,返回值小于 0, str1<str2;大于 0,str1>str2 ;等于 0,str1=str2 |
| int strncmp(const char *str1, const char *str2, size_t n) | ret = strncmp(str1, str2, 4); | 把 str1 和 str2 進行比較,最多比較前 n 個字節 |
| char *strcpy(char *dest, const char *src) | strcpy (str2,str1); strcpy (str3, “copy”); | 把 src 字符串復制到 dest |
| char *strncpy(char *dest, const char *src, size_t n) | strncpy(dest, src, sizeof(dest); | 把 src 字符串復制到 dest,最多復制 n 個字符。 |
| size_t strlen(const char *str) | len = strlen(str); | 計算字符串 str 的長度,直到空結束字符,但不包括空結束字符 |
| char *strrchr(const char *str, int c) | ret = strrchr(str, ch); | 在 str 字符串中搜索最后一次出現字符 c 的位置。 |
| char *strstr(const char *dest, const char *src) | ret = strstr(dest, src); | 在字符串 dest 中查找第一次出現字符串 src(不包含空結束字符)的位置,返回位置指針 |
| char *strtok(char *str, const char *delim) | token = strtok(str, s); while( token != NULL) {printf( “%s\n”, token ); token = strtok(NULL, s);} | 根據分隔符 delim 分解字符串 str ,返回被分解的第一個子字符串,如無則返回一個空指針 |
4、 <math.h>
| double exp(double x) | 返回 e 的 x 次冪的值 | |
| double log(double x) | 返回 x 的自然對數(基數為 e 的對數) | |
| double log10(double x) | 返回 x 的常對數(基數為 10 的對數) | |
| double modf(double x, double *integer) | 返回值為小數部分(小數點后的部分),并設置 integer 為整數部分 | |
| double pow(double x, double y) | 返回 x 的 y 次冪 | |
| double sqrt(double x) | 返回 x 的平方根 | |
| double ceil(double x) | 返回大于或等于 x 的最小的整數值 | |
| double floor(double x) | 返回小于或等于 x 的最大的整數值。 | |
5、<ctype.h>
| int isalnum(int c) | 檢查所傳的字符是否是字母和數字 | |
| int isalpha(int c) | 檢查所傳的字符是否是字母 | |
| int isdigit(int c) | 檢查所傳的字符是否是十進制數字 | |
| int islower(int c) | 檢查所傳的字符是否是小寫字母 | |
| int isprint(int c) | 檢查所傳的字符是否是可打印的 | |
| int ispunct(int c) | 檢查所傳的字符是否是標點符號字符 | |
| int isspace(int c) | 檢查所傳的字符是否是空白字符 | |
| int isupper(int c) | 檢查所傳的字符是否是大寫字母 | |
| int tolower(int c) | 把大寫字母轉換為小寫字母 | |
| int toupper(int c) | 把小寫字母轉換為大寫字母 | |
GOOD LUCK!
總結
- 上一篇: 香帅的北大金融学课笔记16 -- 公司决
- 下一篇: can总线资源总结