久久综合丝袜日本网手机版,日韩欧美中文字幕在线三区,亚洲精品国产品国语在线,极品在线观看视频婷婷

      <small id="aebxz"><menu id="aebxz"></menu></small>
    1. java面試題3

      時(shí)間:2022-07-13 23:37:13 面試 我要投稿

      java面試題3

      九、C++部分:(共14題:基礎(chǔ)10道,中等1道,較難3道)

      java面試題3

      188、以下三條輸出語(yǔ)句分別輸出什么?【基礎(chǔ)】

      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; //輸出什么?

      cout << boolalpha << (str3==str4) << endl; //輸出什么?

      cout << boolalpha << (str5==str6) << endl; //輸出什么?

      答:輸出為:false、false、true。

      189、以下反向遍歷array數(shù)組的方法有什么錯(cuò)誤?【基礎(chǔ)】

      vectorarray;

      array.push_back(1);

      array.push_back(2);

      array.push_back(3);

      //反向遍歷array數(shù)組:

      for(vector::size_type i=array.size()-1; i>=0; --i){

      cout << array[i] << endl;

      }

      答:for循環(huán)中的變量i的類(lèi)型不應(yīng)定義為vector::size_type,

      因?yàn)樵擃?lèi)型為無(wú)符號(hào)數(shù)值類(lèi)型,故循環(huán)條件將恒成立,為死循環(huán),應(yīng)將其類(lèi)型定義為有符號(hào)的int類(lèi)型。

      190、以下代碼有什么問(wèn)題?【基礎(chǔ)】

      cout << (true ? 1 : "1") << endl;

      答:運(yùn)算符中兩個(gè)可選值的類(lèi)型不同。

      191、以下代碼有什么問(wèn)題?【基礎(chǔ)】

      typedef vectorIntArray;

      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);

      }

      }

      答:for循環(huán)中的if語(yǔ)句后的array.erase(itor)語(yǔ)句,它將迭代器itor所指向的元素刪除后會(huì)自動(dòng)下移一位,故應(yīng)在其后加上語(yǔ)句:itor--;

      192、以下代碼中的兩個(gè)sizeof用法有問(wèn)題嗎?【基礎(chǔ)】

      void upperCase(char str[]){ //將str中的小寫(xiě)字母轉(zhuǎn)換成大寫(xiě)字母

      for(int i=0; i

      if(a<=str[i] && str[i]<=z)

      str[i] -= (a-A);

      }

      }

      int main(){

      char str[] = "aBcDe";

      cout << "str 字符串長(zhǎng)度為:" << sizeof(str)/sizeof(str[0]);

      cout << endl;

      upperCase(str);

      cout << str << endl;

      return 0;

      }

      答:在upperCase方法中,for循環(huán)的sizeof(str)的值將總是4,所以該方法只能將參數(shù)中的字符串的前四個(gè)字符轉(zhuǎn)換成大寫(xiě)字母。

      193、以下代碼能夠編譯通過(guò)嗎?為什么?【基礎(chǔ)】

      unsigned int const size1 = 2;

      char str1[size1];

      unsigned int temp = 0;

      cin >> temp;

      unsigned int const size2 = temp;

      char str2[size2];

      答:能;

      194、以下代碼有什么問(wèn)題?【基礎(chǔ)】

      struct Test{

      Test(int){}

      Test(){}

      void fun(){}

      };

      void main(void){

      Test a(1);

      a.fun();

      Test b();

      b.fun();

      }

      答:main函數(shù)的返回類(lèi)型應(yīng)為int;不能對(duì)b調(diào)用fun()方法。

      195、以下代碼中的輸出語(yǔ)句輸出0嗎?為什么?【基礎(chǔ)】

      struct CLS{

      int m_i;

      CLS(int i):m_i(i){ }

      CLS(){ CLS(0);}

      };

      int main(){

      CLS obj;

      cout <

      }

      答:輸出不是0;

      196、C++中的空類(lèi),默認(rèn)產(chǎn)生哪些類(lèi)成員函數(shù)?【基礎(chǔ)】

      答:空類(lèi)中默認(rè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

      };

      197、統(tǒng)計(jì)一篇文章中單詞個(gè)數(shù)。【基礎(chǔ)】

      答:代碼如下:

      include

      #include

      using namespace std;

      int main(){

      ifstream fin("t.txt");

      if(!fin){

      cout<<"can open file"<

      return -1;

      }

      int count = 0;

      char buf[256];

      memset(buf, 0, 256);

      while(1){

      fin2>>buf;

      if(fin2.eof())

      break;

      count++;

      }

      cout<<"The number of the words is : "<

      fin2.close();

      return 0;

      }

      198、寫(xiě)一個(gè)函數(shù),完成內(nèi)存之間的拷貝!局械入y度】

      答:代碼如下:

      void* mymemcpy(void* dest, const void* src, size_t count){

      char* pdest = static_cast(dest);

      const char* psrc = static_cast(src);

      if(pdest>psrc && pdest

      for(size_t i=count-1; i!=-1; --i){

      pdest[i] = psrc[i];

      }

      }else{

      for(size_t i=0; i

      pdest[i] = psrc[i];

      }

      }

      return dest;

      }

      int main(){

      char str[] = "0123456789";

      mymemcpy(str+1, str+0, 9);

      cout << str << endl; //將輸出"0012345678"

      return 0;

      }

      199、非C++內(nèi)建類(lèi)型A和B,在哪幾種情況下B能隱式轉(zhuǎn)化為A?【較難】

      答: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構(gòu)造函數(shù)

      (可以有其他帶帶默認(rèn)值的參數(shù))

      d)A& operator= (const A&);//賦值操作,雖不是正宗的隱式類(lèi)型轉(zhuǎn)換,

      但也可以勉強(qiáng)算一個(gè)

      200、以下代碼有什么問(wèn)題?【較難】

      void char2Hex(char c){ //將字符以16進(jìn)制顯示

      char ch = c/0x10 +