一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Excel 墻上那一串串紅辣椒——數(shù)組入門(mén)講座

 9 1 1 2011-03-19

墻上那一串串紅辣椒——數(shù)組入門(mén)講座

轉(zhuǎn)自 山菊花老師的作品 :http://club./viewthread.php?tid=196095&px=0
寫(xiě)個(gè)學(xué)習(xí)數(shù)組的帖子,送給初學(xué)的朋友。

1、什么是數(shù)組

數(shù)組就是把數(shù)據(jù)組合起來(lái)以方便管理,在程序中運(yùn)用數(shù)組可簡(jiǎn)化程序、提高效率。

學(xué)習(xí)數(shù)組并不難。我奶奶就是玩數(shù)組的高手,她到地里,用根紅繩子將采下的辣椒一只一只串起來(lái)帶回家掛在門(mén)前那墻上,她把這串辣椒稱(chēng)為“紅繩子”,墻上還有“大串”、“初一”、“五兒”……,現(xiàn)在我才明白,那是數(shù)組名。中午,奶奶要我把紅繩子第5顆辣椒摘下來(lái),我不知道奶奶為什么要摘第5顆,反正我照辦就是,奶奶說(shuō),她要我摘“紅繩子(5)”是想考考我數(shù)數(shù)的能力,暈,一二三四五,上山打老虎,我還能數(shù)錯(cuò)嗎?那年我已經(jīng)四歲了。奶奶說(shuō)話(huà)總喜歡用數(shù)組,好比“尚云嫂她家那七個(gè)孩子啊就是有出息!”,你知道奶奶用哪個(gè)數(shù)組說(shuō)話(huà)?如果還不知道,等會(huì)再告訴你。

山版主的文章讀起來(lái)瑯瑯上口,用幾個(gè)簡(jiǎn)單的生活中的例子就可以把一個(gè)問(wèn)題講得很透徹。本文確實(shí)是新手學(xué)習(xí)的好材料,歡迎大家補(bǔ)充?!猲orthwolves
 

2、用Array創(chuàng)建數(shù)組

今天,我們?cè)?/span>Excel上來(lái)玩?zhèn)€串辣椒的游戲。新建一Excel文件,按Alt+F11打開(kāi)VBE窗口,如圖所示打開(kāi)本地窗口備用。
 
 
 

插入一新的模塊,在代碼窗口中寫(xiě)入代碼:

Sub test()

紅繩子 = Array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10")

End Sub

F8,逐行運(yùn)行代碼,如圖所示,我們可以看到,程序成功創(chuàng)建了一個(gè)數(shù)組,數(shù)組名稱(chēng)是“紅繩子”,"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"是數(shù)組元素。
 



Array()創(chuàng)建數(shù)組,各元素之間用逗號(hào)隔開(kāi)。元素如果是文本,要用半角引號(hào)作定界符。

 

練習(xí),創(chuàng)建兩個(gè)數(shù)組:

⑴數(shù)組名為cName,數(shù)據(jù)為10個(gè)同學(xué)的姓名:林思明、曾玉婷、曾國(guó)文、林偉權(quán)、林興發(fā)、劉卓懷、曾仙婷、林平

⑵數(shù)組名為cj,數(shù)據(jù)為10個(gè)數(shù)值:99, 85, 92.5, 70, 78.5, 65, 84, 100

參考答案:數(shù)組入門(mén)01.xls

3、像和尚數(shù)念珠一樣把數(shù)組玩轉(zhuǎn)

我們已經(jīng)初步認(rèn)識(shí)了數(shù)組,數(shù)組是把一組數(shù)保存到一個(gè)數(shù)組變量中,它有兩個(gè)重要特征。

⑴它是一個(gè)變量,對(duì)一組數(shù)進(jìn)行統(tǒng)一管理帶來(lái)方便。上面建立的姓名數(shù)組,我們要把它寫(xiě)入到工作表區(qū)域A1向右連續(xù)8個(gè)單元格中,可用命令:

Range(“a1:h1”)=cname

