亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? c語言面試題大全.txt

?? 總結(jié)了一些軟硬件方面的筆試面試題
?? TXT
?? 第 1 頁 / 共 5 頁
字號(hào):
str[i] -= ('a'-'A' );
}
char str[] = "aBcDe";
cout << "str字符長度為: " << sizeof(str)/sizeof(str[0]) << endl;
UpperCase( str );
cout << str << endl;

答:函數(shù)內(nèi)的sizeof有問題。根據(jù)語法,sizeof如用于數(shù)組,只能測(cè)出靜態(tài)數(shù)組的大小,
無法檢測(cè)動(dòng)態(tài)分配的或外部數(shù)組大小。函數(shù)外的str是一個(gè)靜態(tài)定義的數(shù)組,因此其大小為數(shù)組大小

6,函數(shù)內(nèi)的str實(shí)際只是一個(gè)指向字符串的指針,沒有任何額外的與數(shù)組相關(guān)的信息,因
此sizeof作用于上只將其當(dāng)指針看,一個(gè)指針為4個(gè)字節(jié),因此返回4。

一個(gè)32位的機(jī)器,該機(jī)器的指針是多少位
指針是多少位只要看地址總線的位數(shù)就行了。80386以后的機(jī)子都是32的數(shù)據(jù)總線。所以指
針的位數(shù)就是4個(gè)字節(jié)了。

main()
{
int a[5]={1,2,3,4,5};
int *ptr=(int *)(&a+1);

printf("%d,%d",*(a+1),*(ptr-1));
}
輸出:2,5
*(a+1)就是a[1],*(ptr-1)就是a[4],執(zhí)行結(jié)果是2,5
&a+1不是首地址+1,系統(tǒng)會(huì)認(rèn)為加一個(gè)a數(shù)組的偏移,是偏移了一個(gè)數(shù)組的大小(本例是5
個(gè)int)
int *ptr=(int *)(&a+1);
則ptr實(shí)際是&(a[5]),也就是a+5
原因如下:
&a是數(shù)組指針,其類型為 int (*)[5];
而指針加1要根據(jù)指針類型加上一定的值,
不同類型的指針+1之后增加的大小不同
a是長度為5的int數(shù)組指針,所以要加 5*sizeof(int)
所以ptr實(shí)際是a[5]
但是prt與(&a+1)類型是不一樣的(這點(diǎn)很重要)
所以prt-1只會(huì)減去sizeof(int*)
a,&a的地址是一樣的,但意思不一樣,a是數(shù)組首地址,也就是a[0]的地址,&a是對(duì)象(數(shù)
組)首地址,a+1是數(shù)組下一元素的地址,即a[1],&a+1是下一個(gè)對(duì)象的地址,即a[5].


1.請(qǐng)問以下代碼有什么問題:
int main()
{
char a;
char *str=&a;
strcpy(str,"hello");
printf(str);
return 0;
}
沒有為str分配內(nèi)存空間,將會(huì)發(fā)生異常
問題出在將一個(gè)字符串復(fù)制進(jìn)一個(gè)字符變量指針?biāo)傅刂贰km然可以正確輸出結(jié)果,但因
為越界進(jìn)行內(nèi)在讀寫而導(dǎo)致程序崩潰。

char* s="AAA";
printf("%s",s);
s[0]='B';
printf("%s",s);
有什么錯(cuò)?
"AAA"是字符串常量。s是指針,指向這個(gè)字符串常量,所以聲明s的時(shí)候就有問題。
cosnt char* s="AAA";
然后又因?yàn)槭浅A浚詫?duì)是s[0]的賦值操作是不合法的。

1、寫一個(gè)“標(biāo)準(zhǔn)”宏,這個(gè)宏輸入兩個(gè)參數(shù)并返回較小的一個(gè)。
#define Min(X, Y) ((X)>(Y)?(Y):(X))//結(jié)尾沒有;------語法上并沒有限制宏后面必須沒有分號(hào),
宏只是簡單的字符替換,這里是因?yàn)槭褂肕in的地方通常會(huì)在后面加分號(hào)

