微軟筆試題和面試題答案目(匯總篇)

大風(fēng)車考試網(wǎng)
  如下為大家匯總的筆試題目都是2017年微軟最新的內(nèi)容,希望此文的分享對(duì)想加入該公司的朋友有幫助!
  1.寫出判斷ABCD四個(gè)表達(dá)式的是否正確, 若正確, 寫出經(jīng)過表達(dá)式中 a的值(3分)   int a = 4;   (A)a += (a++); (B) a += (++a) ;(C) (a++) += a;(D) (++a) += (a++);   a = ?   答:C錯(cuò)誤,左側(cè)不是一個(gè)有效變量,不能賦值,可改為(++a) += a;   改后答案依次為9,10,10,11   2.某32位系統(tǒng)下, C++程序,請(qǐng)計(jì)算sizeof 的值(5分).   char str[] = “www.ibegroup.com”   char *p = str ;   int n = 10;   請(qǐng)計(jì)算   sizeof (str ) = ?(1)   sizeof ( p ) = ?(2)   sizeof ( n ) = ?(3)   void Foo ( char str[100]){   sizeof( str ) = ?(4)   }   void *p = malloc( 100 );   請(qǐng)計(jì)算   sizeof ( p ) = ?(5)   答:(1)17 (2)4 (3) 4 (4)4 (5)4   3. 回答下面的問題. (4分)   (1).頭文件中的 ifndef/define/endif 干什么用?預(yù)處理   答:防止頭文件被重復(fù)引用   (2). #include 和 #include “filename.h” 有什么區(qū)別?   答:前者用來包含開發(fā)環(huán)境提供的庫頭文件,后者用來包含自己編寫的頭文件。   (3).在C++ 程序中調(diào)用被 C 編譯器編譯后的函數(shù),為什么要加 extern “C”聲明?   答:函數(shù)和變量被C++編譯后在符號(hào)庫中的名字與C語言的不同,被extern "C"修飾的變量和函數(shù)是按照C語言方式編譯和連接的。由于編譯后的名字不同,C++程序不能直接調(diào)用C 函數(shù)。C++提供了一個(gè)C 連接交換指定符號(hào)extern“C”來解決這個(gè)問題。   (4). switch()中不允許的數(shù)據(jù)類型是?   答:實(shí)型   4. 回答下面的問題(6分)   (1).Void GetMemory(char *p, int num){   *p = (char *)malloc(num);   }   void Test(void){   char *str = NULL;   GetMemory(&str, 100);   strcpy(str, "hello");   printf(str);   }   請(qǐng)問運(yùn)行Test 函數(shù)會(huì)有什么樣的結(jié)果?   答:輸出“hello”   (2). void Test(void){   char *str = (char *) malloc(100);   strcpy(str, “hello”);   free(str);   if(str != NULL){   strcpy(str, “world”);   printf(str);   }   }   請(qǐng)問運(yùn)行Test 函數(shù)會(huì)有什么樣的結(jié)果?   答:輸出“world”   (3). char *GetMemory(void){   char p[] = "hello world";   return p;   }   void Test(void){   char *str = NULL;   str = GetMemory();   printf(str);   }   請(qǐng)問運(yùn)行Test 函數(shù)會(huì)有什么樣的結(jié)果?   答:無效的指針,輸出不確定   5. 編寫strcat函數(shù)(6分)   已知strcat函數(shù)的原型是char *strcat (char *strDest, const char *strSrc);   其中strDest 是目的字符串,strSrc 是源字符串。   (1)不調(diào)用C++/C 的字符串庫函數(shù),請(qǐng)編寫函數(shù) strcat   答:   VC源碼:   char * __cdecl strcat (char * dst, const char * src)   {   char * cp = dst;   while( *cp )   cp++; /* find end of dst */   while( *cp++ = *src++ ) ; /* Copy src to end of dst */   return( dst ); /* return dst */   }   (2)strcat能把strSrc 的內(nèi)容連接到strDest,為什么還要char * 類型的返回值?   答:方便賦值給其他變量
  • 相關(guān)文章