我們認(rèn)識(shí)的這類(lèi)數(shù)組,稱(chēng)為一維數(shù)組,一維數(shù)組是一個(gè)水平數(shù)組,相當(dāng)于工作表中的行。如果要把姓名按垂直方向填充到單元格,可轉(zhuǎn)置命令。如,把這個(gè)數(shù)組寫(xiě)入到A1:A8單元格中:

Range(“a1:a8”)= WorksheetFunction.Transpose(cname)

練習(xí):把數(shù)組cname分別寫(xiě)入到單元格C4:J4、D8:D15

答案:數(shù)組入門(mén)02.xls

 

⑵第二上重要的特征,是數(shù)組元素的有序性,一組數(shù)據(jù)有序地保存到數(shù)組變量中。數(shù)組中,用數(shù)組名加序號(hào)(稱(chēng)索引值)構(gòu)成唯一的名稱(chēng)對(duì)元素進(jìn)行引用。元素與序號(hào)一一對(duì)應(yīng),根據(jù)序號(hào),可以修改和讀取指定位置上的元素。

 

把一串姓名保存到數(shù)組cName中,數(shù)據(jù)在數(shù)組中按順序保存,默認(rèn)從0開(kāi)始,依次是12、3……,用cName(0)表示第一個(gè)姓名、cName(1)表示第二個(gè)姓名,等等。

 

在工作表中插入一個(gè)按鈕,點(diǎn)擊按鈕,把姓名填入單元格A1:A8中:

Private Sub CommandButton1_Click()

    cname = Array("林思明", "曾玉婷", "曾國(guó)文", "林偉權(quán)", "林興發(fā)", "劉卓懷", "曾仙婷", "林平")

    For i = 1 To 8

        Range("a" & i) = cname(i - 1)

    Next

End Sub

 

數(shù)組序號(hào)(索引值)默認(rèn)從0開(kāi)始,也可以通過(guò)命令OPTION BASE 1修改為從1開(kāi)始。該命令寫(xiě)在模塊的前面。如果設(shè)定索引值從1開(kāi)始,則上面的代碼修改為:

Private Sub CommandButton1_Click()

    cname = Array("林思明", "曾玉婷", "曾國(guó)文", "林偉權(quán)", "林興發(fā)", "劉卓懷", "曾仙婷", "林平")

    For i = 1 To 8

        Range("a" & i) = cname(i ) ‘工作表行號(hào)與數(shù)組序號(hào)相吻合

    Next

End Sub

 

參考:數(shù)組入門(mén)03.xls

 

4、想起瑞士軍刀

Array()很好用,但有時(shí)Split()更好用,我們?nèi)〕鲞@瑞士軍刀的第二利器。

Split()把一個(gè)文本,根據(jù)指定的分隔符,建立一個(gè)數(shù)組。

看一個(gè)實(shí)例:

單元格A1中有一串姓名:

朱清燕(),林鑫,林秋靜(),林永鑫,林云艷(),林嘉惠(),曾文婷(),林悅,陳誠(chéng),林偉健,賴(lài)紫嵐(),曾雁(),賴(lài)文強(qiáng),鐘娟(),張琪(),林文彬,黃曉婷(),李朕,林依婷(),林佳利(),曾德福

要求:用Split(),把這串文本創(chuàng)建為一個(gè)數(shù)組:

Sub test()

XM = Split(Range("a1"), ",")

End Sub

同樣可以用本地窗口檢查轉(zhuǎn)換結(jié)果。

注意,Split()函數(shù)把文本轉(zhuǎn)換成數(shù)組,并不受Option Base的影響,索引號(hào)總是從0開(kāi)始。

很自然想知道,A1單元格中有多少個(gè)姓名?創(chuàng)建的數(shù)組有多少個(gè)元素?瑞士軍刀中有把小尺子,可以量一量:

Ubound()——返回?cái)?shù)組的最大下標(biāo)。

Sub test()

    xm = Split(Range("a1"), ",")

    MsgBox "數(shù)組最大下標(biāo)是 " & UBound(xm) & Chr(13) _

    & "數(shù)組共有 " & UBound(xm) + 1 & " 個(gè)元素"

End Sub

參考:數(shù)組入門(mén)04.xls

 

5、三維表示一個(gè)空間,四維、五維、六維呢?