2、嵌入式系統(tǒng)中經(jīng)常要用到無限循環(huán),你怎么用C編寫死循環(huán)。
while(1){}或者for(;;)
3、關(guān)鍵字static的作用是什么?
定義靜態(tài)變量
4、關(guān)鍵字const有什么含意?
表示常量不可以修改的變量。
5、關(guān)鍵字volatile有什么含意?并舉出三個(gè)不同的例子?
提示編譯器對(duì)象的值可能在編譯器未監(jiān)測(cè)到的情況下改變。
volatile關(guān)鍵字是一種類型修飾符,用它聲明的類型變量表示可以被某些編譯器未知的因素更改,
比如:操作系統(tǒng)、硬件或者其它線程等。遇到這個(gè)關(guān)鍵字聲明的變量,
編譯器對(duì)訪問該變量的代碼就不再進(jìn)行優(yōu)化,從而可以提供對(duì)特殊地址的穩(wěn)定訪問。
當(dāng)要求使用volatile 聲明的變量的值的時(shí)候,系統(tǒng)總是重新從它所在的內(nèi)存讀取數(shù)據(jù),
即使它前面的指令剛剛從該處讀取過數(shù)據(jù)。而且讀取的數(shù)據(jù)立刻被保存。
volatile 指出 i是隨時(shí)可能發(fā)生變化的,每次使用它的時(shí)候必須從i的地址中讀取,
因而編譯器生成的匯編代碼會(huì)重新從i的地址讀取數(shù)據(jù)放在b中。
而優(yōu)化做法是,由于編譯器發(fā)現(xiàn)兩次從i讀數(shù)據(jù)的代碼之間的代碼沒有對(duì)i進(jìn)行過操作,
它會(huì)自動(dòng)把上次讀的數(shù)據(jù)放在b中。而不是重新從i里面讀。
這樣以來,如果i是一個(gè)寄存器變量或者表示一個(gè)端口數(shù)據(jù)就容易出錯(cuò),
所以說volatile可以保證對(duì)特殊地址的穩(wěn)定訪問。
vc6調(diào)試模式下沒有優(yōu)化,關(guān)鍵字的作用看不出來,但發(fā)行模式則會(huì)起作用,故對(duì)于多線程共享的變量最好用vola
tile修飾


int (*s[10])(int) 表示的是什么啊
int (*s[10])(int) 函數(shù)指針數(shù)組,每個(gè)指針指向一個(gè)int func(int param)的函數(shù)。


1.有以下表達(dá)式:
int a=248; b=4;int const c=21;const int *d=&a;
int *const e=&b;int const *f const =&a;
請(qǐng)問下列表達(dá)式哪些會(huì)被編譯器禁止?為什么?
*c=32;d=&b;*d=43;e=34;e=&a;f=0x321f;
*c 這是個(gè)什么東東,禁止
*d 說了是const, 禁止
e = &a 說了是const 禁止
const *f const =&a; 禁止
2.交換兩個(gè)變量的值,不使用第三個(gè)變量。即a=3,b=5,交換之后a=5,b=3;
有兩種解法, 一種用算術(shù)算法, 一種用^(異或)
a = a + b;
b = a - b;
a = a - b;
or
a = a^b;// 只能對(duì)int,char..
b = a^b;
a = a^b;
or
a ^= b ^= a;

3.c和c++中的struct有什么不同?
c和c++中struct的主要區(qū)別是c中的struct不可以含有成員函數(shù),而c++中的struct可以。
c++中struct和class的主要區(qū)別在于默認(rèn)的存取權(quán)限不同,struct默認(rèn)為public,而clas
s默認(rèn)為private

