在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C語(yǔ)言常用標(biāo)準(zhǔn)庫(kù)分享

硬件攻城獅 ? 來源:硬件攻城獅 ? 2023-02-20 18:08 ? 次閱讀

有很多工程師喜歡自己封裝一些標(biāo)準(zhǔn)庫(kù)已有的函數(shù),其實(shí)自己封裝的函數(shù),并不一定比標(biāo)準(zhǔn)庫(kù)好,有時(shí)候反而代碼更冗余,且有bug。下面就來分享一下C語(yǔ)言常見的一些標(biāo)準(zhǔn)庫(kù)。

標(biāo)準(zhǔn)頭文件包括:

                
              
           
        

一、標(biāo)準(zhǔn)定義(

文件里包含了標(biāo)準(zhǔn)庫(kù)的一些常用定義,無論我們包含哪個(gè)標(biāo)準(zhǔn)頭文件,都會(huì)被自動(dòng)包含進(jìn)來。

這個(gè)文件里定義:

類型size_t(sizeof運(yùn)算符的結(jié)果類型,是某個(gè)無符號(hào)整型);

類型ptrdiff_t(兩個(gè)指針相減運(yùn)算的結(jié)果類型,是某個(gè)有符號(hào)整型);

類型wchar_t(寬字符類型,是一個(gè)整型,其中足以存放本系統(tǒng)所支持的所有本地環(huán)境中的字符集的所有編碼值。這里還保證空字符的編碼值為0);

符號(hào)常量NULL(空指針值);

宏offsetor(這是一個(gè)帶參數(shù)的宏,第一個(gè)參數(shù)應(yīng)是一個(gè)結(jié)構(gòu)類型,第二個(gè)參數(shù)應(yīng)是結(jié)構(gòu)成員名。

offsetor(s,m)

求出成員m在結(jié)構(gòu)類型t的變量里的偏移量)。

注:其中有些定義也出現(xiàn)在其他頭文件里(如NULL)。

二、錯(cuò)誤信息(

定義了一個(gè)int類型的表達(dá)式errno,可以看作一個(gè)變量,其初始值為0,一些標(biāo)準(zhǔn)庫(kù)函數(shù)執(zhí)行中出錯(cuò)時(shí)將它設(shè)為非0值,但任何標(biāo)準(zhǔn)庫(kù)函數(shù)都設(shè)置它為0。

里還定義了兩個(gè)宏EDOM和ERANGE,都是非0的整數(shù)值。數(shù)學(xué)函數(shù)執(zhí)行中遇到參數(shù)錯(cuò)誤,就會(huì)將errno置為EDOM,如出現(xiàn)值域錯(cuò)誤就會(huì)將errno置為ERANGE。

三、輸入輸出函數(shù)(

文件打開和關(guān)閉:

FILE *fopen(const char *filename, const char *mode);
int fclose(FILE * stream);

字符輸入輸出:

int fgetc(FILE *fp);
int fputc(int c, FILE *fp);

getc和putc與這兩個(gè)函數(shù)類似,但通過宏定義實(shí)現(xiàn)。通常有下面定義:

#define getchar()  getc(stdin)
#define putchar(c) putc(c, stdout)
intungetc(intc,FILE*stream);  //把字符c退回流stream

格式化輸入輸出:

int scanf(const char *format, ...);
int printf(const char *format, ...);
int fscanf(FILE *stream, const char *format, ...);
int fprintf(FILE *stream, const char *format, ...);
int sscanf(char *s, const char *format, ...);
int sprintf(char *s, const char *format, ...);

行式輸入輸出:

char *fgets(char *buffer, int n, FILE *stream);
int fputs(const char *buffer, FILE *stream);
char *gets(char *s);
int puts(const char *s);

直接輸入輸出:

size_t fread(void *pointer, size_t size, size_t num, FILE *stream);
size_t fwrite(const void *pointer, size_t size, size_t num, FILE *stream);

四、數(shù)學(xué)函數(shù)(

1.三角函數(shù):

三角函數(shù) sin cos tan
反三角函數(shù) asin acos atan
雙曲函數(shù) sinh cosh tanh

2.指數(shù)和對(duì)數(shù)函數(shù):

以e為底的指數(shù)函數(shù) exp
自然對(duì)數(shù)函數(shù) log
以10為底的對(duì)數(shù)函數(shù) log10

3.其他函數(shù):

平方根 sqrt
絕對(duì)值 fabs
乘冪,第一個(gè)參數(shù)作為底,第二個(gè)是指數(shù) double pow(double, double)
實(shí)數(shù)的余數(shù),兩個(gè)參數(shù)分別是被除數(shù)和除數(shù) double fmod(double, double)

注:所有上面未給出類型特征的函數(shù)都取一個(gè)參數(shù),其參數(shù)與返回值都是double類型。

下面函數(shù)返回雙精度值(包括函數(shù)ceil和floor)。在下表里,除其中有特別說明的參數(shù)之外,所有函數(shù)的其他參數(shù)都是double類型。

函數(shù)原型 意義解釋
ceil(x) 求出不小于x的最小整數(shù)(返回與這個(gè)整數(shù)對(duì)應(yīng)的double值)
floor(x) 求出不大于x的最大整數(shù)(返回與這個(gè)整數(shù)對(duì)應(yīng)的double值)
atan2(y, x) 求出tan-1(y/x),其值的范圍是[-pai,pai]
ldexp(x, int n) 求出x*2n
frexp(x, int*exp) 把x分解為y*2n,是位于區(qū)間[1/2,1)里的一個(gè)小數(shù),作為函數(shù)結(jié)果返回,整數(shù)n通過指針*exp返回(應(yīng)提供一個(gè)int變量地址)。當(dāng)x為0時(shí)這兩個(gè)結(jié)果的值都是0
modf(x, double
*ip)
把x分解為小數(shù)部分和整數(shù)部分,小數(shù)部分作為函數(shù)返回值,整數(shù)部分通過指針*ip返回。

五、字符處理函數(shù)(

見下表:

int isalpha(c) c是字母字符
int isdigit(c) c是數(shù)字字符
int isalnum(c) c是字母或數(shù)字字符
int isspace(c) c是空格、制表符、換行符
int isupper(c) c是大寫字母
int islower(c) c是小寫字母
int iscntrl(c) c是控制字符
int isprint(c) c是可打印字符,包括空格
int isgraph(c) c是可打印字符,不包括空格
int isxdigit(c) c是十六進(jìn)制數(shù)字字符
int ispunct(c) c是標(biāo)點(diǎn)符號(hào)
int tolower(int c) 當(dāng)c是大寫字母時(shí)返回對(duì)應(yīng)小寫字母,否則返回c本身
int toupper(int c) 當(dāng)c是小寫字母時(shí)返回對(duì)應(yīng)大寫字母,否則返回c本身

注:條件成立時(shí)這些函數(shù)返回非0值。最后兩個(gè)轉(zhuǎn)換函數(shù)對(duì)于非字母參數(shù)返回原字符。

六、字符串函數(shù)(

1.字符串函數(shù)

所有字符串函數(shù)列在下表里,函數(shù)描述采用如下約定:s、t表示 (char *)類型的參數(shù),cs、ct表示(const char*)類型的參數(shù)(它們都應(yīng)表示字符串)。n表示size_t類型的參數(shù)(size_t是一個(gè)無符號(hào)的整數(shù)類型),c是整型參數(shù)(在函數(shù)里轉(zhuǎn)換到char):

函數(shù)原型 意義解釋
size_t strlen(cs) 求出cs的長(zhǎng)度
char *strcpy(s,ct) 把ct復(fù)制到s。要求s指定足夠大的字符數(shù)組
char *strncpy(s,ct,n) 把ct里的至多n個(gè)字符復(fù)制到s。要求s指定一個(gè)足夠大的字符數(shù)組。如果ct里的字符不夠n個(gè),就在s里填充空字符。
char *strcat(s,ct) 把ct里的字符復(fù)制到s里已有的字符串之后。s應(yīng)指定一個(gè)保存著字符串,而且足夠大的字符數(shù)組。
char *strncat(s,ct,n) 把ct里的至多n個(gè)字符復(fù)制到s里已有的字符串之后。s應(yīng)指定一個(gè)保存著字符串,而且足夠大的字符數(shù)組。
int strcmp(cs,ct) 比較字符串cs和ct的大小,在cs大于、等于、小于ct時(shí)分別返回正值、0、負(fù)值。
int strncmp(cs,ct,n) 比較字符串cs和ct的大小,至多比較n個(gè)字符。在cs大于、等于、小于ct時(shí)分別返回正值、0、負(fù)值。
char *strchr(cs,c) 在cs中查尋c并返回c第一個(gè)出現(xiàn)的位置,用指向這個(gè)位置的指針表示。當(dāng)cs里沒有c時(shí)返回值NULL
char *strrchr(cs,c) 在cs中查尋c并返回c最后一個(gè)出現(xiàn)的位置,沒有時(shí)返回NULL
size_t strspn(cs,ct) 由cs起確定一段全由ct里的字符組成的序列,返回其長(zhǎng)度
size_t strcspn(cs,ct) 由cs起確定一段全由非ct里的字符組成的序列,返回其長(zhǎng)度
char *strpbrk(cs,ct) 在cs里查尋ct里的字符,返回第一個(gè)滿足條件的字符出現(xiàn)的位置,沒有時(shí)返回NULL
char *strstr(cs,ct) 在cs中查尋串ct(查詢子串),返回ct作為cs的子串的第一個(gè)出現(xiàn)的位置,ct未出現(xiàn)在cs里時(shí)返回NULL
char *strerror(n) 返回與錯(cuò)誤編號(hào)n相關(guān)的錯(cuò)誤信息串(指向該錯(cuò)誤信息串的指針)
char *strtok(s,ct) 在s中查尋由ct中的字符作為分隔符而形成的單詞

2.存儲(chǔ)區(qū)操作

還有一組字符數(shù)組操作函數(shù)(存儲(chǔ)區(qū)操作函數(shù)),名字都以mem開頭,以某種高效方式實(shí)現(xiàn)。在下面原型中,參數(shù)s和t的類型是(void *),cs和ct的類型是(const void *),n的類型是size_t,c的類型是int(轉(zhuǎn)換為unsigned char)。

函數(shù)原型 意義解釋
void *memcpy(s,ct,n) 從ct處復(fù)制n個(gè)字符到s處,返回s
void *memmove(s,ct,n) 從ct處復(fù)制n個(gè)字符到s處,返回s,這里的兩個(gè)段允許重疊
int memcmp(cs,ct,n) 比較由cs和ct開始的n個(gè)字符,返回值定義同strcmp
void *memchr(cs,c,n) 在n個(gè)字符的范圍內(nèi)查尋c在cs中的第一次出現(xiàn),如果找到,返回該位置的指針值,否則返回NULL
void *memset(s,c,n) 將s的前n個(gè)字符設(shè)置為c,返回s

七、功能函數(shù)(

1.隨機(jī)數(shù)函數(shù):

函數(shù)原型 意義解釋
int rand(void) 生成一個(gè)0到RAND_MAX的隨機(jī)整數(shù)
void srand(unsigned seed) 用seed為隨后的隨機(jī)數(shù)生成設(shè)置種子值

2.動(dòng)態(tài)存儲(chǔ)分配函數(shù):

函數(shù)原型 意義解釋
void *calloc(size_t n, size_t size) 分配一塊存儲(chǔ),其中足以存放n個(gè)大小為size的對(duì)象,并將所有字節(jié)用0字符填充。返回該存儲(chǔ)塊的地址。不能滿足時(shí)返回NULL
void *malloc(size_t size) 分配一塊足以存放大小為size的存儲(chǔ),返回該存儲(chǔ)塊的地址,不能滿足時(shí)返回NULL
void *realloc(void *p, size_t size) 將p所指存儲(chǔ)塊調(diào)整為大小size,返回新塊的地址。如能滿足要求,新塊的內(nèi)容與原塊一致;不能滿足要求時(shí)返回NULL,此時(shí)原塊不變
void free(void *p) 釋放以前分配的動(dòng)態(tài)存儲(chǔ)塊

3.幾個(gè)整數(shù)函數(shù)

幾個(gè)簡(jiǎn)單的整數(shù)函數(shù)見下表,div_t和ldiv_t是兩個(gè)預(yù)定義結(jié)構(gòu)類型,用于存放整除時(shí)得到的商和余數(shù)。div_t類型的成分是int類型的quot和rem,ldiv_t類型的成分是long類型的quot和rem。

函數(shù)原型 意義解釋
int abs(int n) 求整數(shù)的絕對(duì)值
long labs(long n) 求長(zhǎng)整數(shù)的絕對(duì)值
div_t div(int n, int m) 求n/m,商和余數(shù)分別存放到結(jié)果結(jié)構(gòu)的對(duì)應(yīng)成員里
ldiv_t ldiv(long n, long m) 同上,參數(shù)為長(zhǎng)整數(shù)

4.數(shù)值轉(zhuǎn)換

函數(shù)原型 意義解釋
double atof(const char *s) 由串s構(gòu)造一個(gè)雙精度值
int atoi(const char *s) 由串s構(gòu)造一個(gè)整數(shù)值
long atol(const char *s) 由串s構(gòu)造一個(gè)長(zhǎng)整數(shù)值

5.執(zhí)行控制

1)非正常終止函數(shù)abort。

原型是:

void abort(void);

2)正常終止函數(shù)exit。

原型是:

void exit(int status);

導(dǎo)致程序按正常方式立即終止。status作為送給執(zhí)行環(huán)境的出口值,0表示成功結(jié)束,兩個(gè)可用的常數(shù)為EXIT_SUCCESS,EXIT_FAILURE。

3)正常終止注冊(cè)函數(shù)atexit。

原型是:

int atexit(void (*fcn)(void))

可用本函數(shù)把一些函數(shù)注冊(cè)為結(jié)束動(dòng)作。被注冊(cè)函數(shù)應(yīng)當(dāng)是無參無返回值的函數(shù)。注冊(cè)正常完成時(shí)atexit返回值0,否則返回非零值。

6.與執(zhí)行環(huán)境交互

1)向執(zhí)行環(huán)境傳送命令的函數(shù)system。

原型是:

int system(const char *s);

把串s傳遞給程序的執(zhí)行環(huán)境要求作為系統(tǒng)命令執(zhí)行。如以NULL為參數(shù)調(diào)用,函數(shù)返回非0表示環(huán)境里有命令解釋器。如果s不是NULL,返回值由實(shí)現(xiàn)確定。

2)訪問執(zhí)行環(huán)境的函數(shù)getenv。

原型是:

char *getenv(const char *s);

從執(zhí)行環(huán)境中取回與字符串s相關(guān)聯(lián)的環(huán)境串。如果找不到就返回NULL。本函數(shù)的具體結(jié)果由實(shí)現(xiàn)確定。在許多執(zhí)行環(huán)境里,可以用這個(gè)函數(shù)去查看“環(huán)境變量”的值。

7.常用函數(shù)bsearch和qsort

1)二分法查找函數(shù)bsearch:

void *bsearch(const void *key, const void *base, size_t n, size_t size, int (*cmp)(const void *keyval, const void *datum));

函數(shù)指針參數(shù)cmp的實(shí)參應(yīng)是一個(gè)與字符串比較函數(shù)strcmp類似的函數(shù),確定排序的順序,當(dāng)?shù)谝粋€(gè)參數(shù)keyval比第二個(gè)參數(shù)datum大、相等或小時(shí)分別返回正、零或負(fù)值。

