精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

嵌入式筆試面試題目系列(二)

開發 前端
本系列將按類別對題目進行分類整理,重要的地方標上星星,這樣有利于大家打下堅實的基礎。

[[376053]]

、前言

 本系列將按類別對題目進行分類整理,重要的地方標上星星,這樣有利于大家打下堅實的基礎。

本文比較深入,需要花時間去理解,保證都是必考題。文章較長,可以先收藏,找個大塊時間看。一遍看不懂可以多看幾遍。

下面分享16個重要知識點。

二、C/C++題目

1、new和malloc

做嵌入式,對于內存是十分在意的,因為可用內存有限,所以嵌入式筆試面試題目,內存的題目高頻。

1)malloc和free是c++/c語言的庫函數,需要頭文件支持stdlib.h;new和delete是C++的關鍵字,不需要頭文件,需要編譯器支持;

2)使用new操作符申請內存分配時,無需指定內存塊的大小,編譯器會根據類型信息自行計算。而malloc則需要顯式地支持所需內存的大小。

3)new操作符內存分配成功時,返回的是對象類型的指針,類型嚴格與對象匹配,無需進行類型轉換,故new是符合類型安全性的操作符。而malloc內存分配成功則是返回void*,需要通過強制類型轉換將void*指針轉換成我們需要的類型。

4)new內存分配失敗時,會拋出bad_alloc異常。malloc分配內存失敗時返回NULL。

2、在1G內存的計算機中能否malloc(1.2G)?為什么?(2021浙江大華二面問題)

答:是有可能申請1.2G的內存的。

解析:回答這個問題前需要知道malloc的作用和原理,應用程序通過malloc函數可以向程序的虛擬空間申請一塊虛擬地址空間,與物理內存沒有直接關系,得到的是在虛擬地址空間中的地址,之后程序運行所提供的物理內存是由操作系統完成的。

3 、extern”C” 的作用

我們可以在C++中使用C的已編譯好的函數模塊,這時候就需要用到extern”C”。也就是extern“C” 都是在c++文件里添加的。

extern在鏈接階段起作用(四大階段:預處理--編譯--匯編--鏈接)。

4、strcat、strncat、strcmp、strcpy哪些函數會導致內存溢出?如何改進?(2021浙江大華二面問題)

strcpy函數會導致內存溢出。

strcpy拷貝函數不安全,他不做任何的檢查措施,也不判斷拷貝大小,不判斷目的地址內存是否夠用。

  1. char *strcpy(char *strDest,const char *strSrc) 

strncpy拷貝函數,雖然計算了復制的大小,但是也不安全,沒有檢查目標的邊界。

  1. strncpy(dest, src, sizeof(dest));  

strncpy_s是安全的

strcmp(str1,str2),是比較函數,若str1=str2,則返回零;若str1

strncat()主要功能是在字符串的結尾追加n個字符。

  1. char * strncat(char *dest, const char *src, size_t n); 

strcat()函數主要用來將兩個char類型連接。例如:

  1. char d[20]="Golden"
  2. char s[20]="View"
  3. strcat(d,s); 
  4. //打印d 
  5. printf("%s",d); 

輸出 d 為 GoldenView (中間無空格)

延伸:

memcpy拷貝函數,它與strcpy的區別就是memcpy可以拷貝任意類型的數據,strcpy只能拷貝字符串類型。

memcpy 函數用于把資源內存(src所指向的內存區域)拷貝到目標內存(dest所指向的內存區域);有一個size變量控制拷貝的字節數;

函數原型:

  1. void *memcpy(void *dest, void *src, unsigned int count); 

5 、static的用法(定義和用途)(必考)

1)用static修飾局部變量:使其變為靜態存儲方式(靜態數據區),那么這個局部變量在函數執行完成之后不會被釋放,而是繼續保留在內存中。

2)用static修飾全局變量:使其只在本文件內部有效,而其他文件不可連接或引用該變量。

3)用static修飾函數:對函數的連接方式產生影響,使得函數只在本文件內部有效,對其他文件是不可見的(這一點在大工程中很重要很重要,避免很多麻煩,很常見)。這樣的函數又叫作靜態函數。使用靜態函數的好處是,不用擔心與其他文件的同名函數產生干擾,另外也是對函數本身的一種保護機制。