4.#include <stdio.h>
#include <stdlib.h>
void getmemory(char *p)
{
p=(char *) malloc(100);
strcpy(p,"hello world");
}
int main( )
{
char *str=NULL;
getmemory(str);
printf("%s/n",str);
free(str);
return 0;
}
程序崩潰,getmemory中的malloc 不能返回動(dòng)態(tài)內(nèi)存, free()對(duì)str操作很危險(xiǎn)

5.char szstr[10];
strcpy(szstr,"0123456789");
產(chǎn)生什么結(jié)果?為什么?
長度不一樣,會(huì)造成非法的OS

6.列舉幾種進(jìn)程的同步機(jī)制,并比較其優(yōu)缺點(diǎn)。
在主流的Linux內(nèi)核中包含了幾乎所有現(xiàn)代的操作系統(tǒng)具有的同步機(jī)制,這些同步機(jī)制包括:原子操作、信號(hào)量(
semaphore)、讀寫信號(hào)量(rw_semaphore)、spinlock、BKL(Big Kernel Lock)、rwlock、brlock
(只包含在2.4內(nèi)核中)、RCU(只包含在2.6內(nèi)核中)和seqlock(只包含在2.6內(nèi)核中)

7.進(jìn)程之間通信的途徑
管道(pipe)和有名管道(named pipe)、消息隊(duì)列(mesage queue)、信號(hào)(signal)、
信號(hào)量(semaphore)、共享存儲(chǔ)區(qū)(shared memory)、套接口(socket)等

11.進(jìn)程死鎖的原因
資源競(jìng)爭及進(jìn)程推進(jìn)順序非法
12.死鎖的4個(gè)必要條件
互斥、請(qǐng)求保持、不可剝奪、環(huán)路
13.死鎖的處理
鴕鳥策略、預(yù)防策略、避免策略、檢測(cè)與解除死鎖
15. 操作系統(tǒng)中進(jìn)程調(diào)度策略有哪幾種?
FCFS(先來先服務(wù)),優(yōu)先級(jí),時(shí)間片輪轉(zhuǎn),多級(jí)反饋
8.類的靜態(tài)成員和非靜態(tài)成員有何區(qū)別?
類的靜態(tài)成員每個(gè)類只有一個(gè),非靜態(tài)成員每個(gè)對(duì)象一個(gè)
9.純虛函數(shù)如何定義?使用時(shí)應(yīng)注意什么?
virtual void f()=0;
是接口,子類必須要實(shí)現(xiàn)
10.數(shù)組和鏈表的區(qū)別
數(shù)組:數(shù)據(jù)順序存儲(chǔ),固定大小
連表:數(shù)據(jù)可以隨機(jī)存儲(chǔ),大小可動(dòng)態(tài)改變

12.ISO的七層模型是什么?tcp/udp是屬于哪一層?tcp/udp有何優(yōu)缺點(diǎn)?
應(yīng)用層
表示層
會(huì)話層
運(yùn)輸層
網(wǎng)絡(luò)層
物理鏈路層
物理層
tcp /udp屬于運(yùn)輸層
TCP 服務(wù)提供了數(shù)據(jù)流傳輸、可靠性、有效流控制、全雙工操作和多路復(fù)用技術(shù)等。
與 TCP 不同, UDP 并不提供對(duì) IP 協(xié)議的可靠機(jī)制、流控制以及錯(cuò)誤恢復(fù)功能等。由于
 UDP 比較簡單, UDP 頭包含很少的字節(jié),比 TCP 負(fù)載消耗少。
tcp: 提供穩(wěn)定的傳輸服務(wù),有流量控制,缺點(diǎn)是包頭大,冗余性不好
udp: 不提供穩(wěn)定的服務(wù),包頭小,開銷小


1:(void *)ptr 和 (*(void**))ptr的結(jié)果是否相同?其中ptr為同一個(gè)指針
.(void *)ptr 和 (*(void**))ptr值是相同的