三維已經(jīng)可以代表寬廣無(wú)垠的宇宙,而數(shù)組卻允許聲明為4維、5維、6維,直至60維。這是一個(gè)什么樣的概念?我曾經(jīng)打過(guò)一個(gè)這樣的比方:

http://club./dispbbs.asp?BoardID=3&ID=185500&replyID=504536&skin=0

 

6、由工作表區(qū)域創(chuàng)建數(shù)組。

Array()Split()相比,由工作表區(qū)域創(chuàng)建數(shù)組更加直觀(guān)而簡(jiǎn)易,一個(gè)等號(hào)便解決問(wèn)題:

如:用Sheet2工作表A1:E83的數(shù)據(jù)創(chuàng)建一個(gè)數(shù)組:

Private Sub CommandButton1_Click()

    arr = Sheet2.Range("a1:e83")

End Sub

如果把該數(shù)據(jù)復(fù)制到Sheet1工作表相同區(qū)域,用數(shù)組操作,代碼如下:

Private Sub CommandButton1_Click()

    arr = Sheet2.Range("a1:e83")

    Range("a1:e83") = arr

End Sub

共兩句,前一句把數(shù)據(jù)保存到數(shù)組,第二句,把數(shù)組內(nèi)容寫(xiě)入到工作表。

選擇第3行代碼,按F9設(shè)置斷點(diǎn)。點(diǎn)擊按鈕運(yùn)行代碼,到該行,程序自動(dòng)中斷,此時(shí),可從本地窗口中觀(guān)察到運(yùn)行結(jié)果,一個(gè)832列的數(shù)組已經(jīng)創(chuàng)建。
 
 
 

也可以按F8逐行運(yùn)行代碼,查看數(shù)組創(chuàng)建的結(jié)果。

參考:數(shù)組入門(mén)05.xls

 

7、隨心所欲創(chuàng)建數(shù)組

以上幾種辦法都是根據(jù)已有的數(shù)據(jù)創(chuàng)建數(shù)組。實(shí)際使用中,更多時(shí)候,程序需要先創(chuàng)建數(shù)組,然后對(duì)數(shù)組進(jìn)行賦值和修改。

Private、PublicDim、Static,這些語(yǔ)句都可聲明數(shù)組變量,區(qū)別在于聲明的數(shù)組的使用范圍,可查看各語(yǔ)句的幫助。

新建一個(gè)過(guò)程:

Sub 聲明數(shù)組()

    Dim MyArray(10) '在過(guò)程中間聲明一個(gè)數(shù)組,過(guò)程結(jié)束,本數(shù)組將被釋放。

    MyArray(1) = 100 '給數(shù)組賦值

    MyArray(5) = 90

End Sub

F8逐行運(yùn)行程序,在本地窗口中可以看到數(shù)組MyArray()已成功創(chuàng)建。


 


Dim
是聲明變量的語(yǔ)句;

MyArray是數(shù)組名稱(chēng);

10是數(shù)組最大下標(biāo)。當(dāng)Option Base 0的模式下,數(shù)組的序號(hào)(索引值)010,表示數(shù)組有11個(gè)元素,當(dāng)Option Base 1的模式下,數(shù)組的索引值從110,該語(yǔ)句創(chuàng)建的數(shù)組共有10個(gè)元素。

 

上面聲明的數(shù)組是一維數(shù)組,數(shù)組最大可以定義60維。多維數(shù)組的表示方法,維與維之間用逗號(hào)相隔。

Sub 聲明數(shù)組b()

Dim Data(10,5) ’聲明一個(gè)二維數(shù)組

    Data (1,1) = “A001” '給數(shù)組賦值

Data (1,2) = 90

    Data (3,1) = “A003”

Data (3,2) = 80

End Sub

這里,Data是一個(gè)二維數(shù)組。二維數(shù)組的兩維,我們通常用“行、列”稱(chēng)呼它,如Data,最大行號(hào)是10,最大列號(hào)是5,在Option Base 1 模式下,表示是一個(gè)105列共50個(gè)元素的數(shù)組空間。在Option Base 0 模式下,表示一個(gè)116列共66個(gè)元素的數(shù)組空間。