6、const的用法(定義和用途)(必考)

const主要用來修飾變量、函數形參和類成員函數:

1)用const修飾常量:定義時就初始化,以后不能更改。

2)用const修飾形參:func(const int a){};該形參在函數里不能改變

3)用const修飾類成員函數:該函數對成員變量只能進行只讀操作,就是const類成員函數是不能修改成員變量的數值的。

被const修飾的東西都受到強制保護,可以預防意外的變動,能提高程序的健壯性。

參考一個大佬的回答:

我只要一聽到被面試者說:"const意味著常數",我就知道我正在和一個業余者打交道。去年Dan Saks已經在他的文章里完全概括了const的所有用法,因此ESP(譯者:Embedded Systems Programming)的每一位讀者應該非常熟悉const能做什么和不能做什么.如果你從沒有讀到那篇文章,只要能說出const意味著"只讀"就可以了。盡管這個答案不是完全的答案,但我接受它作為一個正確的答案。如果應試者能正確回答這個問題,我將問他一個附加的問題:下面的聲明都是什么意思?

  1. const int a; 
  2. int const a; 
  3. const int *a; 
  4. int * const a; 
  5. int const * a const; 

前兩個的作用是一樣,a是一個常整型數。

第三個意味著a是一個指向常整型數的指針(也就是,整型數是不可修改的,但指針可以)。

第四個意思a是一個指向整型數的常指針(也就是說,指針指向的整型數是可以修改的,但指針是不可修改的)。

最后一個意味著a是一個指向常整型數的常指針(也就是說,指針指向的整型數是不可修改的,同時指針也是不可修改的)。

7、volatile作用和用法

一個定義為volatile的變量是說這變量可能會被意想不到地改變,這樣,編譯器就不會去假設這個變量的值了。精確地說就是,優化器在用到這個變量時必須每次都小心地重新讀取這個變量在內存中的值,而不是使用保存在寄存器里的備份(雖然讀寫寄存器比讀寫內存快)。

回答不出這個問題的人是不會被雇傭的。這是區分C程序員和嵌入式系統程序員的最基本的問題。搞嵌入式的家伙們經常同硬件、中斷、RTOS等等打交道,所有這些都要求用到volatile變量。不懂得volatile的內容將會帶來災難。

以下幾種情況都會用到volatile:

1、并行設備的硬件寄存器(如:狀態寄存器)2、一個中斷服務子程序中會訪問到的非自動變量3、多線程應用中被幾個任務共享的變量

8、const常量和#define的區別(編譯階段、安全性、內存占用等)

用#define max 100 ; 定義的常量是沒有類型的(不進行類型安全檢查,可能會產生意想不到的錯誤),所給出的是一個立即數,編譯器只是把所定義的常量值與所定義的常量的名字聯系起來,define所定義的宏變量在預處理階段的時候進行替換,在程序中使用到該常量的地方都要進行拷貝替換;

用const int max = 255 ; 定義的常量有類型(編譯時會進行類型檢查)名字,存放在內存的靜態區域中,在編譯時確定其值。在程序運行過程中const變量只有一個拷貝,而#define所定義的宏變量卻有多個拷貝,所以宏定義在程序運行過程中所消耗的內存要比const變量的大得多

9、變量的作用域(全局變量和局部變量)

全局變量:在所有函數體的外部定義的,程序的所在部分(甚至其它文件中的代碼)都可以使用。全局變量不受作用域的影響(也就是說,全局變量的生命期一直到程序的結束)。

局部變量:出現在一個作用域內,它們是局限于一個函數的。局部變量經常被稱為自動變量,因為它們在進入作用域時自動生成,離開作用域時自動消失。關鍵字auto可以顯式地說明這個問題,但是局部變量默認為auto,所以沒有必要聲明為auto。

局部變量可以和全局變量重名,在局部變量作用域范圍內,全局變量失效,采用的是局部變量的值。

10、sizeof 與strlen (字符串,數組)

