華為筆試題1、 .h頭文件中的 #ifndef/#define/#endif 的作用?
答:防止該頭文件被重復(fù)引用。
華為筆試題2、 #define DOUBLE(x) x+x int i = 5*DOUBLE(5);i 的值為
答:為30
華為筆試題3、 設(shè)某32位系統(tǒng)下,C++程序,有以下說(shuō)明和定義:typedef union {int i; int k[5]; char c;} DATE;struct data { char cat; DATE cow; int dog;} too;則語(yǔ)句 printf("%d",sizeof(too)); 的執(zhí)行結(jié)果是:______
答:為28
華為筆試題4、 某些場(chǎng)合中需要用到死循環(huán),這兩個(gè)死循環(huán) for(;;) 與 while(1) 哪個(gè)代碼更高效(編譯之后的代碼更簡(jiǎn)短)?
答:for(;;)
華為筆試題5、 高度為8的平衡二叉樹(shù),至少有______個(gè)節(jié)點(diǎn)?
答:54個(gè)
華為筆試題6、 某32位系統(tǒng)下,C++程序,請(qǐng)計(jì)算sizeof 的值char str[] =? ;char *p = str ;請(qǐng)計(jì)算
sizeof (str ) = __ ①___
sizeof ( p ) = ___②___
void Foo ( char str[100]){請(qǐng)計(jì)算sizeof( str ) = ___③___}
void *p = malloc( 100 );
請(qǐng)計(jì)算sizeof ( p ) = ___④___
答:①17 ②4 ③4 ④4
華為筆試題7、 winsock建立TCP連接的主要實(shí)現(xiàn)步驟?
答:服務(wù)器端:socket()建立套接字,綁定(bind)并監(jiān)聽(tīng)(listen),用accept()等待客戶端連接;發(fā)現(xiàn)有客戶端連接時(shí),建立一個(gè)新的套接字,自身重新開(kāi)始等待連接;該新產(chǎn)生的套接字使用send()和recv()寫(xiě)讀數(shù)據(jù),直至數(shù)據(jù)交換完畢,調(diào)用closesocket()關(guān)閉套接字。客戶端:socket()建立套接字,連接(connect)服務(wù)器,連接上后使用send()和recv()在套接字上寫(xiě)讀數(shù)據(jù),直至數(shù)據(jù)交換完畢,調(diào)用closesocket()關(guān)閉套接字。