2:int main()
{
int x=3;
printf("%d",x);
return 1;
}
問函數(shù)既然不會(huì)被其它函數(shù)調(diào)用,為什么要返回1?
mian中,c標(biāo)準(zhǔn)認(rèn)為0表示成功,非0表示錯(cuò)誤。具體的值是某中具體出錯(cuò)信息


1,要對(duì)絕對(duì)地址0x100000賦值,我們可以用
(unsigned int*)0x100000 = 1234;
那么要是想讓程序跳轉(zhuǎn)到絕對(duì)地址是0x100000去執(zhí)行,應(yīng)該怎么做?
*((void (*)( ))0x100000 ) ( );
首先要將0x100000強(qiáng)制轉(zhuǎn)換成函數(shù)指針,即:
(void (*)())0x100000
然后再調(diào)用它:
*((void (*)())0x100000)();
用typedef可以看得更直觀些:
typedef void(*)() voidFuncPtr;
*((voidFuncPtr)0x100000)();

2,已知一個(gè)數(shù)組table,用一個(gè)宏定義,求出數(shù)據(jù)的元素個(gè)數(shù)
#define NTBL
#define NTBL (sizeof(table)/sizeof(table[0]))

面試題: 線程與進(jìn)程的區(qū)別和聯(lián)系? 線程是否具有相同的堆棧? dll是否有獨(dú)立的堆棧?

進(jìn)程是死的,只是一些資源的集合,真正的程序執(zhí)行都是線程來完成的,程序啟動(dòng)的時(shí)候
操作系統(tǒng)就幫你創(chuàng)建了一個(gè)主線程。

每個(gè)線程有自己的堆棧。
DLL中有沒有獨(dú)立的堆棧,這個(gè)問題不好回答,或者說這個(gè)問題本身是否有問題。因?yàn)镈LL
中的代碼是被某些線程所執(zhí)行,只有線程擁有堆棧,如果DLL中的代碼是EXE中的線程所調(diào)
用,那么這個(gè)時(shí)候是不是說這個(gè)DLL沒有自己獨(dú)立的堆棧?如果DLL中的代碼是由DLL自己創(chuàng)
建的線程所執(zhí)行,那么是不是說DLL有獨(dú)立的堆棧?

以上講的是堆棧,如果對(duì)于堆來說,每個(gè)DLL有自己的堆,所以如果是從DLL中動(dòng)態(tài)分配的
內(nèi)存,最好是從DLL中刪除,如果你從DLL中分配內(nèi)存,然后在EXE中,或者另外一個(gè)DLL中
刪除,很有可能導(dǎo)致程序崩潰


unsigned short A = 10;
printf("~A = %u\n", ~A);

char c=128;
printf("c=%d\n",c);

輸出多少?并分析過程
第一題,~A =0xfffffff5,int值 為-11,但輸出的是uint。所以輸出4294967285
第二題,c=0x80,輸出的是int,最高位為1,是負(fù)數(shù),所以它的值就是0x00的補(bǔ)碼就是12
8,所以輸出-128。
這兩道題都是在考察二進(jìn)制向int或uint轉(zhuǎn)換時(shí)的最高位處理。