1.如果是數組

  1. #include<stdio.h> 
  2. int main() 
  3.     int a[5]={1,2,3,4,5}; 
  4.     printf(“sizeof  數組名=%d\n”,sizeof(a)); 
  5.     printf(“sizeof *數組名=%d\n”,sizeof(*a)); 

運行結果

  1. sizeof  數組名=20 
  2. sizeof *數組名=4 

2.如果是指針,sizeof只會檢測到是指針的類型,指針都是占用4個字節的空間(32位機)。

sizeof是什么?是一個操作符,也是關鍵字,就不是一個函數,這和strlen()不同,strlen()是一個函數。

那么sizeof的作用是什么?返回一個對象或者類型所占的內存字節數。我們會對sizeof()中的數據或者指針做運算嗎?基本不會。例如sizeof(1+2.0),直接檢測到其中類型是double,即是sizeof(double) = 8。如果是指針,sizeof只會檢測到是指針的類型,指針都是占用4個字節的空間(32位機)。

  1. char *p = "sadasdasd"
  2. sizeof(p):4 
  3. sizeof(*p):1//指向一個char類型的 

除非使用strlen(),僅對字符串有效,直到'\0'為止了,計數結果不包括\0。

要是非要使用sizeof來得到指向內容的大小,就得使用數組名才行, 如

  1. char a[10]; 
  2. sizeof(a):10  //檢測到a是一個數組的類型。 

 

關于strlen(),它是一個函數,考察的比較簡單:

  1. strlen “\n\t\tag\AAtang” 

答案:11

11、經典的sizeof(struct)和sizeof(union)內存對齊

內存對齊作用:

1.平臺原因(移植原因):不是所有的硬件平臺都能訪問任意地址上的任意數據的;某些硬件平臺只能在某些地址處取某些特定類型的數據,否則拋出硬件異常。

2.性能原因:數據結構(尤其是棧)應該盡可能地在自然邊界上對齊。原因在于,為了訪問未對齊的內存,處理器需要作兩次內存訪問;而對齊的內存訪問僅需要一次訪問。

結構體struct內存對齊的3大規則:

1.對于結構體的各個成員,第一個成員的偏移量是0,排列在后面的成員其當前偏移量必須是當前成員類型的整數倍;

2.結構體內所有數據成員各自內存對齊后,結構體本身還要進行一次內存對齊,保證整個結構體占用內存大小是結構體內最大數據成員的最小整數倍;

3.如程序中有#pragma pack(n)預編譯指令,則所有成員對齊以n字節為準(即偏移量是n的整數倍),不再考慮當前類型以及最大結構體內類型。

  1. #pragma pack(1) 
  2.   
  3. struct fun{ 
  4.   int i; 
  5.   double d; 
  6.   char c; 
  7. }; 

sizeof(fun) = 13

  1. struct CAT_s 
  2.     int ld; 
  3.     char Color; 
  4.     unsigned short Age; 
  5.     char *Name
  6.     void(*Jump)(void); 
  7. }Garfield; 

1.使用32位編譯,int占4, char 占1, unsigned short 占2,char* 占4,函數指針占4個,由于是32位編譯是4字節對齊,所以該結構體占16個字節。(說明:按幾字節對齊,是根據結構體的最長類型決定的,這里是int是最長的字節,所以按4字節對齊);

2.使用64位編譯 ,int占4, char 占1, unsigned short 占2,char* 占8,函數指針占8個,由于是64位編譯是8字節對齊(說明:按幾字節對齊,是根據結構體的最長類型決定的,這里是函數指針是最長的字節,所以按8字節對齊)所以該結構體占24個字節。

  1. //64位 
  2. struct C  
  3. {  
  4.  double t;   //8   1111 1111 
  5.  char b;  //1      1 
  6.  int a;   //4      0001111   
  7.  short c;  //2     11000000 
  8. };   
  9.  sizeof(C) = 24;  //注意:1 4 2 不能拼在一起 

char是1,然后在int之前,地址偏移量得是4的倍數,所以char后面補三個字節,也就是char占了4個字節,然后int四個字節,最后是short,只占兩個字節,但是總的偏移量得是double的倍數,也就是8的倍數,所以short后面補六個字節

