亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C++面試問題

2019-11-06 06:06:02
字體:
供稿:網(wǎng)友

C++ 面試問題 2010-10-22 18:25:16 分類: 1、用預(yù)處理指令#define 聲明一個常數(shù),用以表明1年中有多少秒(忽略閏年問題) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在這想看到幾件事情: 1). #define 語法的基本知識(例如:不能以分號結(jié)束,括號的使用,等等) 2). 懂得預(yù)處理器將為你計(jì)算常數(shù)表達(dá)式的值,因此,直接寫出你是如何計(jì)算一年中有多少秒而不是計(jì)算出實(shí)際的值,是更清晰而沒有代價的。 3). 意識到這個表達(dá)式將使一個16位機(jī)的整型數(shù)溢出-因此要用到長整型符號L,告訴編譯器這個常數(shù)是的長整型數(shù)。 4). 如果你在你的表達(dá)式中用到UL(表示無符號長整型),那么你有了一個好的起點(diǎn)。記住,第一印象很重要。

2、寫一個“標(biāo)準(zhǔn)”宏MIN,這個宏輸入兩個參數(shù)并返回較小的一個。 #define MIN(A,B) ((A) <= (B) (A) : ))

這個測試是為下面的目的而設(shè)的: 1). 標(biāo)識#define在宏中應(yīng)用的基本知識。這是很重要的,因?yàn)橹钡角度?inline)操作符變?yōu)闃?biāo)準(zhǔn)C的一部分,宏是方便產(chǎn)生嵌入代碼的唯一方法,對于嵌入式系統(tǒng)來說,為了能達(dá)到要求的性能,嵌入代碼經(jīng)常是必須的方法。 2). 三重條件操作符的知識。這個操作符存在C語言中的原因是它使得編譯器能產(chǎn)生比if-then-else更優(yōu)化的代碼,了解這個用法是很重要的。 3). 懂得在宏中小心地把參數(shù)用括號括起來 4). 我也用這個問題開始討論宏的副作用,例如:當(dāng)你寫下面的代碼時會發(fā)生什么事? least = MIN(*p++, b);

3、死循環(huán)(Infinite loops)

怎么樣用C編寫死循環(huán)呢?

這個問題用幾個解決方案。我首選的方案是: while(1) { } 一些程序員更喜歡如下方案: for(;;) { } 這個實(shí)現(xiàn)方式讓我為難,因?yàn)檫@個語法沒有確切表達(dá)到底怎么回事。如果一個應(yīng)試者給出這個作為方案,我將用這個作為一個機(jī)會去探究他們這樣做的 基本原理。如果他們的基本答案是:“我被教著這樣做,但從沒有想到過為什么。”這會給我留下一個壞印象。 第三個方案是用 goto Loop: … goto Loop; 應(yīng)試者如給出上面的方案,這說明或者他是一個匯編語言程序員(這也許是好事)或者他是一個想進(jìn)入新領(lǐng)域的BASIC/FORTRAN程序員。

4、數(shù)據(jù)聲明(Data declarations)

用變量a給出下面的定義 a) 一個整型數(shù)(An integer) b) 一個指向整型數(shù)的指針(A pointer to an integer) c) 一個指向指針的的指針,它指向的指針是指向一個整型數(shù)(A pointer to a pointer to an integer) d) 一個有10個整型數(shù)的數(shù)組(An array of 10 integers) e) 一個有10個指針的數(shù)組,該指針是指向一個整型數(shù)的(An array of 10 pointers to integers) f) 一個指向有10個整型數(shù)數(shù)組的指針(A pointer to an array of 10 integers) g) 一個指向函數(shù)的指針,該函數(shù)有一個整型參數(shù)并返回一個整型數(shù)(A pointer to a function that takes an integer as an argument and returns an integer) h) 一個有10個指針的數(shù)組,該指針指向一個函數(shù),該函數(shù)有一個整型參數(shù)并返回一個整型數(shù)( An array of ten pointers to functions that take an integer argument and return an integer )