二維數(shù)組是使用頻率最高的數(shù)組形式,因?yàn)槲覀兊墓ぷ鞅硪彩嵌S的。

用工作表來(lái)領(lǐng)會(huì)二維數(shù)組,將會(huì)更加直觀(guān):

Data(1,1)相當(dāng)于Cells(1,1),表示第1行,第1列;

Data(5,3)相當(dāng)于Cells(5,3),表示第5行,第3列。

下面的語(yǔ)句,聲明的是一個(gè)三維數(shù)組:

Sub 聲明數(shù)組b()

Dim x(3,30,3)

    X (1,1,1) = “1” '給數(shù)組賦值

X (1,1,2) = “張三

    X (1,1,3) = 88

X (1,2,1) = “1” '給數(shù)組賦值

X (1,2,2) = “李四

    X (1,2,3) = 95

X (2,1,1) = “2” '給數(shù)組賦值

X (2,1,2) = “劉日

    X (2,1,3) = 92

 

End Sub




我們可以用工作簿的概念來(lái)遷移領(lǐng)會(huì)三維數(shù)組:

X(1,2,3):第1個(gè)工作表第2行第3列;

X(2,14,10):第2個(gè)工作表第14行第10列。

假如我們要測(cè)量數(shù)組各維的最大下標(biāo),可以在UBound()函數(shù)使用第二個(gè)參數(shù):

UBound(x,1),返回?cái)?shù)組x1維的最大下標(biāo);

UBound(x,2),返回?cái)?shù)組x2維的最大下標(biāo);

UBound(x,3),返回?cái)?shù)組x3維的最大下標(biāo)。

 

參考:數(shù)組入門(mén)06.xls

 

8、進(jìn)階操作聲明數(shù)組

⑴聲明數(shù)組還可以根據(jù)需要自己指定下標(biāo)和上標(biāo),而且不受Option Base 的影響:

 

Sub 聲明數(shù)組()

    Dim cArr(11 To 20) ‘聲明一個(gè)數(shù)組cArr,下標(biāo)從1120,共有10個(gè)元素。

    cArr(11) = ""

    cArr(12) = ""

    cArr(13) = ""

End Sub

 

數(shù)組的索引值還允許為負(fù)整數(shù):

Sub 聲明數(shù)組()

    Dim nArr(-10 To 10) ‘聲明一個(gè)數(shù)組 nArr,下標(biāo)從-1010,共21個(gè)元素。

    nArr(-10) = 123

    nArr(-9) = 456

    nArr(-2) = 789

End Sub

可變的下標(biāo)給你的程序帶來(lái)靈活性,推薦另一個(gè)函數(shù):UBound()函數(shù)的姐妹花LBound()。

LBound()可以返回指定數(shù)組維可用的最小下標(biāo)。如:

xb = LBound(nArr)

MsgBox xb

 

⑵聲明數(shù)組時(shí),還允許像聲明單值變量一樣為數(shù)組指定為數(shù)據(jù)類(lèi)型。

Sub 聲明數(shù)組()

    Dim cArr(11 To 20) As String

    cArr(11) = ""

    cArr(12) = ""

    cArr(13) = ""

End Sub

As String 表示數(shù)組cArr()是一個(gè)字符型變量,在本地窗口中可以看到,沒(méi)有賦值的元素默認(rèn)為空文本。

Sub 聲明數(shù)組()

    Dim nArr(-10 To 10) As Integer

    nArr(-10) = 123

    nArr(-9) = 456

    nArr(-2) = 789

End Sub

As Integer表示數(shù)組nArr()是一個(gè)整型變量,在本地窗口中可以看到,沒(méi)有賦值的元素默認(rèn)為0。

沒(méi)有指定類(lèi)型的變量,默認(rèn)為Variant,沒(méi)有賦值的元素默認(rèn)為“空值”。

 



參考:數(shù)組入門(mén)
07.xls

⑶變量的級(jí)別問(wèn)題

以上都是在過(guò)程內(nèi)部聲明變量,當(dāng)過(guò)程結(jié)果時(shí),變量自動(dòng)被釋放。

在模塊級(jí)別中聲明變量,對(duì)該模塊中的所有過(guò)程都是可用的。

參考:數(shù)組入門(mén)08.xls

 