聯合體union內存對齊的2大規則:

1.找到占用字節最多的成員;

2.union的字節數必須是占用字節最多的成員的字節的倍數,而且需要能夠容納其他的成員

  1. //x64 
  2. typedef union { 
  3.     long i; 
  4.     int k[5]; 
  5.     char c; 
  6. }D 

要計算union的大小,首先要找到占用字節最多的成員,本例中是long,占用8個字節,int k[5]中都是int類型,仍然是占用4個字節的,然后union的字節數必須是占用字節最多的成員的字節的倍數,而且需要能夠容納其他的成員,為了要容納k(20個字節),就必須要保證是8的倍數的同時還要大于20個字節,所以是24個字節。

引申:位域(大疆筆試題)

C語言允許在一個結構體中以位為單位來指定其成員所占內存長度,這種以位為單位的成員稱為“位段”或稱“位域”( bit field) 。利用位段能夠用較少的位數存儲數據。一個位段必須存儲在同一存儲單元中,不能跨兩個單元。如果第一個單元空間不能容納下一個位段,則該空間不用,而從下一個單元起存放該位段。

1.位段聲明和結構體類似

2.位段的成員必須是int、unsigned int、signed int

3.位段的成員名后邊有一個冒號和一個數字

  1. typedef struct_data{ 
  2.    char m:3; 
  3.    char n:5; 
  4.    short s; 
  5.      
  6.    union
  7.    int a; 
  8.    char b; 
  9.    }; 
  10.      
  11.    int h; 
  12. }_attribute_((packed)) data_t; 

答案12

m和n一起,剛好占用一個字節內存,因為后面是short類型變量,所以在short s之前,應該補一個字節。所以m和n其實是占了兩個字節的,然后是short兩個個字節,加起來就4個字節,然后聯合體占了四個字節,總共8個字節了,最后int h占了四個字節,就是12個字節了

attribute((packed)) 取消對齊

GNU C的一大特色就是__attribute__機制。__attribute__可以設置函數屬性(Function Attribute)、變量屬性(Variable Attribute)和類型屬性(Type Attribute)。

__attribute__書寫特征是:__attribute__前后都有兩個下劃線,并且后面會緊跟一對括弧,括弧里面是相應的__attribute__參數。

跨平臺通信時用到。不同平臺內存對齊方式不同。如果使用結構體進行平臺間的通信,會有問題。例如,發送消息的平臺上,結構體為24字節,接受消息的平臺上,此結構體為32字節(只是隨便舉個例子),那么每個變量對應的值就不對了。

不同框架的處理器對齊方式會有不同,這個時候不指定對齊的話,會產生錯誤結果

12、inline函數

在C語言中,如果一些函數被頻繁調用,不斷地有函數入棧,即函數棧,會造成棧空間或棧內存的大量消耗。為了解決這個問題,特別的引入了inline修飾符,表示為內聯函數。

大多數的機器上,調用函數都要做很多工作:調用前要先保存寄存器,并在返回時恢復,復制實參,程序還必須轉向一個新位置執行C++中支持內聯函數,其目的是為了提高函數的執行效率,用關鍵字 inline 放在函數定義(注意是定義而非聲明)的前面即可將函數指定為內聯函數,內聯函數通常就是將它在程序中的每個調用點上“內聯地”展開。

內聯是以代碼膨脹(復制)為代價,僅僅省去了函數調用的開銷,從而提高函數的執行效率。

13、內存四區,什么變量分別存儲在什么區域,堆上還是棧上。 


 文字常量區,叫.rodata,不可以改變,改變會導致段錯誤

  1. int a0=1; 
  2. static int a1; 
  3. const static a2=0; 
  4. extern int a3; 
  5.  
  6. void fun(void) 
  7.  int a4; 
  8.  volatile int a5; 
  9.  return

a0 :全局初始化變量;生命周期為整個程序運行期間;作用域為所有文件;存儲位置為data段。

a1 :全局靜態未初始化變量;生命周期為整個程序運行期間;作用域為當前文件;儲存位置為BSS段。