答案是: a) int a; // An integer b) int *a; // A pointer to an integer c) int **a; // A pointer to a pointer to an integer d) int a[10]; // An array of 10 integers e) int *a[10]; // An array of 10 pointers to integers f) int (*a)[10]; // A pointer to an array of 10 integers g) int (*a)(int); // A pointer to a function a that takes an integer argument and returns an integer h) int (*a[10])(int); // An array of 10 pointers to functions that take an integer argument and return an integer

5、Static

關(guān)鍵字static的作用是什么? 這個簡單的問題很少有人能回答完全。在C語言中,關(guān)鍵字static有三個明顯的作用: 1). 在函數(shù)體,一個被聲明為靜態(tài)的變量在這一函數(shù)被調(diào)用過程中維持其值不變。 2). 在模塊內(nèi)(但在函數(shù)體外),一個被聲明為靜態(tài)的變量可以被模塊內(nèi)所用函數(shù)訪問,但不能被模塊外其它函數(shù)訪問。它是一個本地的全局變量。 3). 在模塊內(nèi),一個被聲明為靜態(tài)的函數(shù)只可被這一模塊內(nèi)的其它函數(shù)調(diào)用。那就是,這個函數(shù)被限制在聲明它的模塊的本地范圍內(nèi)使用。 大多數(shù)應(yīng)試者能正確回答第一部分,一部分能正確回答第二部分,同是很少的人能懂得第三部分。這是一個應(yīng)試者的嚴(yán)重的缺點(diǎn),因?yàn)樗@然不懂得本地化數(shù)據(jù)和代碼范圍的好處和重要性。

6 、Const 關(guān)鍵字const是什么含意? 我只要一聽到被面試者說:“const意味著常數(shù)”,我就知道我正在和一個業(yè)余者打交道。去年Dan Saks已經(jīng)在他的文章里完全概括了const的所有用法,因此ESP(譯者:Embedded Systems PRogramming)的每一位讀者應(yīng)該非常熟悉const能做什么和不能做什么. 如果你從沒有讀到那篇文章,只要能說出const意味著“只讀”就可以了。盡管這個答案不是完全的答案,但我接受它作為一個正確的答案。(如果你想知道更詳細(xì)的答案,仔細(xì)讀一下Saks的文章吧。)如果應(yīng)試者能正確回答這個問題,我將問他一個附加的問題:下面的聲明都是什么意思?

const int a; int const a; const int *a; int * const a; int const * a const;

前兩個的作用是一樣,a是一個常整型數(shù)。第三個意味著a是一個指向常整型數(shù)的指針(也就是,整型數(shù)是不可修改的,但指針可以)。第四個意思a是一個指向整型數(shù)的常指針(也就是說,指針指向的整型數(shù)是可以修改的,但指針是不可修改的)。最后一個意味著a是一個指向常整型數(shù)的常指針(也就是說,指針指向的整型數(shù)是不可修改的,同時指針也是不可修改的)。如果應(yīng)試者能正確回答這些問題,那么他就給我留下了一個好印象。順帶提一句,也許你可能會問,即使不用關(guān)鍵字 const,也還是能很容易寫出功能正確的程序,那么我為什么還要如此看重關(guān)鍵字const呢?我也如下的幾下理由: 1). 關(guān)鍵字const的作用是為給讀你代碼的人傳達(dá)非常有用的信息,實(shí)際上,聲明一個參數(shù)為常量是為了告訴了用戶這個參數(shù)的應(yīng)用目的。如果你曾花很多時間清理其它人留下的垃圾,你就會很快學(xué)會感謝這點(diǎn)多余的信息。(當(dāng)然,懂得用const的程序員很少會留下的垃圾讓別人來清理的。) 2). 通過給優(yōu)化器一些附加的信息,使用關(guān)鍵字const也許能產(chǎn)生更緊湊的代碼。 3). 合理地使用關(guān)鍵字const可以使編譯器很自然地保護(hù)那些不希望被改變的參數(shù),防止其被無意的代碼修改。簡而言之,這樣可以減少bug的出現(xiàn)。