分析下面的程序:
void GetMemory(char **p,int num)
{
*p=(char *)malloc(num);

}
int main()
{
char *str=NULL;

GetMemory(&str,100);

strcpy(str,"hello");

free(str);

if(str!=NULL)
{
strcpy(str,"world");
}

printf("\n str is %s",str);
getchar();
}
問輸出結(jié)果是什么?希望大家能說說原因,先謝謝了
輸出str is world。
free 只是釋放的str指向的內(nèi)存空間,它本身的值還是存在的.
所以free之后,有一個(gè)好的習(xí)慣就是將str=NULL.
此時(shí)str指向空間的內(nèi)存已被回收,如果輸出語句之前還存在分配空間的操作的話,這段存儲(chǔ)
空間是可能被重新分配給其他變量的,
盡管這段程序確實(shí)是存在大大的問題(上面各位已經(jīng)說得很清楚了),但是通常會(huì)打印出
world來。
這是因?yàn)椋M(jìn)程中的內(nèi)存管理一般不是由操作系統(tǒng)完成的,而是由庫函數(shù)自己完成的。
當(dāng)你malloc一塊內(nèi)存的時(shí)候,管理庫向操作系統(tǒng)申請(qǐng)一塊空間(可能會(huì)比你申請(qǐng)的大一些
),然后在這塊空間中記錄一些管理信息(一般是在你申請(qǐng)的內(nèi)存前面一點(diǎn)),并將可用
內(nèi)存的地址返回。但是釋放內(nèi)存的時(shí)候,管理庫通常都不會(huì)將內(nèi)存還給操作系統(tǒng),因此你
是可以繼續(xù)訪問這塊地址的,只不過。。。。。。。。樓上都說過了,最好別這么干。
DL:在C++中使用指針的引用也可以在其他函數(shù)內(nèi)部申請(qǐng)空間,格式為int *&p,然后用法一樣,c不行


char a[10],strlen(a)為什么等于15?運(yùn)行的結(jié)果

#include "stdio.h"
#include "string.h"

void main()
{

char aa[10];
printf("%d",strlen(aa));
}

sizeof()和初不初始化,沒有關(guān)系;
strlen()和初始化有關(guān)。


char (*str)[20];/*str是一個(gè)數(shù)組指針,即指向數(shù)組的指針.*/
char *str[20];/*str是一個(gè)指針數(shù)組,其元素為指針型數(shù)據(jù).*/


1)給定結(jié)構(gòu)struct A
{
char t:4;
char k:4;
unsigned short i:8;
unsigned long m;
};問sizeof(A) = ?
給定結(jié)構(gòu)struct A
{
char t:4; 4位
char k:4; 4位
unsigned short i:8; 8位
unsigned long m; // 偏移2字節(jié)保證4字節(jié)對(duì)齊
}; // 共8字節(jié)
2)下面的函數(shù)實(shí)現(xiàn)在一個(gè)數(shù)上加一個(gè)數(shù),有什么錯(cuò)誤?請(qǐng)改正。
int add_n ( int n )
{
static int i = 100;
i += n;
return i;
}
當(dāng)你第二次調(diào)用時(shí)得不到正確的結(jié)果,難道你寫個(gè)函數(shù)就是為了調(diào)用一次?問題就出在 s
tatic上?


// 幫忙分析一下
#include<iostream.h>
#include <string.h>
#include <malloc.h>
#include <stdio.h>
#include <stdlib.h>
#include <memory.h>
typedef struct AA
{
int b1:5;
int b2:2;
}AA;
void main()
{
AA aa;
char cc[100];
strcpy(cc,"0123456789abcdefghijklmnopqrstuvwxyz");
memcpy(&aa,cc,sizeof(AA));
cout << aa.b1 <<endl;
cout << aa.b2 <<endl;
}
答案是 -16和1
首先sizeof(AA)的大小為4,b1和b2分別占5bit和2bit.
經(jīng)過strcpy和memcpy后,aa的4個(gè)字節(jié)所存放的值是:
0,1,2,3的ASC碼,即00110000,00110001,00110010,00110011
所以,最后一步:顯示的是這4個(gè)字節(jié)的前5位,和之后的2位
分別為:10000,和01
因?yàn)閕nt是有正負(fù)之分  所以:答案是-16和1

求函數(shù)返回值,輸入x=9999;
int func ( x )
{
int countx = 0;
while ( x )
{
countx ++;
x = x&(x-1);
}
return countx;
}
結(jié)果呢?
知道了這是統(tǒng)計(jì)9999的二進(jìn)制數(shù)值中有多少個(gè)1的函數(shù),且有
9999=9×1024+512+256+15