2)快速排序函數(shù)qsort:

qsort對(duì)于比較函數(shù)cmp的要求與bsearch一樣。設(shè)有數(shù)組base[0],...,base[n-1],元素大小為size。用qsort可以把這個(gè)數(shù)組的元素按cmp確定的上升順序重新排列。

void qsort(void *base, size_t n, size_t size, int (*cmp)(const void *, const void *));

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7630

    瀏覽量

    140524
  • 文件
    +關(guān)注

    關(guān)注

    1

    文章

    578

    瀏覽量

    25227
  • 字符
    +關(guān)注

    關(guān)注

    0

    文章

    234

    瀏覽量

    25493
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4371

    瀏覽量

    64278
  • 標(biāo)準(zhǔn)庫(kù)

    關(guān)注

    0

    文章

    31

    瀏覽量

    7679

原文標(biāo)題:C語(yǔ)言常用標(biāo)準(zhǔn)庫(kù)

文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    C語(yǔ)言標(biāo)準(zhǔn)庫(kù)的基本使用

    寫出看起來專業(yè)的C代碼,除了規(guī)范的變量/函數(shù)命名,還需要熟練使用C語(yǔ)言標(biāo)準(zhǔn)庫(kù)。當(dāng)為了數(shù)組拷貝自己編寫一個(gè)for循環(huán)的時(shí)候(可以用memcp
    發(fā)表于 09-14 14:04 ?912次閱讀

    dsPIC語(yǔ)言工具庫(kù)

    信息。1.1.1 匯編代碼的應(yīng)用可以從Microchip網(wǎng)站下載dsPIC語(yǔ)言工具庫(kù)的免費(fèi)版本。提供了DSP函數(shù)庫(kù)和dsPIC外設(shè)函數(shù)庫(kù)的目標(biāo)文件和源代碼。僅提供了數(shù)學(xué)
    發(fā)表于 03-08 15:37

    誰(shuí)有avr用的c語(yǔ)言標(biāo)準(zhǔn)庫(kù)的資源???求分享

    如何去開發(fā)一種avr單片機(jī)?誰(shuí)有avr用的c語(yǔ)言標(biāo)準(zhǔn)庫(kù)的資源啊?求分享
    發(fā)表于 07-07 06:52

    單片機(jī)常用C語(yǔ)言標(biāo)準(zhǔn)庫(kù)有哪些呢

    單片機(jī)常用C語(yǔ)言標(biāo)準(zhǔn)庫(kù)字符串長(zhǎng)度int strlen(char *d)返回字符串d的長(zhǎng)度,不包括終止符NULL字符串連接函數(shù)char *st
    發(fā)表于 11-25 07:19

    AVR單片機(jī)C語(yǔ)言庫(kù)

    AVR單片機(jī)C語(yǔ)言庫(kù)內(nèi)容目錄: .1. Character Type Functions - 字符類型函數(shù)2. Standard C Input/Output Functions - 標(biāo)準(zhǔn)
    發(fā)表于 04-22 10:14 ?0次下載
    AVR單片機(jī)<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b><b class='flag-5'>庫(kù)</b>

    C語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù)

    C語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù),使用C語(yǔ)言編程時(shí),常用到的函數(shù)。
    發(fā)表于 05-11 16:41 ?0次下載

    C語(yǔ)言書寫的常用規(guī)范

    C語(yǔ)言書寫的常用規(guī)范
    發(fā)表于 10-26 10:43 ?26次下載
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>書寫的<b class='flag-5'>常用</b>規(guī)范

    嵌入式常用c標(biāo)準(zhǔn)庫(kù)

    C標(biāo)準(zhǔn)函數(shù)庫(kù)是所有符合標(biāo)準(zhǔn)的頭文件(head file)的集合,以及常用的函數(shù)庫(kù)實(shí)現(xiàn)程序,例如I
    發(fā)表于 02-06 17:28 ?5632次閱讀
    嵌入式<b class='flag-5'>常用</b>的<b class='flag-5'>c</b><b class='flag-5'>標(biāo)準(zhǔn)</b><b class='flag-5'>庫(kù)</b>

    標(biāo)準(zhǔn)C函數(shù)庫(kù)的用法

    C標(biāo)準(zhǔn)函數(shù)庫(kù)是所有符合標(biāo)準(zhǔn)的頭文件的集合,以及常用的函數(shù)庫(kù)實(shí)現(xiàn)程序,例如I/O 輸入輸出和字符串
    的頭像 發(fā)表于 03-02 11:27 ?5566次閱讀
    <b class='flag-5'>標(biāo)準(zhǔn)</b><b class='flag-5'>C</b>函數(shù)<b class='flag-5'>庫(kù)</b>的用法

    C語(yǔ)言常見的一些標(biāo)準(zhǔn)庫(kù)

    有很多工程師喜歡自己封裝一些標(biāo)準(zhǔn)庫(kù)已有的函數(shù),其實(shí)自己封裝的函數(shù),并不一定比標(biāo)準(zhǔn)庫(kù)好,有時(shí)候反而代碼更冗余,且有bug。下面就來分享一下C
    的頭像 發(fā)表于 11-18 16:22 ?3338次閱讀

    C語(yǔ)言的一些常用標(biāo)準(zhǔn)庫(kù)分享

     有很多工程師喜歡自己封裝一些標(biāo)準(zhǔn)庫(kù)已有的函數(shù),其實(shí)自己封裝的函數(shù),并不一定比標(biāo)準(zhǔn)庫(kù)好,有時(shí)候反而代碼更冗余,且有bug。下面就來分享一下C
    的頭像 發(fā)表于 11-22 11:54 ?3025次閱讀

    單片機(jī)常用C語(yǔ)言標(biāo)準(zhǔn)庫(kù)

    單片機(jī)常用C語(yǔ)言標(biāo)準(zhǔn)庫(kù)<string.h>字符串長(zhǎng)度int strlen(char *d)返回字符串d的長(zhǎng)度,不包括終止符NUL
    發(fā)表于 11-17 09:36 ?11次下載
    單片機(jī)<b class='flag-5'>常用</b><b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b><b class='flag-5'>標(biāo)準(zhǔn)</b><b class='flag-5'>庫(kù)</b>

    C語(yǔ)言標(biāo)準(zhǔn)庫(kù)實(shí)現(xiàn)搶占式多任務(wù)資料

    C語(yǔ)言標(biāo)準(zhǔn)庫(kù)實(shí)現(xiàn)搶占式多任務(wù),使用C語(yǔ)言標(biāo)準(zhǔn)
    發(fā)表于 12-31 18:00 ?4次下載

    C 語(yǔ)言使用標(biāo)準(zhǔn)庫(kù)開發(fā)

    位于100ASK_STM32F103開發(fā)板資料的“5_程序源碼\0_單片機(jī)開發(fā)模式的發(fā)展\2_C語(yǔ) 言使用標(biāo)準(zhǔn)庫(kù)開發(fā)\”。首先使用C語(yǔ)言需要
    發(fā)表于 01-13 15:08 ?1次下載
    <b class='flag-5'>C</b> <b class='flag-5'>語(yǔ)言</b>使用<b class='flag-5'>標(biāo)準(zhǔn)</b><b class='flag-5'>庫(kù)</b>開發(fā)

    C語(yǔ)言動(dòng)態(tài)庫(kù)與靜態(tài)庫(kù)

    C語(yǔ)言動(dòng)態(tài)庫(kù)與靜態(tài)庫(kù)
    的頭像 發(fā)表于 02-06 09:45 ?1665次閱讀
    主站蜘蛛池模板: 精品一区二区三区免费爱 | 99视频在线永久免费观看 | zsvdy午夜片| 全国男人天堂网 | 婷婷久久综合九色综合九七 | 国产亚洲小视频 | 久久9热 | 俄罗斯女人69xxx | 色老头在线官方网站 | 欧美视频xxxxx | 国产精品你懂的 | bt天堂中文在线 | 国产精品久久久久久久久福利 | 日韩一级特黄毛片在线看 | 手机在线看片福利盒子 | 日本暴力喉深到呕吐hd | 美女扒开尿口让男人捅 | 国产一级特黄一级毛片 | 国产农村妇女毛片精品久久 | 扒开双腿猛进入jk校视频 | 大又大又粗又爽又黄毛片女人 | 国产热 | 国产免费久久精品99久久 | 女生张开腿让男人桶 | 亚欧洲乱码专区视频 | 国产美女视频一区二区三区 | 理论片国产| 伊人婷婷色香五月综合缴激情 | 天天爱天天操天天射 | 国内一级野外a一级毛片 | 狠狠色依依成人婷婷九月 | 手机看片a永久免费看大片 手机毛片 | 夜夜精品视频一区二区 | 日韩欧美亚洲综合久久影院d3 | 天天爽夜夜 | 免费在线播放毛片 | 又黄又粗暴的120秒免费gif视频 | 国产精品漂亮美女在线观看 | h视频免费在线 | jiucao视频在线观看 | 在线播放12p|