7 、Volatile 關(guān)鍵字volatile有什么含意 并給出三個不同的例子。 一個定義為volatile的變量是說這變量可能會被意想不到地改變,這樣,編譯器就不會去假設(shè)這個變量的值了。精確地說就是,優(yōu)化器在用到這個變量時必須每次都小心地重新讀取這個變量的值,而不是使用保存在寄存器里的備份。下面是volatile變量的幾個例子: 1). 并行設(shè)備的硬件寄存器(如:狀態(tài)寄存器) 2). 一個中斷服務(wù)子程序中會訪問到的非自動變量(Non-automatic variables) 3). 多線程應(yīng)用中被幾個任務(wù)共享的變量 回答不出這個問題的人是不會被雇傭的。我認(rèn)為這是區(qū)分C程序員和嵌入式系統(tǒng)程序員的最基本的問題。嵌入式系統(tǒng)程序員經(jīng)常同硬件、中斷、RTOS等等打交道,所用這些都要求volatile變量。不懂得volatile內(nèi)容將會帶來災(zāi)難。 假設(shè)被面試者正確地回答了這是問題(嗯,懷疑這否會是這樣),我將稍微深究一下,看一下這家伙是不是直正懂得volatile完全的重要性。 1). 一個參數(shù)既可以是const還可以是volatile嗎?解釋為什么。 2). 一個指針可以是volatile 嗎?解釋為什么。 3). 下面的函數(shù)有什么錯誤: int square(volatile int *ptr) { return ptr *ptr; } 下面是答案: 1). 是的。一個例子是只讀的狀態(tài)寄存器。它是volatile因?yàn)樗赡鼙灰庀氩坏降馗淖?。它是const因?yàn)槌绦虿粦?yīng)該試圖去修改它。 2). 是的。盡管這并不很常見。一個例子是當(dāng)一個中服務(wù)子程序修該一個指向一個buffer的指針時。 3). 這段代碼的有個惡作劇。這段代碼的目的是用來返指針*ptr指向值的平方,但是,由于*ptr指向一個volatile型參數(shù),編譯器將產(chǎn)生類似下面的代碼: int square(volatile int *ptr) { int a,b; a = *ptr; b = *ptr; return a * b; } 由于*ptr的值可能被意想不到地該變,因此a和b可能是不同的。結(jié)果,這段代碼可能返不是你所期望的平方值!正確的代碼如下: long square(volatile int *ptr) { int a; a = *ptr; return a * a; }

8 、位操作(Bit manipulation) 嵌入式系統(tǒng)總是要用戶對變量或寄存器進(jìn)行位操作。給定一個整型變量a,寫兩段代碼,第一個設(shè)置a的bit 3,第二個清除a 的bit 3。在以上兩個操作中,要保持其它位不變。

對這個問題有三種基本的反應(yīng) 1). 不知道如何下手。該被面者從沒做過任何嵌入式系統(tǒng)的工作。 2). 用bit fields。Bit fields是被扔到C語言死角的東西,它保證你的代碼在不同編譯器之間是不可移植的,同時也保證了的你的代碼是不可重用的。我最近不幸看到 Infineon為其較復(fù)雜的通信芯片寫的驅(qū)動程序,它用到了bit fields因此完全對我無用,因?yàn)槲业木幾g器用其它的方式來實(shí)現(xiàn)bit fields的。從道德講:永遠(yuǎn)不要讓一個非嵌入式的家伙粘實(shí)際硬件的邊。 3). 用 #defines 和 bit masks 操作。這是一個有極高可移植性的方法,是應(yīng)該被用到的方法。最佳的解決方案如下: #define BIT3 (0x1<<3) static int a; void set_bit3(void) { a |= BIT3; } void clear_bit3(void) { a &= ~BIT3; } 一些人喜歡為設(shè)置和清除值而定義一個掩碼同時定義一些說明常數(shù),這也是可以接受的。我希望看到幾個要點(diǎn):說明常數(shù)、|=和&=~操作。

9 、內(nèi)存絕對地址訪問 嵌入式系統(tǒng)經(jīng)常具有要求程序員去訪問某特定的內(nèi)存位置的特點(diǎn)。在某工程中,要求設(shè)置一絕對地址為0x67a9的整型變量的值為0xaa66。編譯器是一個純粹的ANSI編譯器。寫代碼去完成這一任務(wù)。

