C语言常用函数大整理
? 最近在準備復試,要用DEV C++寫程序,被各種功能強大的IDE寵慣的我當然不會自己去記這些函數,但往往記不住這些函數就寫不出程序,于是我決定自己整理一下這些常用函數,長個記性。
目錄
一、輸入輸出函數
二、數學函數
三、字符函數
四、字符串函數
五、動態分配函數和隨機函數
一、輸入輸出函數
這是最常用的函數頭文件,在使用時加入 #include <stdio.h>
| 函數原型 | 功能 | 返回值 |
| int fclose(FILE *fp) | 關閉fp所指的文件,釋放文件緩沖區 | 出錯返回非0,否則返回0 |
| int feof (FILE *fp) | 檢查文件是否結束 | 遇文件結束返回非0,否則返回0 |
| char *fgets(char *buf,int n, FILE *fp) | 從fp所指的文件中讀取一個長度為n-1的字符串,將其存入buf所指存儲區 | 返回buf所指地址,若遇文件結束或出錯返回NULL |
| FILE *fopen(char *filename,char *mode) | 以mode指定的方式打開名為filename的文件 | 成功,返回文件指針(文件信息區的起始地址),否則返回NULL |
| 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 fprintf (FILE *fp, char *format,args,…) | 將args,…內存中的內容以format的格式存儲到fp所指向的文件中 | 實際寫入文件的字符個數 失敗則返回-1 |
| int fseek (FILE *fp,long offer,int base) | 移動fp所指文件的位置指針 | 成功返回當前位置,否則返回非0 |
| 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 putchar(char ch) | 把ch輸出到標準輸出設備 | 返回輸出的字符,若出錯則返回EOF |
| int puts(char *str) | 把str所指字符串輸出到標準設備,將’\0’轉成回車換行符 | 返回換行符,若出錯,返回EOF |
| int rename(char *oldname,char *newname) | 把oldname所指文件名改為newname所指文件名 | 成功返回0,出錯返回-1 |
| int scanf(char *format,args,…) | 從標準輸入設備按format指定的格式把輸入數據存入到args,…所指的內存中 | 已輸入的數據的個數 |
二、數學函數
數學函數就是常用的數學操作,比如取絕對值等等,這些函數包含在<math.h>這個頭文件中在使用前引用#include <math.h>
| 函數原型 | 功能 | 返回值 | 說明 |
| int abs( int x) | 求整數x的絕對值 | 計算結果 | ? |
| double fabs(double x) | 求雙精度實數x的絕對值 | 計算結果 | ? |
| double exp(double x) | 求ex的值 | 計算結果 | ? |
| double fabs(double x) | 求雙精度實數x的絕對值 | 計算結果 | ? |
| double pow(double x,double y) | 計算x的y次冪的值 | 計算結果 | ? |
| double sqrt(double x) | 計算x的開方 | 計算結果 | x≥0 |
三、字符函數
字符函數就是常用的數學操作,這些函數包含在<ctype.h>這個頭文件中在使用前引用#include <ctype.h>
| 函數原型說明 | 功能 | 返回值 |
| int isdigit(int ch) | 檢查ch是否為數字 | 是,返回1;否則返回0 |
| int islower(int ch) | 檢查ch是否為小寫字母 | 是,返回1;否則返回0 |
| int isupper(int ch) | 檢查ch是否為大寫字母 | 是,返回1;否則返回0 |
| int tolower(int ch) | 把ch中的字母轉換成小寫字母 | 返回對應的小寫字母 |
| int toupper(int ch) | 把ch中的字母轉換成大寫字母 | 返回對應的大寫字母 |
四、字符串函數
在C語言中沒有string這一類型的數據,所謂的字符串就是字符數組,在使用前添加#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第一次出現的位置 | 返回找到的字符串的地址,找不到返回NUL |
五、動態分配函數和隨機函數
就是在申請空間(鏈表分配)以及隨機數生成時可能有用的函數,使用時頭文件#include <stdlib.h>
| 函數原型說明 | 功能 | 返回值 |
| void *free(void *p) | 釋放p所指的內存區 | 無 |
| void *malloc(unsigned size) | 分配size個字節的存儲空間 | 分配內存空間的地址;如不成功,返回0 |
| int rand(void) | 產生0~32767的隨機整數 | 返回一個隨機整數 |
| void exit(int state) | 程序終止執行,返回調用過程,state為0正常終止,非0非正常終止 | 無 |
現在階段就用這些,一定能記住(狗頭)
更詳細的函數戳這里-->https://blog.csdn.net/ithomer/article/details/5691026
總結
以上是生活随笔為你收集整理的C语言常用函数大整理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android string数组转jso
- 下一篇: 兄弟打印机内存已满清零方法_打印机是如何