第一篇:學(xué)習(xí)C語言的重要性[大全]
學(xué)習(xí)C語言的重要性
很多人對學(xué)習(xí)C語言感到無從下手,究竟怎樣學(xué)習(xí)C語言呢? C語言對于一個程序設(shè)計人員來說十分重要,如果不懂C語言,寫不出底層程序,不懂C語言,寫不出優(yōu)秀高效的程序。為什么C語言如此重要呢?
第一:C語言語法結(jié)構(gòu)簡潔精妙,寫出的程序高效,便于描述算法,大多數(shù)的程序員愿意使用C語言去描述算法本身,所以,如果你想在程序設(shè)計方面有所建樹,就必須去學(xué)它。
第二:C語言能夠讓你深入系統(tǒng)底層,你知道的操作系統(tǒng),所有的windows,Unix,Linux,Mac,os/2,沒有一個例外的。
第三:很多新型的語言都是衍生自C語言,C++,Java,C#,J#,perl...哪個不是呢?掌握了C語言,可以說你就掌握了很多門語言,經(jīng)過簡單的學(xué)習(xí),你就可以用這些新型的語言去開發(fā)了,這個再一次驗證了C語言是程序設(shè)計的重要基礎(chǔ)。還有啊,多說一點:即使現(xiàn)在招聘程序員,考試都是考C語言,你想加入it行業(yè),那么就一定要掌握好C語言。
那么究竟怎樣學(xué)習(xí)C語言呢?
1: 這里介紹幾個學(xué)習(xí)C語言必備的東西:
一個開發(fā)環(huán)境,例如turbo C 2.0、Visual C++。
一本學(xué)習(xí)教程,《C語言程序設(shè)計》。
2: 學(xué)習(xí)計算機語言最好的方法是什么?答曰:讀程序。
沒錯,讀程序是學(xué)習(xí)C語言入門最快,也是最好的方法。
對于沒有學(xué)過任何計算機語言的初學(xué)者,最好還是先閱讀教程,學(xué)習(xí)完每一章,都要認真體會這一章的所有概念,然后不放過這一章中提到的所有例程,然后仔細研讀程序,直到每一行都理解了,然后找?guī)讉€編程題目,最好是和例程類似的或一樣的,自己試圖寫出這段已經(jīng)讀懂的程序,不要以為例程你已經(jīng)讀懂了,你就可以寫出和它一樣的程序,絕對不一定,不相信你就試一試吧,如果寫不出來,也不要著急,回過頭來再繼續(xù)研究例程,想想自己為什么寫不出來,然后再去寫這段程序,反反復(fù)復(fù),直到你手到擒來為止。
第二篇:c語言學(xué)習(xí)
一門新的語言學(xué)習(xí)(和C沒啥關(guān)系!真的。);
2.看《Thinking In C++》,不要看《C++變成死相》;
3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因為他們很難而我們自己是初學(xué)者所以就不看;
4.不要被VC、BCB、BC、MC、TC等詞匯所迷惑——他們都是集成開發(fā)環(huán)境,而我們要學(xué)的是一門語言;
5.不要放過任何一個看上去很簡單的小編程問題——他們往往并不那么簡單,或者可以引伸出很多知識點;
6.會用Visual C++,并不說明你會C++;
7.學(xué)class并不難,template、STL、generic programming也不過如此——難的是長期堅持實踐和不遺余力的博覽群書;
8.如果不是天才的話,想學(xué)編程就不要想玩游戲——你以為你做到了,其實你的C++水平并沒有和你通關(guān)的能力一起變高——其實可以時刻記住:學(xué)C++是為了編游戲的;
9.看Visual C++的書,是學(xué)不了C++語言的;
10.浮躁的人容易說:XX語言不行了,應(yīng)該學(xué)YY;——是你自己不行了吧!?
11.浮躁的人容易問:我到底該學(xué)什么;——別問,學(xué)就對了;
12.浮躁的人容易問:XX有錢途嗎;——建議你去搶銀行;
13.浮躁的人容易說:我要中文版!我英文不行!——不行?學(xué)呀!
14.浮躁的人容易問:XX和YY哪個好;——告訴你吧,都好——只要你學(xué)就行;
15.浮躁的人分兩種:a)只觀望而不學(xué)的人;b)只學(xué)而不堅持的人;
16.把時髦的技術(shù)掛在嘴邊,還不如把過時的技術(shù)記在心里;
17.C++不僅僅是支持面向?qū)ο蟮某绦蛟O(shè)計語言;
18.學(xué)習(xí)編程最好的方法之一就是閱讀源代碼;
19.在任何時刻都不要認為自己手中的書已經(jīng)足夠了;
20.請閱讀《The Standard C++ Bible》(中文版:標(biāo)準(zhǔn)C++寶典),掌握C++標(biāo)準(zhǔn);
21.看得懂的書,請仔細看;看不懂的書,請硬著頭皮看;
22.別指望看第一遍書就能記住和掌握什么——請看第二遍、第三遍;
23.請看《Effective C++》和《More Effective C++》以及《Exceptional C++》;
24.不要停留在集成開發(fā)環(huán)境的搖籃上,要學(xué)會控制集成開發(fā)環(huán)境,還要學(xué)會用命令行方式處理程序;
25.和別人一起討論有意義的C++知識點,而不是爭吵XX行不行或者YY與ZZ哪個好;
26.請看《程序設(shè)計實踐》,并嚴(yán)格的按照其要求去做;
27.不要因為C和C++中有一些語法和關(guān)鍵字看上去相同,就認為它們的意義和作用完全一樣;
28.C++絕不是所謂的C的“擴充”——如果C++一開始就起名叫Z語言,你一定不會把C和Z語言聯(lián)系得那么緊密;
29.請不要認為學(xué)過XX語言再改學(xué)C++會有什么問題——你只不過又在學(xué)一門全新的語言而已;
30.讀完了《Inside The C++ Object Model》以后再來認定自己是不是已經(jīng)學(xué)會了C++;
31.學(xué)習(xí)編程的秘訣是:編程,編程,再編程;
32.請留意下列書籍:《C++面向?qū)ο蟾咝Ь幊蹋–++ Effective Object-Oriented Software Construction)》《面向?qū)ο筌浖?gòu)造(Object-Oriented Software Construction)》《設(shè)計模式(Design Patterns)》《The Art of Computer Programming》;
33.記住:面向?qū)ο蠹夹g(shù)不只是C++專有的;
34.請把書上的程序例子親手輸入到電腦上實踐,即使配套光盤中有源代碼;
35.把在書中看到的有意義的例子擴充;
36.請重視C++中的異常處理技術(shù),并將其切實的運用到自己的程序中;
37.經(jīng)常回顧自己以前寫過的程序,并嘗試重寫,把自己學(xué)到的新知識運用進去;
38.不要漏掉書中任何一個練習(xí)題——請全部做完并記錄下解題思路;
39.C++語言和C++的集成開發(fā)環(huán)境要同時學(xué)習(xí)和掌握;
40.既然決定了學(xué)C++,就請堅持學(xué)下去,因為學(xué)習(xí)程序設(shè)計語言的目的是掌握程序設(shè)計技術(shù),而程序設(shè)計技術(shù)是跨語言的;
41.就讓C++語言的各種平臺和開發(fā)環(huán)境去激烈的競爭吧,我們要以學(xué)習(xí)C++語言本身為主;
42.當(dāng)你寫C++程序?qū)懙揭话雲(yún)s發(fā)現(xiàn)自己用的方法很拙劣時,請不要馬上停手;請盡快將余下的部分粗略的完成以保證這個設(shè)計的完整性,然后分析自己的錯誤并重新設(shè)計和編寫(參見43);
43.別心急,設(shè)計C++的class確實不容易;自己程序中的class和自己的class設(shè)計水平是在不斷的編程實踐中完善和發(fā)展的;
44.決不要因為程序“很小”就不遵循某些你不熟練的規(guī)則——好習(xí)慣是培養(yǎng)出來的,而不是一次記住的;
45.每學(xué)到一個C++難點的時候,嘗試著對別人講解這個知識點并讓他理解——你能講清楚才說明你真的理解了;
46.記錄下在和別人交流時發(fā)現(xiàn)的自己忽視或不理解的知識點;
47.請不斷的對自己寫的程序提出更高的要求,哪怕你的程序版本號會變成Version 100.XX;
48.保存好你寫過的所有的程序——那是你最好的積累之一;
49.請不要做浮躁的人;
50.請熱愛C++!
建議你買本書,書比網(wǎng)上的電子版教程好的多,如計算機屆超級權(quán)威教授 譚浩強 老先生寫的《C語言程序設(shè)計(第三版)》,全國發(fā)行了700萬冊,可以說是學(xué)C語言的人必看的書,我們大學(xué)就用這本書,很適合自學(xué),通俗易懂
建議你學(xué)習(xí)其它計算機知識時也看他的書,他出的書很多,涵蓋面廣,每一本都很經(jīng)典
這里有他的教程word版下載
另外,機械工業(yè)出版社的 計算機叢書系列也相當(dāng)經(jīng)典,全是翻譯國外經(jīng)典教材,國外計算機發(fā)展早,水平比國內(nèi)高很多,看這些教材事半功倍,推薦(美)Al Kelley Ira Pohl的《C語言教程第4版》
學(xué)習(xí)程序語言要持之以恒,不浮躁,祝你成功
第三篇:單片機C語言學(xué)習(xí)
單片機C語言之一___________________________________________________________________ _____________________ 預(yù)處理 一》宏定義:
1、不帶參數(shù):
#define 標(biāo)識符 常量表達式
/*#define是宏定義命令,宏名(標(biāo)識符)好習(xí)慣用大寫*/ #define NIL 0x80
2、帶參數(shù):/*相當(dāng)于小函數(shù)*/ #define 宏名(參數(shù)表)字符串
/*不僅要時行字任串替換還要進行參數(shù)的替換,在宏定義時,宏名與帶參數(shù)的括弧之間不應(yīng)該加空格,否則將空格以后的字符串都作為替代字符串的一部分,這可是很容易出錯的*/ 如:#define SQ(a,b)a*b 使用:x=12;y=10;area=SQ(x,y);/*則area=12*10=120*/ 二》文件包含:
#include <文件名>或#include “文件名” /*在C中用雙引用形式更保險,在C51中常用物是尖括弧形式*/ 三》條件編譯:
/*一般源程序中的所有程序行都參加編譯,但有時希望對其中一部分內(nèi)容只在滿足一定條件下才進行編譯,也就是對一部分內(nèi)容指定編譯的條件。*/ #if、#elif、#else、#endif、#ifdef、#ifndef /*選擇不同的編譯范圍,產(chǎn)生不同的代碼,提供通用性。*/ /*如對8051在6MHZ與12MHZ下有*/ #ifdef cpu==8051 #define FREQ 6 /*程序段*/ #else #define FREQ 12/*程序段*/ #endif /*這樣下面的原程序不用做任何修改便可以使用于兩種時鐘頻率的單片機系統(tǒng)*/ 四》其他:
1、#error:捕捉不可預(yù)料的編譯條件
#if(myv!=0&&myv!=1)/*假定其值必為0或1*/ #error myv must be 1 or 0/*出錯時顯示*/ #endif
2、#pragma:用于在程序中向編譯器傳送各種編譯控制命令 #pragma 編譯命令序列
/*例:想按如下命令編譯ex.c c51 ex.c debug cod large可用:*/
#pragma DB CD LA #pragma disable /*禁止中斷*/
單片機C語言之二_____________________________________________________________________________________ 一》數(shù)據(jù)類型:
char int long 1:unsinged 0~255 0~65535 0~4294967295 2:signed-128~127-32768~32767-2147483648~2147483647 指針:* 3字節(jié) 位標(biāo)量: sbit 特殊功能寄存器:sfr 16位特殊功能寄存器:sfr16 占2個內(nèi)存單元,0~65535 可尋址位:sbit利用他可訪問51單片機的內(nèi)部RAM中的可尋址位或特殊功能寄存器中的可尋址位 sfr P0=0x80;sbit P0_1=P0^1;/*將P0口的口地址定義為80H,將P0.1位定義為P1_1*/ 二》數(shù)據(jù)存貯類型
表1.C51數(shù)據(jù)存貯類型
━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━ 數(shù)據(jù)存貯類型 ┃ 與存貯空間的對應(yīng)關(guān)系
━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━ data ┃ 直接尋址片內(nèi)數(shù)據(jù)存貯區(qū),訪速度快 bdata ┃ 可位尋址片內(nèi)數(shù)據(jù)存貯區(qū),允許位與字節(jié)混合訪問 idata ┃ 間接尋址片內(nèi)數(shù)據(jù)存貯區(qū),可訪問片內(nèi)全部RAM地址空間
pdata ┃ 分頁尋址片外數(shù)據(jù)存貯區(qū)(256字節(jié))由MOVX @R0訪問 xdata ┃ 片外數(shù)據(jù)存貯區(qū)(64K),由MOVX @DPTR訪問 code ┃ 代碼存貯區(qū)(64K),由MOVC @DPTR訪問
━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━ 變量的存貯類型定義: char data var /*字符變量var被定義為data存貯類型,C51編譯器將把該變量定位在51單片機片內(nèi)數(shù)據(jù)區(qū)存貯區(qū)中*/ bit bdata flag /*位變量flag被定義為bdata存貯類型,C51編譯器將把該變量定位在51單片機片內(nèi)數(shù)據(jù)區(qū)存貯區(qū)(RAM)中的位尋址區(qū):20H--2FH*/
三》typedef:重新定義數(shù)據(jù)類型
typedef 已有數(shù)據(jù)類型 新的數(shù)據(jù)類型 typedef int word;/*將word定義為整型*/ word i,j;/*將i,j定義為整型*/ 四》位運算符:
━━━━┳━━━━━┳━━━━━┳━━━━━━┳━━━━━━┳━━━━━━ ~ ┃ & ┃ | ┃ ^ ┃ << ┃ >> ━━━━╋━━━━━╋━━━━━╋━━━━━━╋━━━━━━╋━━━━━━
按位取反┃ 按位與 ┃ 按位或 ┃ 按位異或 ┃ 左移 ┃ 右移
━━━━┻━━━━━┻━━━━━┻━━━━━━┻━━━━━━┻━━━━━━
對移位:如<< ,a<<2,即為將二進制的a左移兩位,若a=0x8f,即10001111,a=a<<2,將導(dǎo)致a=0x3c(00111100),右邊補零。五》條件運算符:
邏輯表達式? 表達式1:表達式2 六》指針與地址運算符: *取內(nèi)容 &取地址
七》強制類型轉(zhuǎn)換:(類型)=表達式(char *)0xb000 八》sizeof 取數(shù)據(jù)類型、變量以及表達式的字節(jié)數(shù)的運算符; 九》continue:中斷語句:結(jié)束本次循環(huán)。
單片機C語言之三_____________________________________________________________________________________ 函數(shù):
一》中斷服務(wù)函數(shù)與寄存器組定義:
函數(shù)類型 函數(shù)名(形式參數(shù)表)[interrupt n][using n] n為中斷號,0~31:
━━━━┳━━━━━┳━━━━━ 中斷編號┃ 中斷向量┃ 入口地址 ━━━━╋━━━━━╋━━━━━ 0 ┃ 外中斷0 ┃ 0003H ━━━━╋━━━━━╋━━━━━ 1 ┃ 定時器0 ┃ 000BH ━━━━╋━━━━━╋━━━━━ 2 ┃ 外中斷1 ┃ 0013H
━━━━╋━━━━━╋━━━━━ 3 ┃ 定時器1 ┃ 001BH ━━━━╋━━━━━╋━━━━━ 4 ┃ 串行口 ┃ 0023H ━━━━┻━━━━━┻━━━━━
后面的n指的是四個工作寄存器組的一個:0~3 對函數(shù)目標(biāo)代碼影響如下:
在函數(shù)入口處將當(dāng)前工作寄存器組保護到堆棧中;指定的工作寄存器內(nèi)容不會改變,函數(shù)返回前將被保護的工作寄存器組從堆棧中恢復(fù)!例(定時1ms):
#include
1、如果中斷函數(shù)中用到浮點運算,必須保存浮點寄存器的狀態(tài)。(在math.h中保存浮點寄存器函數(shù)為pfsave, 恢復(fù)浮點寄存器的狀態(tài)函數(shù)為fprestore)
2、如果在中斷函數(shù)中調(diào)用了其他函數(shù),則被調(diào)函數(shù)所使用的工作寄存器組與中斷函數(shù)的一致!*/
單片機C語言之四_____________________________________________________________________________________
一、局部變量與全局變量(外部變量):
1、全局變量若不在開頭定義則加extern
2、全局變量會使代碼長,占用內(nèi)存多
二、存儲方式:
自動變量(auto):缺省,函數(shù)調(diào)用存在,退出消失。
內(nèi)部變量 靜態(tài)變量(static):static int a=5;始終存在,退出不消失,但不能訪問。寄存器變量(register):速度最快。通常只給編譯器一個建議,由編譯器根 據(jù)實際情況確定。(見下)變量 全局變量(global): 外部變量
靜態(tài)變量(static): 寄存器變量例: #include
三、函數(shù)的參數(shù)和局部變量的存儲器模式: 三種存儲器模式:small,compact,large.一個函數(shù)的存儲器模式確定了函數(shù)的參數(shù)和局部變量在內(nèi)存中的地址空間 small:內(nèi)部ram compact, large:外部RAM 函數(shù)類型 函數(shù)名(形式參數(shù)表)[存儲器模式] 例:
#pragma large /*默認存儲器模式為large*/ extern int calc(char I,int b)small;/*指定small模式*/ extern int func(int I,float f)large;/*指定large模式*/ int large_te(int I,int k)/*未指定,按默認的large模式處理*/ { return(mtest(I,k)+2);}
利用存儲器混合模式編程,充分利用有限的存儲空間,還可加快程序的執(zhí)行速度!
單片機C語言之五_____________________________________________________________________________________ 數(shù)組 1>初始化數(shù)組: unsigned char a[5]={0x11,0x22,0x33,0x44,0x55} 或
unsigned char a[ ] ={0x11,0x22,0x33,0x44,0x55,0x66} 3>數(shù)組作為函數(shù)的參數(shù):不但可以由變量作為函數(shù)的參數(shù)外,還可以用數(shù)組名作為函數(shù)的參數(shù)。一個數(shù)組數(shù)組名表示該數(shù)組的首地址。用一個數(shù)組名作為函數(shù)的參數(shù)時,在執(zhí)行函數(shù)調(diào)用的過程中參數(shù)傳遞方式采用的是地址傳遞。將實際參數(shù)數(shù)組首地址傳遞給被調(diào)函數(shù)中的形式參數(shù)數(shù)組,這樣一來兩個數(shù)組就占有同一段內(nèi)存單元。見下圖:
a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 起始地址1000 b[0] b[1] b[2] b[3] b[4] b[5] b[6] b[7] b[8] b[9] 用數(shù)組名作為函數(shù)的參數(shù),應(yīng)該在主調(diào)函數(shù)和被調(diào)函數(shù)中分別進行數(shù)組定義而不能只在一方定義數(shù)組。而且在兩個函數(shù)中定義的數(shù)組類型必須一致,如果類型不一致將導(dǎo)致編譯出錯。實參數(shù)組和型參數(shù)組的長度可以一致可以不一致,編譯器對形參數(shù)組的長度不做檢查,直只是將實參數(shù)組的首地址傳遞給行參數(shù)組。如果希望行參數(shù)組能得到實參數(shù)組的全部元素,則應(yīng)使兩個數(shù)組的長度一致。定義型參數(shù)組時可以不指定長度,只在數(shù)組名后面跟一個方括號[]。這時為了在被調(diào)函數(shù)中處理數(shù)組元素的需要,應(yīng)另外設(shè)置一個參數(shù)來傳遞數(shù)組元素的個數(shù)。
例:用數(shù)組作為函數(shù)的參數(shù),計算兩個不同長度的數(shù)組中所有元素的平均值 #include float pot_1[2]={99.9,88.8};float pot_2[3]={11,22,33.3};average(pot_1,2);average(pot_1,3);} 單片機C語言之六_____________________________________________________________________________________ 軟件法去干擾: 工程上我們在采集數(shù)據(jù)時一般要求精度達到5%%,大于這個值將認為無效。我在實際應(yīng)用中采用8535對32路數(shù)據(jù)進行采集(8535帶10位AD,帶看門狗),發(fā)現(xiàn)數(shù)據(jù)跳動有時達7%%,這是由于各種干擾造成的。主要來自于隨機干擾,下面就各種干擾的方法給出簡單的去除方法: 1、白噪聲:最重要的統(tǒng)計特性為平均值為0,可采取每路數(shù)據(jù)采集幾次求平均的方法; 2、隨機干擾:該點明顯高于或低于附近正常采樣值,故采取中值濾波法,即對被測信號連續(xù)采樣M次,進行大小排序,取大小居中的1/3個采樣值進行算術(shù)平均; 3、電源干擾:特點是有固定周期,故可采用定時采樣求平均的方法。 由于各種排序與求平均算法用C易于實現(xiàn),故C常常用于采集系統(tǒng)中軟件去干擾。至于排序算法可參考上一篇文章,有一個經(jīng)典的程序。 在實際中我們采用每路猜9個值,排序,取中間3個,求平均。然后。,每路數(shù)據(jù)幾乎不動! 單片機C語言之七_____________________________________________________________________________________ 指針:可對內(nèi)存地址直接操作 基于存貯器的指以貯器類為參量,它在編譯時才被確定。因此為指針選擇存貯器的方法可以省掉,以這些指針的長度可為1個字節(jié)(idata *,data *,pdata *)或2個這節(jié)(code *,xdata *)。char xdata *address;ADC0809具有8個模擬量輸入通道,采用中斷方式,在中斷函數(shù)中讀取8個通道的A/D轉(zhuǎn)換值,分別存儲在外部RAM的1000H~1007H單元。ADC0809端口地址為00F0H。 程序定義了兩個指針變量* ADC和* ADCdata,分別指向ADC0809端口地址(00F0H)和外部RAM單元地址(1000H~1007H) 由*ADC=I送入通道數(shù),啟動ADC0809進行A/D轉(zhuǎn)換,轉(zhuǎn)換結(jié)束時產(chǎn)生INT1中斷。在中斷服務(wù)函數(shù)int1()中通過temp=*ADC和*ADCdata=temp;讀取A/D轉(zhuǎn)換結(jié)果并存到外部RAM中。#include void main(){ ADC=0x00f0;/*定義端口地址和數(shù)據(jù)緩沖器地址*/ ADCdata=0x1000;I=8;/* ADC0809有8個模擬輸入通道*/ EA=1;EX1=1;IT1=1;/*開中斷*/ *ADC=I;/*啟動ADC0809*/ WHILE(I);/*等待8個通道A/D轉(zhuǎn)換完*/ } void int1()interrupt 2 { unsigned char tmp;temp=*ADC;/*讀取A/D轉(zhuǎn)換結(jié)果*/ *ADCdata=temp;/*結(jié)果值存到數(shù)據(jù)緩沖區(qū)*/ ADCdata++;/*數(shù)據(jù)緩沖區(qū)地址加1*/ i—;*ADC=I;/*啟動下一個模擬輸入通道A/D轉(zhuǎn)換*/ } 除了用指針變量來實現(xiàn)對內(nèi)存地址的直接操作外,c51編譯器還提供一組宏,該宏定義文件為:“absacc.h”,利用它可十分方便地實現(xiàn)對任何內(nèi)存空間的直接操作,改寫上面的程序: #include char *s=”abcdef”;int strlen(char *s);printf(“n length of ‘%%s’=%%dn”,s,strlen(s));} int strlen(char *s){ char *p=s;while(*p!=’
主站蜘蛛池模板:
国产精品乱码久久久久久软件|
亚洲自偷自偷在线制服|
亚洲精品美女久久久久9999|
久九九久视频精品免费|
国产成人无码av在线播放dvd|
色综合视频一区二区三区|
2018天天躁夜夜躁狠狠躁|
免费观看成人毛片a片|
少妇高潮太爽了在线观看|
国产精品对白刺激久久久|
欧美性xxxx极品少妇|
国产精品亚洲а∨无码播放|
亚洲孰妇无码av在线播放|
亚洲国产精品无码久久久秋霞1|
欧美又黄又大又爽a片三年片|
999精品视频在这里|
a一区二区三区乱码在线 | 欧洲|
国产熟女亚洲精品麻豆|
国产熟妇搡bbbb搡bb七区|
国产av无码专区亚洲av蜜芽|
国产成人无码av一区二区|
极品少妇被猛得白浆直流草莓视频|
中文字幕在线日亚洲9|
少妇爆乳无码av无码专区|
99精品视频在线在线观看视频|
国产女人高潮抽搐喷水视频|
yy111111少妇无码影院|
日本边添边摸边做边爱的网站|
亚洲国产精品毛片av不卡在线|
国产啪精品视频网站免费尤物|
国产三级在线观看完整版|
精品一区二区三区无码免费直播|
亚洲综合激情七月婷婷|
色欲狠狠躁天天躁无码中文字幕|
成年女人色毛片|
亚洲精品在看在线观看|
国产亚洲精品自在久久蜜tv|
久久www免费人成_网站|
无码一区二区三区中文字幕|
国产最爽的av片在线观看|
麻豆一区二区三区蜜桃免费|