這一問題測試你是否知道為了訪問一絕對地址把一個整型數(shù)強(qiáng)制轉(zhuǎn)換(typecast)為一指針是合法的。這一問題的實(shí)現(xiàn)方式隨著個人風(fēng)格不同而不同。典型的類似代碼如下: int *ptr; ptr = (int *)0x67a9; *ptr = 0xaa55;

一個較晦澀的方法是: (int const)(0x67a9) = 0xaa55;

即使你的品味更接近第二種方案,但我建議你在面試時使用第一種方案。

10 、自動轉(zhuǎn)換原則 下面的代碼輸出是什么,為什么? void foo(void) { unsigned int a = 6; int b = -20; (a+b > 6) puts(“> 6”) : puts(“<= 6”); }

這個問題測試你是否懂得C語言中的整數(shù)自動轉(zhuǎn)換原則,我發(fā)現(xiàn)有些開發(fā)者懂得極少這些東西。不管如何,這無符號整型問題的答案是輸出是“>6”。原因是當(dāng)表達(dá)式中存在有符號類型和無符號類型時所有的操作數(shù)都自動轉(zhuǎn)換為無符號類型。因此-20變成了一個非常大的正整數(shù),所以該表達(dá)式計(jì)算出的結(jié)果大于6。這一點(diǎn)對于應(yīng)當(dāng)頻繁用到無符號數(shù)據(jù)類型的嵌入式系統(tǒng)來說是豐常重要的。如果你答錯了這個問題,你也就到了得不到這份工作的邊緣。

11 、Typedef Typedef 在C語言中頻繁用以聲明一個已經(jīng)存在的數(shù)據(jù)類型的同義字。也可以用預(yù)處理器做類似的事。例如,思考一下下面的例子: #define dPS struct s * typedef struct s * tPS;

以上兩種情況的意圖都是要定義dPS 和 tPS 作為一個指向結(jié)構(gòu)s指針。哪種方法更好呢?(如果有的話)為什么? 這是一個非常微妙的問題,任何人答對這個問題(正當(dāng)?shù)脑颍┦菓?yīng)當(dāng)被恭喜的。答案是:typedef更好。思考下面的例子: dPS p1,p2; tPS p3,p4; 第一個擴(kuò)展為 struct s * p1, p2; 上面的代碼定義p1為一個指向結(jié)構(gòu)的指,p2為一個實(shí)際的結(jié)構(gòu),這也許不是你想要的。第二個例子正確地定義了p3 和p4 兩個指針。

12 、晦澀的語法 C語言同意一些令人震驚的結(jié)構(gòu),下面的結(jié)構(gòu)是合法的嗎,如果是它做些什么? int a = 5, b = 7, c; c = a+++b;

這個問題將做為這個測驗(yàn)的一個愉快的結(jié)尾。不管你相不相信,上面的例子是完全合乎語法的。問題是編譯器如何處理它?水平不高的編譯作者實(shí)際上會爭論這個問題,根據(jù)最處理原則,編譯器應(yīng)當(dāng)能處理盡可能所有合法的用法。因此,上面的代碼被處理成: c = a++ + b; 因此, 這段代碼持行后a = 6, b = 7, c = 12。 如果你知道答案,或猜出正確答案,做得好。如果你不知道答案,我也不把這個當(dāng)作問題。我發(fā)現(xiàn)這個問題的最大好處是:這是一個關(guān)于代碼編寫風(fēng)格,代碼的可讀性,代碼的可修改性的好的話題

1) 以下三條輸出語句分別輸出什么?[C易] char str1[] = “abc”; char str2[] = “abc”; const char str3[] = “abc”; const char str4[] = “abc”; const char* str5 = “abc”; const char* str6 = “abc”; cout << boolalpha << ( str1==str2 ) << endl; // 輸出什么? 答:false 地址不一樣 cout << boolalpha << ( str3==str4 ) << endl; // 輸出什么? 答:false 地址不一樣 cout << boolalpha << ( str5==str6 ) << endl; // 輸出什么? 答:true 指向同一個地址

可以通過下面的操作返回str5, str6指向的內(nèi)存地址 int a = (int)(&str5); int c = (int)(&str6); 可以證明a = c