9×1024中含有1的個(gè)數(shù)為2;
512中含有1的個(gè)數(shù)為1;
256中含有1的個(gè)數(shù)為1;
15中含有1的個(gè)數(shù)為4;
故共有1的個(gè)數(shù)為8,結(jié)果為8。
1000 - 1 = 0111,正好是原數(shù)取反。這就是原理。
用這種方法來求1的個(gè)數(shù)是很效率很高的。
不必去一個(gè)一個(gè)地移位。循環(huán)次數(shù)最少。

int a,b,c 請(qǐng)寫函數(shù)實(shí)現(xiàn)C=a+b ,不可以改變數(shù)據(jù)類型,如將c改為long int,關(guān)鍵是如何處
理溢出問題
bool add (int a, int b,int *c)
{
*c=a+b;
return (a>0 && b>0 &&(*c<a || *c<b) || (a<0 && b<0 &&(*c>a || *c>b)));
}


分析:
struct bit
{ int a:3;
int b:2;
int c:3;
};
int main()
{
bit s;
char *c=(char*)&s;
cout<<sizeof(bit)<<endl;
*c=0x99;
cout << s.a <<endl <<s.b<<endl<<s.c<<endl;
int a=-1;
printf("%x",a);
return 0;
}
輸出為什么是
4
1
-1
-4
ffffffff
因?yàn)?x99在內(nèi)存中表示為 100 11 001 , a = 001, b = 11, c = 100
當(dāng)c為有符合數(shù)時(shí), c = 100, 最高1為表示c為負(fù)數(shù),負(fù)數(shù)在計(jì)算機(jī)用補(bǔ)碼表示,所以c =
-4;同理
b = -1;
當(dāng)c為有符合數(shù)時(shí), c = 100,即 c = 4,同理 b = 3


位域 :
有些信息在存儲(chǔ)時(shí),并不需要占用一個(gè)完整的字節(jié), 而只需占幾個(gè)或一個(gè)二進(jìn)制位。例如
在存放一個(gè)開關(guān)量時(shí),只有0和1 兩種狀態(tài), 用一位二進(jìn)位即可。為了節(jié)省存儲(chǔ)空間,并
使處理簡便,C語言又提供了一種數(shù)據(jù)結(jié)構(gòu),稱為“位域”或“位段”。所謂“位域”是
把一個(gè)字節(jié)中的二進(jìn)位劃分為幾個(gè)不同的區(qū)域, 并說明每個(gè)區(qū)域的位數(shù)。每個(gè)域有一個(gè)域
名,允許在程序中按域名進(jìn)行操作。 這樣就可以把幾個(gè)不同的對(duì)象用一個(gè)字節(jié)的二進(jìn)制位
域來表示。一、位域的定義和位域變量的說明位域定義與結(jié)構(gòu)定義相仿,其形式為:
struct 位域結(jié)構(gòu)名
{ 位域列表 };
其中位域列表的形式為: 類型說明符 位域名:位域長度
例如:
struct bs
{
int a:8;
int b:2;
int c:6;
};
位域變量的說明與結(jié)構(gòu)變量說明的方式相同。 可采用先定義后說明,同時(shí)定義說明或者直
接說明這三種方式。例如:
struct bs
{
int a:8;
int b:2;
int c:6;
}data;
說明data為bs變量,共占兩個(gè)字節(jié)。其中位域a占8位,位域b占2位,位域c占6位。對(duì)于位
域的定義尚有以下幾點(diǎn)說明:

1. 一個(gè)位域必須存儲(chǔ)在同一個(gè)字節(jié)中,不能跨兩個(gè)字節(jié)。如一個(gè)字節(jié)所剩空間不夠存放另
一位域時(shí),應(yīng)從下一單元起存放該位域。也可以有意使某位域從下一單元開始。例如:

struct bs
{
unsigned a:4
unsigned :0 /*空域*/
unsigned b:4 /*從下一單元開始存放*/
unsigned c:4
}
在這個(gè)位域定義中,a占第一字節(jié)的4位,后4位填0表示不使用,b從第二字節(jié)開始,占用4
位,c占用4位。

2. 由于位域不允許跨兩個(gè)字節(jié),因此位域的長度不能大于一個(gè)字節(jié)的長度,也就是說不能
超過8位二進(jìn)位。

3. 位域可以無位域名,這時(shí)它只用來作填充或調(diào)整位置。無名的位域是不能使用的。例如
struct k
{
int a:1
int :2 /*該2位不能使用*/
int b:3
int c:2
};
從以上分析可以看出,位域在本質(zhì)上就是一種結(jié)構(gòu)類型, 不過其成員是按二進(jìn)位分配的。


二、位域的使用位域的使用和結(jié)構(gòu)成員的使用相同,其一般形式為: 位域變量名&#8226;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品污污网站在线观看| 一区二区三区不卡视频在线观看| 丰满白嫩尤物一区二区| 亚洲免费资源在线播放| 欧美精品一区二区三区很污很色的| 91黄色小视频| 国产精品一区二区三区乱码| 五月天欧美精品| 亚洲人成小说网站色在线| 精品第一国产综合精品aⅴ| 欧美激情一区不卡| 777色狠狠一区二区三区| 一本色道久久综合亚洲aⅴ蜜桃| 黄色日韩网站视频| 日日嗨av一区二区三区四区| 亚洲精品视频一区| 国产精品久久久久久久久久免费看 | 国产亚洲精品福利| 欧美一区二区三区公司| 欧美日韩国产精选| 色婷婷激情综合| 成人sese在线| 高清不卡一二三区| 国产一区二区伦理片| 美国十次了思思久久精品导航| 亚洲永久精品国产| 亚洲裸体xxx| 亚洲三级视频在线观看| 国产精品嫩草99a| 国产午夜精品一区二区三区视频 | 国产亚洲人成网站| 精品久久久久久久久久久久久久久久久| 欧美三级电影一区| 欧美亚洲综合一区| 欧美日韩五月天| 欧美另类videos死尸| 欧美群妇大交群的观看方式| 精品视频在线免费观看| 欧美性极品少妇| 欧美午夜宅男影院| 欧美人牲a欧美精品| 8x福利精品第一导航| 在线电影欧美成精品| 欧美日韩久久久久久| 91精品久久久久久久99蜜桃| 日韩一区国产二区欧美三区| 欧美成人三级电影在线| 2020日本不卡一区二区视频| 久久蜜桃av一区精品变态类天堂 | 福利一区福利二区| 成人h精品动漫一区二区三区| 成人一二三区视频| av在线不卡观看免费观看| 99re这里都是精品| 在线观看不卡视频| 欧美精品一二三| 精品少妇一区二区三区在线视频| 精品国产伦一区二区三区免费 | 日韩三级电影网址| 久久影院午夜片一区| 国产蜜臀97一区二区三区| 亚洲欧洲日韩在线| 亚洲123区在线观看| 久久国产精品露脸对白| 国产成人精品1024| 日本韩国欧美三级| 日韩一区二区三区三四区视频在线观看| 欧美电影免费观看高清完整版在线| 久久亚洲综合色| 亚洲欧美一区二区在线观看| 亚洲高清三级视频| 狠狠色丁香久久婷婷综| 不卡av电影在线播放| 精品视频免费在线| 久久精品欧美日韩精品| 亚洲高清视频的网址| 国产麻豆精品视频| 欧美性高清videossexo| 精品少妇一区二区三区在线播放| 成人免费在线播放视频| 日本强好片久久久久久aaa| 粉嫩av一区二区三区在线播放| 91国偷自产一区二区开放时间| 制服丝袜亚洲色图| 亚洲欧美怡红院| 毛片基地黄久久久久久天堂| 91在线播放网址| 日韩欧美国产电影| 亚洲精品成人精品456| 久久99精品久久久久久动态图 | 蜜臀av性久久久久蜜臀av麻豆 | 欧美巨大另类极品videosbest | 午夜在线成人av| 成人午夜又粗又硬又大| 91.com视频| 亚洲激情中文1区| 国产成人在线网站| 欧美男人的天堂一二区| 中文字幕一区视频| 国模大尺度一区二区三区| 欧美日韩视频一区二区| 中文字幕在线不卡国产视频| 久久成人久久爱| 欧美电影影音先锋| 亚洲在线视频免费观看| 成人av电影在线网| 久久久电影一区二区三区| 视频一区二区国产| 在线免费不卡电影| 亚洲欧美成人一区二区三区| 国产乱理伦片在线观看夜一区| 欧美精品aⅴ在线视频| 亚洲裸体在线观看| 99久久久免费精品国产一区二区| 欧美tickle裸体挠脚心vk| 亚洲成人精品在线观看| 91在线国产福利| 国产精品福利影院| 成人深夜在线观看| 久久久精品一品道一区| 韩国精品久久久| 日韩欧美电影一区| 久久精品国产99国产| 欧美一区二区三区视频免费播放| 天天综合网天天综合色| 欧美视频日韩视频| 亚洲一区二区三区四区在线观看| 99re这里只有精品视频首页| 最近日韩中文字幕| 91麻豆产精品久久久久久| 中文字幕在线不卡一区| 91在线视频网址| 亚洲卡通动漫在线| 一本一本久久a久久精品综合麻豆| 综合激情成人伊人| 91麻豆精品一区二区三区| 一区二区三区资源| 欧美亚洲精品一区| 亚洲精品欧美专区| 欧美午夜免费电影| 日韩成人午夜电影| 日韩欧美一区二区不卡| 国产伦理精品不卡| 国产精品色在线观看| 99在线精品一区二区三区| 亚洲欧美在线另类| 欧美色欧美亚洲另类二区| 午夜av一区二区三区| 日韩欧美综合在线| 国产精品亚洲а∨天堂免在线| 国产亚洲精品久| 91麻豆国产在线观看| 午夜精品123| 欧美不卡在线视频| 成人精品小蝌蚪| 亚洲一区在线看| 日韩欧美色综合网站| 国产91精品露脸国语对白| 亚洲另类在线制服丝袜| 91精品国产入口| 国产98色在线|日韩| 一个色妞综合视频在线观看| 91麻豆精品91久久久久同性| 国产一区二区视频在线| 中文字幕一区免费在线观看| 欧美日韩你懂得| 国产一区二区三区国产| 依依成人精品视频| 日韩欧美精品在线| 99综合电影在线视频| 日本强好片久久久久久aaa| 国产亚洲一区二区三区在线观看 | 国产精品国产三级国产普通话99 | 欧美猛男gaygay网站| 国产一区二区视频在线| 亚洲免费色视频| 欧美xxxxxxxxx| 91网上在线视频| 九九精品一区二区| 亚洲男人电影天堂| 精品国产精品网麻豆系列| 在线欧美一区二区| 国内精品国产三级国产a久久| 日韩美女久久久| 精品久久久久99| 日本乱码高清不卡字幕| 激情伊人五月天久久综合| 亚洲精品成a人| 欧美激情资源网| 日韩欧美中文字幕一区| 北条麻妃国产九九精品视频| 日本成人在线电影网| 一区在线播放视频| 久久久亚洲综合| 7777女厕盗摄久久久| 色琪琪一区二区三区亚洲区| 国产一区二区免费在线| 蜜臀av一区二区在线免费观看| 亚洲欧美色综合| 国产精品蜜臀av|