如果要聲明級(jí)別更高的變量,可使用Public語(yǔ)句。詳見(jiàn)幫助。

 

 

9、動(dòng)態(tài)數(shù)組

以上聲明的數(shù)組都屬于“靜態(tài)數(shù)組”,每個(gè)數(shù)組有確定的維數(shù),每維有確定的最大下標(biāo)。與之相對(duì)應(yīng)的是動(dòng)態(tài)數(shù)組。程序中,數(shù)組的大小有時(shí)不是固定的,而是隨數(shù)據(jù)的變化而變化。

聲明數(shù)組的時(shí)候,不指定數(shù)組的維數(shù)與下標(biāo),這樣的數(shù)組就是動(dòng)態(tài)數(shù)組,在程序中可用命令Redim為動(dòng)態(tài)數(shù)組變量重新分配存儲(chǔ)空間。

 

例:?jiǎn)卧?/span>A1中有一串姓名:

朱清燕(),林鑫,林秋靜(),林永鑫,林云艷(),林嘉惠(),曾文婷(),林悅,陳誠(chéng),林偉健,賴(lài)紫嵐(),曾雁(),賴(lài)文強(qiáng),鐘娟(),張琪(),林文彬,黃曉婷(),李朕,林依婷(),林佳利(),曾德福

要求:把名單整理成兩列,第一列是姓名,第二列是性別,把它輸出到B:C兩列。

 

與例4相同,用Split(),把這串文本創(chuàng)建為一個(gè)數(shù)組,然后根據(jù)這個(gè)數(shù)組的大小,創(chuàng)建另一個(gè)數(shù)組:

ReDim Arr(1 To s, 1 To 2)

其中s是數(shù)組xm()的最大下標(biāo),xm()有多少行,Arr()就有多少行,列數(shù)為2,一列是姓名,另一列是性別。

參考:數(shù)組入門(mén)09.xls

允許使用ReDim語(yǔ)句反復(fù)地改變數(shù)組的元素以及維數(shù)的數(shù)目,請(qǐng)自己練習(xí)。

 

10、對(duì)同一數(shù)組的反復(fù)定義

對(duì)同一數(shù)組反復(fù)改變大小的時(shí)候,也有規(guī)則必須遵守。如果數(shù)組中存在數(shù)據(jù),再次定義的時(shí)候默認(rèn)把原數(shù)據(jù)清除,重新定義后的數(shù)組是一個(gè)空的數(shù)組。如果你要保留原來(lái)的數(shù)據(jù),必須加上參數(shù)Preserve。使用Preserve參數(shù)又有一個(gè)限制,只能改變最后一維的大小,比如二維數(shù)組,只能改變第2()的大小而不能改第1()的大小。

 

還是使用上個(gè)示例,要求把A1單元格中的女同學(xué)的姓名整理成兩列,第一列序號(hào),第二列是姓名。

使用數(shù)組Arr()記錄整理結(jié)果,我們?cè)诒闅v原始數(shù)組xm()的時(shí)候,根據(jù)性別的判斷即時(shí)改變Arr()的大小。但不能把數(shù)組Arr()定義為n2列,第1列保存序號(hào),第2列保存姓名,因?yàn)槲覀儽仨毷褂?/span>Preserve參數(shù)保留原來(lái)的數(shù)據(jù),此時(shí)數(shù)組Arr(n,2)的第一維是不允許改變的。為了解決為個(gè)矛盾,我們可以把數(shù)組定義為2n列,第一行記錄序號(hào),第二行記錄姓名,列數(shù)在程序過(guò)程中反復(fù)改變。

n = n + 1

ReDim Preserve Arr(1 To 2, 1 To n) '改變動(dòng)態(tài)數(shù)組的大小,共2行,n

數(shù)組第1行記錄序號(hào),第2行記錄姓名:

Arr(1, n) = n

Arr(2, n) = Left(Xm(i), Len(Xm(i)) - 3) 

對(duì)數(shù)組xm()遍歷結(jié)束后,把結(jié)果寫(xiě)入工作表,因?yàn)閿?shù)組的方向與結(jié)果要求的方向不一致,所以要加一個(gè)轉(zhuǎn)置函數(shù):