a2 :全局靜態變量

a3 :全局初始化變量;其他同a0。

a4 :局部變量;生命周期為fun函數運行期間;作用域為fun函數內部;儲存位置為棧。

a5 :局部易變變量;

14、使用32位編譯情況下,給出判斷所使用機器大小端的方法。


聯合體方法判斷方法:利用union結構體的從低地址開始存,且同一時間內只有一個成員占有內存的特性。大端儲存符合閱讀習慣。聯合體占用內存是最大的那個,和結構體不一樣。

a和c公用同一片內存區域,所以更改c,必然會影響a的數據

  1. #include<stdio.h> 
  2.  
  3. int main(){ 
  4.   union w 
  5.   { 
  6.       int a; 
  7.       char b; 
  8.   }c; 
  9.   c.a = 1; 
  10.   if(c.b == 1) 
  11.    printf("小端存儲\n"); 
  12.   else 
  13.    printf("大端存儲\n"); 
  14.  return 0; 

指針方法

通過將int強制類型轉換成char單字節,p指向a的起始字節(低字節)

  1. #include <stdio.h> 
  2. int main () 
  3.     int a = 1; 
  4.     char *p = (char *)&a; 
  5.     if(*p == 1) 
  6.     { 
  7.         printf("小端存儲\n"); 
  8.     } 
  9.     else 
  10.     { 
  11.         printf("大端存儲\n"); 
  12.     } 
  13.     return 0; 

15、用變量a給出下面的定義

  1. a) 一個整型數; 
  2. b)一個指向整型數的指針; 
  3. c)一個指向指針的指針,它指向的指針是指向一個整型數; 
  4. d)一個有10個整型的數組; 
  5. e)一個有10個指針的數組,該指針是指向一個整型數; 
  6. f)一個指向有10個整型數數組的指針; 
  7. g)一個指向函數的指針,該函數有一個整型參數并返回一個整型數; 
  8. h)一個有10個指針的數組,該指針指向一個函數,該函數有一個整型參數并返回一個整型數 
  9. 答案: 
  10. a)int a 
  11. b)int *a; 
  12. c)int **a; 
  13. d)int a[10]; 
  14. e)int *a [10]; 
  15. f) int a[10], *p=a; 
  16. g)int (*a)(int
  17. h) int( *a[10])(int

16、與或非,異或。運算符優先級

sum=a&b<

其中a=3,b=5,c=4(先加再移位再&再異或)答案4

 

 

責任編輯:姜華 來源: 嵌入式Linux系統開發
相關推薦

2021-01-20 07:28:34

嵌入式筆試面試

2021-01-19 07:16:25

嵌入式筆試面試

2021-01-21 08:00:50

嵌入式筆試面試

2021-01-22 07:17:14

嵌入式筆試面試

2021-01-14 10:24:33

嵌入式筆試面試

2021-02-25 16:26:35

嵌入式筆試面試

2025-08-07 09:42:15

2009-06-06 18:36:02

java面試題

2018-03-08 18:40:47

Java百度面試題

2011-05-19 16:30:38

軟件測試

2021-10-27 11:00:30

C++語言面試

2009-05-14 09:28:16

嵌入式面試求職

2009-06-18 15:45:55

J2ee筆試

2009-08-01 23:17:19

ASP.NET面試題目ASP.NET

2011-01-14 13:13:23

嵌入式Linux開發

2020-06-04 14:40:40

面試題Vue前端

2009-08-01 22:47:13

ASP.NET筆試題目ASP.NET

2013-11-26 13:54:00

AMD嵌入式

2013-08-01 17:42:08

AMD嵌入式SOC產品

2023-11-13 07:37:36

JS面試題線程
點贊
收藏

51CTO技術棧公眾號

午夜精品久久久久久久99黑人 | 国产一区二区三区四区在线| 97se综合| 亚洲色图在线播放| 九九九九久久久久| 夜夜爽8888| 亚洲第一伊人| 在线播放日韩欧美| 国产 xxxx| 日韩精品第二页| 午夜精品一区二区三区免费视频 | 色综合天天性综合| 视频一区二区视频| 欧洲成人av| 亚洲午夜精品久久久久久app| 亚洲免费视频网站| 人妻精品久久久久中文字幕69| 深夜成人在线| 一区二区三区视频在线观看| 日本中文不卡| 国产综合精品视频| 天天综合网网欲色| 亚洲欧美一区二区精品久久久| 99九九99九九九99九他书对| 女海盗2成人h版中文字幕| 中文字幕一区二区三区蜜月| 久久国产欧美精品| 国产ts变态重口人妖hd| 青椒成人免费视频| 57pao国产精品一区| 欧美 日韩 国产 一区二区三区| 一道本一区二区三区| 日韩一级黄色大片| 污污的网站免费| 韩漫成人漫画| 午夜精品久久久久久久99水蜜桃| 久久精品一区二区三区不卡| 国产亚洲欧美另类中文| 黄色性视频网站| 欧美另类中文字幕| 欧美丰满美乳xxx高潮www| 成人中文字幕av| 伊人网在线播放| 亚洲电影激情视频网站| 国产精品久久久一区二区三区| 中文字幕欧美在线观看| 国产电影一区二区在线观看| 亚洲欧美日本另类| 香港三级日本三级| 色综合一本到久久亚洲91| 亚洲第一精品在线| www国产免费| 永久免费网站在线| 亚洲激情中文1区| 欧美做受777cos| 69成人在线| 一区二区在线观看不卡| 男人c女人视频| 国产一线二线在线观看| 亚洲一区二区精品3399| 精品欧美国产| 熟妇人妻av无码一区二区三区| 国产福利一区二区| 99久久久精品免费观看国产| www.亚洲欧美| 成人高清伦理免费影院在线观看| 黑人巨大精品欧美一区二区小视频 | 欧美第十八页| 精品三级在线看| 色婷婷狠狠18禁久久| 最新国产一区二区| 欧美在线免费观看视频| 爆乳熟妇一区二区三区霸乳| www.一区| 日韩一级二级三级精品视频| 中文字幕人妻熟女在线| 日韩av黄色在线| 亚洲欧美在线免费观看| 中文字幕在线观看二区| 开心激情综合| 亚洲美女黄色片| 一级在线观看视频| 重囗味另类老妇506070| 久久久久九九九九| www.国产com| 美腿丝袜亚洲综合| 99精彩视频在线观看免费| 亚洲欧美日韩动漫| 亚洲国产高清在线| www.日本三级| 日韩成人av电影| 7777精品伊人久久久大香线蕉 | 国产精品精品国产一区二区| 欧美国产日韩精品| 五月婷婷激情视频| 精品亚洲成a人在线观看 | 五月激情丁香婷婷| 国产精品丝袜一区| 分分操这里只有精品| 欧美三级黄网| av在线不卡精品| 久久女同精品一区二区| 亚洲一区尤物| 女海盗2成人h版中文字幕| 欧美色老头old∨ideo| 黄色性视频网站| 色喇叭免费久久综合| 久久久久久亚洲精品| 最新中文字幕第一页| 成人中文字幕合集| 一区二区精品在线观看| 麻豆av在线免费观看| 欧美视频一区二区三区四区| 中文字幕精品久久久| 91精品久久久久久久久久不卡| 奇米四色中文综合久久| 国内精品国产成人国产三级| 久久免费美女视频| 成人免费观看cn| 激情视频亚洲| 深夜成人在线观看| 国产精品一区无码| 成人精品视频网站| 女同性恋一区二区| 成人免费一区| 亚洲欧美日韩国产精品| 日本在线观看视频网站| 黑人巨大精品欧美一区| 视频一区二区在线观看| 福利在线观看| 欧美日韩另类在线| 亚洲精品激情视频| 亚洲手机视频| 成人欧美视频在线| 2020国产在线视频| 91精品婷婷国产综合久久性色| 精品人妻中文无码av在线 | 中文字幕中文字幕精品| 久久久久久久影院| 亚洲爱爱综合网| 亚洲精品日韩专区silk| 中文字幕剧情在线观看| 久久在线播放| 国产欧亚日韩视频| 婷婷五月在线视频| 色综合久久中文| 欧美电影免费提供在线观看| 永久av免费网站| 激情深爱一区二区| 资源网第一页久久久| 黄色网址视频在线观看| 亚洲综合激情另类小说区| 亚洲精品第三页| 外国成人激情视频| 成人综合网网址| www久久日com| 欧美第一区第二区| 久草资源在线视频| 成人黄色网址在线观看| 欧美不卡在线播放| 牛牛精品成人免费视频| 日本久久久久久| 国产精品久久一区二区三区不卡| 欧美在线观看18| 91视频免费看片| 国产一区二区三区视频在线播放| 国产香蕉一区二区三区| av成人资源| 热久久免费国产视频| 黄色影院在线播放| 制服丝袜一区二区三区| 激情四射综合网| 26uuu亚洲| 一路向西2在线观看| 91精品一区二区三区综合在线爱| 国产精品区一区二区三在线播放| mm视频在线视频| 在线观看欧美日韩国产| 精品久久在线观看| 欧美小视频在线观看| 国产精品久久久视频| 精彩视频一区二区三区| 欧美一级视频在线播放| 亚洲国产伊人| 欧美激情免费看| 青青国产在线| 欧美日韩亚洲综合| 国产一级在线观看视频| 久久精品一区二区三区av| 久久久福利影院| 国产精品一区毛片| 国产区一区二区三区| 国产精品伦理| 久久久精品国产| 人妻一区二区三区| 亚洲一区精品在线| 成人精品999| 国产裸体歌舞团一区二区| 色综合久久久久无码专区| 天天av综合| 欧美一区二区三区精美影视| 亚洲精品观看| 国产精品日韩欧美大师| ****av在线网毛片| 日韩三级影视基地| 青青操视频在线| 欧美大片免费久久精品三p| 精品人妻一区二区三区潮喷在线| 亚洲精品国产a久久久久久| 久久精品—区二区三区舞蹈| 成人免费观看男女羞羞视频| 国产3p在线播放| 鲁大师成人一区二区三区| www.激情网| 99精品小视频| 日本一区视频在线播放| 精品国产一区二区三区不卡蜜臂| 国产在线日韩在线| 三上悠亚国产精品一区二区三区| 欧美极品欧美精品欧美视频| 黄视频在线观看网站| 国产一区二区三区视频免费| 天天干视频在线| 精品国产一区二区亚洲人成毛片| 少妇久久久久久被弄高潮| 国产无遮挡一区二区三区毛片日本| 中文字幕在线观看91| 黄色小说综合网站| 91香蕉视频导航| 久久深夜福利| 老太脱裤子让老头玩xxxxx| 午夜久久一区| av电影一区二区三区| 91综合在线| 亚洲精品二区| 日韩精品诱惑一区?区三区| 欧洲亚洲一区二区三区四区五区| 欧美亚洲色图校园春色| 精品久久精品久久| 欧美精品中文字幕亚洲专区| 国产精品日韩欧美一区二区三区| 视频一区日韩精品| 俄罗斯精品一区二区| 一区中文字幕电影| 99在线视频首页| 国产精品网在线观看| 国产精品第三页| 婷婷六月国产精品久久不卡| 日本精品久久久久影院| 国偷自产一区二区免费视频| 日本伊人精品一区二区三区介绍| 小视频免费在线观看| 45www国产精品网站| 色资源二区在线视频| 欧美在线视频一区| 人人视频精品| 国产精品福利网站| 日韩大陆av| 亚洲va久久久噜噜噜| 日本免费精品| 激情小说综合区| 久久99免费视频| 香蕉久久夜色| 性欧美69xoxoxoxo| 成人免费在线视频播放| 91久久亚洲| 国产无套粉嫩白浆内谢的出处| 日韩综合在线视频| 男生操女生视频在线观看 | 日韩欧美中文字幕在线播放| 草莓视频18免费观看| 欧美日韩国产中文| 亚洲精品一区二区口爆| 色无极亚洲影院| 国产日韩精品在线| 国产一区二区三区亚洲综合| 国产精品区一区二区三含羞草| 西野翔中文久久精品字幕| 西游记1978| 亚洲欧美综合| 国产真实乱子伦| 久久成人久久爱| 日韩少妇一区二区| 国产欧美日韩一区二区三区在线观看| 日韩国产第一页| 久久综合色播五月| 九九热久久免费视频| 亚洲乱码日产精品bd| 二区视频在线观看| 欧美乱妇一区二区三区不卡视频| 亚洲av无码乱码国产麻豆| 亚洲男人第一av网站| 超碰porn在线| 51精品在线观看| 激情不卡一区二区三区视频在线| 久久久久一区二区| 中文字幕亚洲综合久久五月天色无吗'' | www.成人三级视频| 久久99视频| 91成人综合网| 奇米精品一区二区三区四区| 国产伦理在线观看| 国产精品久久久久久久久免费桃花| 久草国产在线观看| 在线观看三级视频欧美| 丰满人妻一区二区三区免费视频 | 福利在线免费视频| 国产精品综合不卡av| 美国一区二区| 日本一道在线观看| 老司机免费视频一区二区| 国产精品探花一区二区在线观看| 亚洲免费观看高清完整版在线观看熊| 天堂а√在线中文在线新版| 日韩欧美国产系列| 1区2区3区在线观看| 欧美亚洲成人xxx| 大陆精大陆国产国语精品| 麻豆中文字幕在线观看| 国产精品色网| 老司机午夜免费福利| 亚洲人吸女人奶水| 中文字幕一区二区三区人妻四季| 亚洲乱码一区二区| caoporn视频在线| 99高清视频有精品视频| 午夜欧美在线| 色噜噜狠狠永久免费| 国产亚洲婷婷免费| 九九九在线观看| 亚洲高清av在线| 国产精品蜜臀| 91在线观看网站| 久久久久久久久久久9不雅视频| 中文字幕一区二区三区四区在线视频| 91欧美一区二区| 欧美性猛交bbbbb精品| 国产丝袜精品第一页| 欧美freesex黑人又粗又大| 国产精品污www一区二区三区| 午夜精品久久99蜜桃的功能介绍| 久久久久亚洲av片无码v| 亚洲男人都懂的| h狠狠躁死你h高h| 欧美精品在线网站| 91精品国产乱码久久久竹菊| 精品无码av无码免费专区| 国产综合久久久久影院| 欧美成人777| 日韩欧美高清dvd碟片| 免费男女羞羞的视频网站在线观看 | 国产黄色片免费看| 日韩精品在线视频| jizz内谢中国亚洲jizz| 欧美午夜精品久久久久免费视| 久久久久99| 国产无遮挡在线观看| 欧美精品乱码久久久久久| 成人免费网站在线观看视频| 91亚洲午夜在线| 国产精品草草| 波多野结衣视频播放| 色综合天天综合给合国产| 成人在线免费公开观看视频| 国产一区欧美二区三区| 亚洲精品国产首次亮相| 国产性猛交96| 天天色图综合网| 国产日本在线观看| 国产欧亚日韩视频| 国内精品久久久久国产盗摄免费观看完整版| 中文字幕在线观看91| 日韩欧美国产免费播放| 成人高清免费在线播放| 亚洲japanese制服美女| 亚洲成人在线| 中文字幕免费看| 欧美日韩视频在线观看一区二区三区 | 密臀av一区二区三区| 国产精品久久久久久久裸模| 精品久久久久久亚洲综合网站| 91国产美女在线观看| 欧美日韩伦理一区二区| 国产免费xxx| 97se亚洲国产综合自在线不卡 | 日韩欧美电影在线| 乱馆动漫1~6集在线观看| 无码免费一区二区三区免费播放| 国产伦精品一区二区三区在线观看| 国产亚洲欧美久久久久| 亚洲三级黄色在线观看| 日本成人精品| 男人操女人免费软件| 亚洲三级在线看| 日本中文字幕一区二区有码在线| 国产日产久久高清欧美一区| 在线精品观看| 日本高清一二三区| 亚洲欧美国产日韩天堂区| 日日夜夜精品视频|