str5 代表一個字符串,而*str5代表字符串中的首字符

2) 非C++內(nèi)建型別 A 和 B,在哪幾種情況下B能隱式轉(zhuǎn)化為A?[C++中等] 答: a. class B : public A { ……} // B公有繼承自A,可以是間接繼承的 b. class B { Operator A( ); } // B實(shí)現(xiàn)了隱式轉(zhuǎn)化為A的轉(zhuǎn)化 c. class A { A( const B& ); } // A實(shí)現(xiàn)了non-explicit的參數(shù)為B(可以有其他帶默認(rèn)值的參數(shù))構(gòu)造函數(shù) d. A& operator= ( const A& ); // 賦值操作,雖不是正宗的隱式類型轉(zhuǎn)換,但也可以勉強(qiáng)算一個

3) 以下代碼中的兩個sizeof用法有問題嗎? void UpperCase( char str[] ) // 將 str 中的小寫字母轉(zhuǎn)換成大寫字母 { for( size_t i=0; iif( ‘a(chǎn)’<=str[i] && str[i]<=’z’ ) str[i] -= (‘a(chǎn)’-‘A’ ); } char str[] = “aBcDe”; cout << “str字符長度為: ” << sizeof(str)/sizeof(str[0]) << endl; UpperCase( str ); cout << str << endl;

答: 函數(shù)UpperCase中的參數(shù)str是數(shù)組的首地址,所以sizoef(str)永遠(yuǎn)是4 函數(shù)UpperCase下面語句中的str代表數(shù)組,所以為數(shù)組的實(shí)際長度+1, 因?yàn)閿?shù)組str初始化時,會在末尾加”/0”。

以下代碼有什么問題?[ void char2Hex( char c ) // 將字符以16進(jìn)制表示 { char ch = c/0x10 + ‘0’; if( ch > ‘9’ ) ch += (‘A’-‘9’-1); char cl = c%0x10 + ‘0’; if( cl > ‘9’ ) cl += (‘A’-‘9’-1); cout << ch << cl << ’ ‘; } char str[] = “I love 中國”; for( size_t i=0; ichar2Hex( str[i] ); cout << endl;

以下代碼有什么問題? struct Test { Test( int ) {} Test() {} void fun() {} }; void main( void ) { Test a(1); a.fun(); Test b(); b.fun(); }

答案: b.fun語句編譯不能通過, Test b()只是一個函數(shù)的聲明,返回值是Test對象, Test b() 應(yīng)該改為Test b或b=Test()

以下代碼有什么問題? cout << (true?1:”1”) << endl;

以下代碼能夠編譯通過嗎,為什么?[C++易] unsigned int const size1 = 2; char str1[ size1 ]; unsigned int temp = 0; cin >> temp; unsigned int const size2 = temp; char str2[ size2 ];

答 char str1[ size1 ]能通過編譯,因?yàn)閟ize1為常量(編譯時就能確定大小) 但 char str2[ size2 ]不能通過編譯,因?yàn)閟ize2變量(編譯時不能確定大小)

以下代碼中的輸出語句輸出0嗎,為什么? struct CLS { int m_i; CLS( int i ) : m_i(i) {} CLS() { CLS(0); } }; CLS obj; cout << obj.m_i << endl;