Range("b6").Resize(n, 2) = WorksheetFunction.Transpose(Arr)

參考:數(shù)組入門(mén)10.xls

 

11、搜索數(shù)組

園子里是不是有紅蘋(píng)果?

你手中的牌是不是有紅桃K?

我們用眼睛一瞄就知道。數(shù)組元素中是不是有“張三”,是不是有“李四”,我們?nèi)绾沃??不用?dān)心,Filter()函數(shù)剛好可以幫你忙。

Filter()函數(shù)在一維數(shù)組中搜索文本型數(shù)據(jù),并把結(jié)果保存到指定的數(shù)組中。

A1單元格是以逗號(hào)分隔的姓名串,部分有重復(fù),要求剔除其中重復(fù)的姓名,把不重復(fù)的姓名寫(xiě)入單元格A2向右的區(qū)域。

第一步,把所有姓名保存到數(shù)組xm()中;

第二步,建立一個(gè)數(shù)組Arr()保存結(jié)果,遍歷xm()過(guò)程中,檢查Arr()中是否存在當(dāng)前的姓名,用命令:

Temp = Filter(Arr, xm(i)) '在數(shù)組Arr()中搜索當(dāng)前值xm(i),如果找到,結(jié)果保存到Temp()數(shù)組中,如果找不到,返回一個(gè)空的數(shù)組Temp()

根據(jù)Temp()數(shù)組的大小,可以知道當(dāng)前值xm(i)是不是一個(gè)重復(fù)的值。

參考:數(shù)組入門(mén)11.xls

 

12、連接數(shù)組元素

有一個(gè)函數(shù),是Split()的反向操作函數(shù),把數(shù)組的元素連接成一個(gè)字符串,這個(gè)函數(shù)就是Join()。

在上例中,把要求改為,剔除重復(fù)值后,把結(jié)果依原樣輸出到A2單元格中。

我們只需改變最后一行代碼:

把這一行:

'Range("a2").Resize(1, r) = Arr '填充到工作表

換成這一行,用上Join()函數(shù),把Arr()數(shù)組中的元素用“,”連接成一個(gè)字符串:

Range("a2") = Join(Arr, ",")

 

13、清除數(shù)組

當(dāng)數(shù)組不需要使用時(shí),可用Erase語(yǔ)句清除數(shù)組元素,釋放變量占用的空間。

語(yǔ)句:

Erase xm,Arr

每條Erase語(yǔ)句,可清除一個(gè)數(shù)組,也可同時(shí)清除多個(gè)數(shù)組,數(shù)組名之間用逗號(hào)分隔。

 

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀(guān)點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多

    久久综合日韩精品免费观看| 91亚洲人人在字幕国产| 六月丁香六月综合缴情| 我想看亚洲一级黄色录像| 韩日黄片在线免费观看| 福利专区 久久精品午夜| 欧美人妻一区二区三区| 永久福利盒子日韩日韩| 亚洲精品中文字幕熟女| 人妻内射在线二区一区| 成人欧美一区二区三区视频| 国产精品视频久久一区| 亚洲中文字幕视频在线播放 | 成人你懂的在线免费视频| 熟女少妇久久一区二区三区| 午夜成年人黄片免费观看| 久久精品国产第一区二区三区| 国产农村妇女成人精品| 欧美在线观看视频三区| 久久精品欧美一区二区三不卡| 噜噜中文字幕一区二区| 日韩性生活片免费观看| 久久精品国产亚洲熟女| 欧美日韩免费黄片观看| 黄色国产一区二区三区| 国产不卡在线免费观看视频| 久一视频这里只有精品| 亚洲国产香蕉视频在线观看| 亚洲成人免费天堂诱惑| 久久婷婷综合色拍亚洲| 国产成人精品午夜福利av免费| 二区久久久国产av色| 日韩一区中文免费视频| 国产欧美韩日一区二区三区| 日韩欧美高清国内精品| 男人和女人黄 色大片| 精品少妇人妻av一区二区蜜桃| 激情亚洲一区国产精品久久| 美女黄片大全在线观看| 五月婷婷六月丁香狠狠| 麻豆看片麻豆免费视频|