答 這段代碼輸出的是一個不確定的值,m_i的值并不是0,原因在于執(zhí)行Cls(0)時,并不是用這一構(gòu)造函數(shù)來初始化當(dāng)前的內(nèi)存區(qū),而是初始化了一個臨時對象的內(nèi)存區(qū)。 8、 C++中的空類,默認(rèn)產(chǎn)生哪些類成員函數(shù)? 答: class Empty { public: Empty(); // 缺省構(gòu)造函數(shù) Empty( const Empty& ); // 拷貝構(gòu)造函數(shù) ~Empty(); // 析構(gòu)函數(shù) Empty& operator=( const Empty& ); // 賦值運(yùn)算符 Empty* operator&(); // 取址運(yùn)算符 const Empty* operator&() const; // 取址運(yùn)算符 const };

9、以下兩條輸出語句分別輸出什么? float a = 1.0f; cout << (int)a << endl; cout << (int&)a << endl; cout << boolalpha << ( (int)a == (int&)a ) << endl; // 輸出什么? float b = 0.0f; cout << (int)b << endl; cout << (int&)b << endl; cout << boolalpha << ( (int)b == (int&)b ) << endl; // 輸出什么?

答: (int) a 輸出 1 (int&)a 輸出很大的值,該操作忽略小數(shù)部分,全作為整數(shù)處理 (int&)a 相當(dāng)于 (int)&a的操作

如 char *p=”test”;

count< count <<(int&)p<< endl 輸出存放test字符串的地址

10、以下反向遍歷array數(shù)組的方法有什么錯誤? vector array; array.push_back( 1 ); array.push_back( 2 ); array.push_back( 3 );

for( vector::size_type i=array.size()-1; i>=0; –i ) // 反向遍歷array數(shù)組 { cout << array[i] << endl; }

答:i 的值會變成-1

11、以下代碼有什么問題? typedef vector IntArray; IntArray array; array.push_back( 1 ); array.push_back( 2 ); array.push_back( 2 ); array.push_back( 3 ); // 刪除array數(shù)組中所有的2 for( IntArray::iterator itor=array.begin(); itor!=array.end(); ++itor ) { if( 2 == *itor ) array.erase( itor ); } 答:iterator遍歷的時候,不能做刪除動作

12、寫一個函數(shù),完成內(nèi)存之間的拷貝。[考慮問題是否全面] 答:

void* mymemcpy( void *dest, const void *src, size_t count ) { char* pdest = static_cast


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

岛国视频一区| 羞羞网站在线免费观看| 国产午夜精品美女视频明星a级| 91野花视频| 亚洲精品免费观看| 偷偷要色偷偷| 在线一区免费| 99精品久久久久久中文字幕| 黄色激情在线视频| 欧美激情三区| 麻豆91在线播放| 久久久久国产精品免费网站| 久久久久久久香蕉网| 搡老熟女老女人一区二区| 欧美日韩人妻精品一区二区三区| 粉嫩老牛aⅴ一区二区三区| 婷婷在线视频观看| 8av国产精品爽爽ⅴa在线观看| 中文字幕av网址| 岳毛多又紧做起爽| 午夜久久久久久久久久一区二区| 在线观看91av| 国产91中文| 九色91蝌蚪在线| 岛国在线视频免费看| 草草在线视频| 美女999久久久精品视频| 国产va免费精品高清在线| 久久er这里只有精品| 欧美精品一区二区三区久久久竹菊| 亚洲第一页在线| 久久久久久久久久婷婷| 国产又黄又猛视频| 97国产suv精品一区二区62| 久久久国产在线视频| 国产真实乱偷精品视频免| 白嫩白嫩国产精品| 欧美另类中文字幕| 国产一级黄色大片| 欧美黑人巨大| 精品免费日韩av| 成人午夜免费影院| 国产精品成人品| 嫩草影院视频| 性伦欧美刺激片在线观看| 天天躁日日躁狠狠躁超碰2020| 欧美精品一区二区三区涩爱蜜| 亚洲欧美成人一区| 亚洲视频一区二区在线观看| 国产在线观看不卡| 久久综合九色欧美综合狠狠| 亚洲综合色视频在线观看| 欧美日韩国产一区在线| 日韩午夜激情| 在线观看中文字幕码| 国产精品久久久久久户外露出| 久久精品国产第一区二区三区| 国产精品久久久乱弄| 国产精品毛片久久久久久久| 好吊色欧美一区二区三区四区| 一区二区三区国产豹纹内裤在线| 亚洲午夜激情网页| 制服 丝袜 综合 日韩 欧美| 国产伦精品一区二区三区视频| 内射国产内射夫妻免费频道| 日韩欧美国产精品| 成人黄色片在线| 亚洲同性同志一二三专区| 欧美午夜xxx| 黄色亚洲大片免费在线观看| 三级做a全过程在线观看| 中文字幕第4页| 国产日韩精品suv| www.99在线| 日韩免费观看高清完整版在线观看| 国产a√精品区二区三区四区| 欧美bbbbb性bbbbb视频| 51精产品一区一区三区| 亚洲午夜羞羞片| 狠狠97人人婷婷五月| 日本免费中文字幕在线| 精品日产卡一卡二卡麻豆| 国产在线观看91一区二区三区| 大又大又粗又硬又爽少妇毛片| 欧美成人免费全部观看天天性色| 麻豆国产精品一区二区三区| 国产成人免费视频网站视频社区| 欧美激情导航| 国内揄拍国内精品久久| 国产激情视频在线看| 污片免费在线观看| 亚洲精品少妇| 欧美高清在线观看| 日韩av三级在线| 真实原创一区二区影院| 久久精品国产av一区二区三区| 日韩专区中文字幕| 免费看黄色91| 全部a∨一极品视觉盛宴| 亚洲GV成人无码久久精品| 精品久久国产字幕高潮| 成人h动漫精品一区二| 欧美在线电影| 91国产中文字幕| 最新日韩在线视频| 国产精品久久久久久亚洲调教| 5566日本婷婷色中文字幕97| 黄网站在线播放| 亚洲经典一区| 精品人妻午夜一区二区三区四区| 欧美人体视频xxxxx| 最近免费中文字幕中文高清百度| 欧美精品国产精品| 青草全福视在线| 欧美日韩在线精品一区二区三区激情| 亚洲国产另类 国产精品国产免费| 人人妻人人藻人人爽欧美一区| 美女又爽又黄免费视频| 日韩大片免费在线观看| jjzzjjzz欧美69巨大| 黄网站免费在线观看| 黄色一区二区三区四区| 国产91av在线播放| 91精品国产闺蜜国产在线闺蜜| 精品1区2区| 久热re国产手机在线观看| 免费又爽又黄禁片视频1000片| 伦理中文字幕亚洲| 亚洲黄色有码视频| 91精品国产91综合久久蜜臀| 欧美激情影音先锋| 天堂资源在线亚洲视频| 国产精品日韩欧美综合| 国产精品女主播视频| 亚洲成av人片在线观看www| 亚洲韩国在线| 欧美福利视频在线观看| 亚洲深夜福利在线观看| 日本高清不卡一区| 伊人波多野结衣| 精品国产乱码久久久| 视频福利一区| 国产高清成人久久| 99久久99精品久久久久久| 国产精品乱码一区二区视频| 欧美日韩黄网站| 在线播放高清视频www| 中文字幕在线观看不卡| 99热在线成人| 日韩av在线电影观看| 精品视频在线免费看| jizzjizz中国精品麻豆| 给我看免费高清在线观看| 欧美色图国产精品| 国产午夜精品久久久久久久久| 欧美一级本道电影免费专区| 影音先锋男人资源站在线观看| 超碰在线观看免费| 成人网址大全| 日本精品一区二区三区视频| 免费观看黄一级视频| 日韩经典在线视频| 黄色片视频网站| 黄色av电影网站| 中文字幕制服诱惑| 亚洲精品乱码久久久久久久久| 国产三区在线视频| 国产精品1区2区3区在线观看| 天堂中文在线官网| 国产夜色精品一区二区av| 日本一区二区三区dvd视频在线| 在线观看亚洲成人| 国产高中女学生第一次| 成人午夜在线| 黄色录像二级片| 中文字幕一二三四| 国产伦精品一区二区三| 久久精品国产免费| 日本道免费精品一区二区三区| 99不卡视频| 久久丝袜美腿综合| 国产日韩欧美视频在线观看| 精品午夜电影| 色综合99久久久无码国产精品| 国产区一区二区三区| 亚洲国产福利视频| 中国黄色片视频| 欧美hd在线| 精品中文字幕人| 精品日产乱码久久久久久仙踪林| 91精品产国品一二三产区| 国内在线高清免费视频| 18岁免费网站| ●精品国产综合乱码久久久久| 日韩欧中文字幕| 日韩大胆人体| 日韩欧美a级成人黄色| 久草在线中文最新视频| 婷婷久久国产对白刺激五月99| 日韩高清中文字幕一区| 777午夜精品免费视频| 中文字幕日本最新乱码视频| 亚洲区精品久久一区二区三区| 性欧美gay| 国产一区二区毛片| 亚洲网站在线观看| 亚洲免费观看在线| 国产大片中文字幕| 亚洲精品av在线| 日本黄色三级网站| 亚洲激情久久| 丁香影院在线| 欧美久久精品一级黑人c片| 一区二区亚洲精品国产| 日韩av第一页| 神马影院一区二区| 一区二区三区 日韩| 亚洲国产高清福利视频| 中文字幕日韩视频| 亚洲精品欧美一区二区三区| 国产成人综合亚洲| 99久久精品国产网站| 亚洲成人免费网站| 国产精品福利在线观看网址| 婷婷丁香久久| 激情视频在线观看免费| 人妻va精品va欧美va| 竹内纱里奈兽皇系列在线观看| 亚洲av少妇一区二区在线观看| 国产精品成人观看视频国产奇米| 国产毛片在线视频| 狠狠噜天天噜日日噜| 日韩在线视频国产| 免费一级黄色大片| 国产在线观看不卡一区二区三区| 亚洲а∨天堂久久精品9966| 日本 国产 欧美色综合| 亚洲综合丁香| 久草福利视频在线| 国产伦精品一区二区三区四区| 99re热视频| 日本欧美高清| 亚洲av综合一区二区| 狼狼综合久久久久综合网| 亚洲精品天堂| 羞羞的视频免费| 92国产精品久久久久首页| 黄色视屏在线免费观看| 日韩黄色一级大片| 精品视频在线免费| 夜先锋av资源| 91欧美激情另类亚洲| 亚洲精品国产精品乱码不99| 老熟妇仑乱一区二区av| 自拍视频国产精品| 亚洲成人资源网| 男女网站在线观看| 日韩影片中文字幕| 8x8ⅹ国产精品一区二区二区| 最近2019中文字幕在线高清| 欧美日韩国产免费观看| 国产精品久久久久久久久搜平片| 狠狠色综合久久婷婷| 亚洲免费人成在线视频观看| 三级黄在线观看| 99自拍视频在线观看| 人妻熟女一二三区夜夜爱| 最近2019年日本中文免费字幕| 国产不卡一卡2卡三卡4卡5卡在线| 在线免费成人| 麻豆免费在线| 久久综合伊人77777尤物| 午夜影院免费在线观看| 日色在线视频| h网站免费看| 热久久美女精品天天吊色| 天堂电影一区| 国产精品二区不卡| aⅴ色国产欧美| 欧美特级限制片免费在线观看| 99精品视频免费在线观看| 在线观看免费视频一区二区三区| 狠狠综合久久av一区二区老牛| 另类图片亚洲色图| 国产一区二区三区精品在线观看| 丝袜诱惑亚洲看片| 在线看黄色的网站| 欧美精品色哟哟| 精品亚洲国内自在自线福利| 夜夜春成人影院| 麻豆成人在线播放| 自拍亚洲一区欧美另类| 久久av国产紧身裤| 九色丨porny丨自拍入口| 伊人免费在线观看高清版| 成人影院一区二区三区| 欧美色婷婷天堂网站| 久久免费精品日本久久中文字幕| 精品国产乱码久久久久| 丁香激情五月婷婷| 91免费视频网址| 黄色av免费在线看| 亚洲av色香蕉一区二区三区| 蜜桃av噜噜一区| 黄频视频在线观看| 日韩精品第1页| 精品国产综合区久久久久久| 偷拍女澡堂一区二区三区| 天堂а√在线中文在线新版| 可以在线看黄的网站| 911久久香蕉国产线看观看| 日韩精品视频在线免费观看| 写真福利理论片在线播放| 欧美国产亚洲一区| 亚洲免费小视频| 天堂久久一区二区三区| 国精品无码一区二区三区| 亚洲午夜精品国产| 青青草原综合久久大伊人精品优势| 久久艹精品视频| 久久精品色图| 人妻视频一区二区三区| 人人爽人人av| 精品一区二区三区在线| 国产精品yjizz视频网一二区| av中文在线| 国产在线精选视频| 亚洲国产又黄又爽女人高潮的|