中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      c 面試題

      時間:2022-10-14 18:36:55 面試問題 我要投稿
      • 相關推薦

      c 面試題

      1、運行下圖中C代碼,輸出的結果是什么?

      c 面試題


      [cpp]
      int main(int argc, char** argv[]) 

          char str1[] = "hello world"; 
          char str2[] = "hello world"; 
        
          char* str3 = "hello world"; 
          char* str4 = "hello world"; 
        
          if(str1 == str2) 
              printf("str1 and str2 are same.\n"); 
          else 
              printf("str1 and str2 are not same.\n"); 
        
          if(str3 == str4) 
              printf("str3 and str4 are same.\n"); 
          else 
              printf("str3 and str4 are not same.\n"); 
        
          return 0; 

      int main(int argc, char** argv[])
      {
          char str1[] = "hello world";
          char str2[] = "hello world";
       
          char* str3 = "hello world";
          char* str4 = "hello world";
       
          if(str1 == str2)
              printf("str1 and str2 are same.\n");
          else
              printf("str1 and str2 are not same.\n");
       
          if(str3 == str4)
              printf("str3 and str4 are same.\n");
          else
              printf("str3 and str4 are not same.\n");
       
          return 0;
      }
      答案:輸出兩行。第一行是str1 and str2 are not same,第二行是str3 and str4 are same。


      str1和str2是兩個字符串數組。我們會為它們分配兩個長度為12個字節的空間,并把"hello world"的內容分別拷貝到數組中去。這是兩個初始地址不同的數組,因此比較str1和str2的值,會不相同。str3和str4是兩個指針,我們無需為它們分配內存以存儲字符串的內容,而只需要把它們指向"hello world“在內存中的地址就可以了。由于"hello world”是常量字符串,它在內存中只有一個拷貝,因此str3和str4指向的是同一個地址。因此比較str3和str4的值,會是相同的。

       

       

      2、運行下圖中的C++代碼,打印出的結果是什么?


      [cpp]
      int Fun1(char* str) 

          printf("%s\n", str); 
          return 0; 

        
      int Fun2(char* str) 

          printf("%s\n", str); 
          return 1; 

        
      int main(int argc, char ** argv[]) 

          int res1, res2; 
          res1 = (Fun1("a") && Fun2("b")) || (Fun1("c") || Fun2("d")); 
          res2 = (Fun1("a") && Fun2("b")) && (Fun1("c") || Fun2("d")); 
        
          return res1 || res2; 

      int Fun1(char* str)
      {
          printf("%s\n", str);
          return 0;
      }
       
      int Fun2(char* str)
      {
          printf("%s\n", str);
          return 1;
      }
       
      int main(int argc, char ** argv[])
      {
          int res1, res2;
          res1 = (Fun1("a") && Fun2("b")) || (Fun1("c") || Fun2("d"));
          res2 = (Fun1("a") && Fun2("b")) && (Fun1("c") || Fun2("d"));
       
          return res1 || res2;
      }
      答案:打印出4行,分別是a、c、d、a。
      在C/C++中,與、或運算是從左到右的順序執行的。在計算rest1時,先計算Fun1(“a”) && Func2(“b”)。首先Func1(“a”)打印出內容為a的一行。由于Fun1(“a”)返回的是false, 無論Func2(“b”)的返回值是true還是false,Fun1(“a”) && Func2(“b”)的結果都是false。由于Func2(“b”)的結果無關重要,因此Func2(“b”)會略去而不做計算。接下來計算 Fun1(“c”) || Func2(“d”),分別打印出內容c和d的兩行。

      在計算rest2時,首先Func1(“a”)打印出內容為a的一行。由于Func1(“a”)返回false,和前面一樣的道理,Func2(“b”)會略去不做計算。由于Fun1(“a”) && Func2(“b”)的結果是false,不管Fun1(“c”) && Func2(“d”)的結果是什么,整個表達式得到的結果都是false,因此Fun1(“c”) && Func2(“d”)都將被忽略。

      3、


      [cpp]
      int SizeOf(char pString[]) 

              return sizeof(pString); 

        
      int main(int argc, char ** argv[]) 

              char* pString1 = "google"; 
              int size1 = sizeof(pString1); 
              int size2 = sizeof(*pString1); 
        
              char pString2[100] = "google"; 
              int size3 = sizeof(pString2); 
              int size4 = SizeOf(pString2); 
        
              printf("%d, %d, %d, %d", size1, size2, size3, size4); 
        
              return 0; 

      int SizeOf(char pString[])
      {
              return sizeof(pString);
      }
       
      int main(int argc, char ** argv[])
      {
              char* pString1 = "google";
              int size1 = sizeof(pString1);
              int size2 = sizeof(*pString1);
       
              char pString2[100] = "google";
              int size3 = sizeof(pString2);
              int size4 = SizeOf(pString2);
       
              printf("%d, %d, %d, %d", size1, size2, size3, size4);
       
              return 0;
      }
      答案:4, 1, 100, 4。pString1是一個指針。在32位機器上,任意指針都占4個字節的空間。*pString1是字符串pString1的第一個字符。一個字符占一個字節。pString2是一個數組,sizeof(pString2)是求數組的大小。這個數組包含100個字符,因此大小是100個字節。而在函數 SizeOf中,雖然傳入的參數是一個字符數組,當數組作為函數的參數進行傳遞時,數組就自動退化為同類型的指針。

      4.    引用與指針有什么區別?
      1) 引用必須被初始化,指針不必。
      2) 引用初始化以后不能被改變,指針可以改變所指的對象。
      2) 不存在指向空值的引用,但是存在指向空值的指針。

      5.    描述實時系統的基本特性
      在特定時間內完成特定的任務,實時性與可靠性
      6.    全局變量和局部變量在內存中是否有區別?如果有,是什么區別?
      全局變量儲存在靜態數據庫,局部變量在堆棧
      7.   什么是平衡二叉樹?
      左右子樹都是平衡二叉樹 且左右子樹的深度差值的絕對值不大于1
      8.   堆棧溢出一般是由什么原因導致的?
      沒有回收垃圾資源
      9.   什么函數不能聲明為虛函數?
      constructor
      10.   冒泡排序算法的時間復雜度是什么?
      O(n^2)
      11.   寫出float x 與“零值”比較的if語句。
      if(x>0.000001&&x<-0.000001)
      12.   Internet采用哪種網絡協議?該協議的主要層次結構?
      tcp/ip 應用層/傳輸層/網絡層/數據鏈路層/物理層
      13.   Internet物理地址和IP地址轉換采用什么協議?
      ARP (Address Resolution Protocol)(地址解析協議)
      14. IP地址的編碼分為哪倆部分?
      IP地址由兩部分組成,網絡號和主機號。不過是要和“子網掩碼”按位與上之后才能區分哪些是網絡位哪些是主機位。

      【c 面試題】相關文章:

      C/C++程序員必備資料 常見筆面試題深入解析12-12

      IG-WB-C&C 電話面試11-20

      基礎C++/C語言筆試題分享11-21

      面試題精選02-18

      c語言心得05-17

      當當欲將B2C與C2C融合 打造綜合網上商城12-25

      分享面試題目 教育職業面試題11-20

      群碩筆試題Java和C++、C#11-21

      中國C—C電子商務模式的稅收問題與對策03-24

      城管面試題11-09

      主站蜘蛛池模板: 啊v在线视频| 一级二级三一片内射视频在线| 日本高清在线播放一区二区三区| 色婷婷狠狠97成为人免费| 国产午夜人成视频在线观看| 日本一区二区三区啪啪| 南充市| 国产精品天干天干在线观蜜臀 | 日本岛国大片不卡人妻| 亚洲国产一区二区在线| 平昌县| 久久久精品国产精品久久| 国产熟女精品一区二区三区 | 国产亚洲精品不卡在线| 一区二区三区国产偷拍| 远安县| 郴州市| 岳阳市| 修文县| 邵东县| 安吉县| 最新国产精品精品视频| 一区二区三区不卡免费av| 德庆县| 肥城市| 锡林郭勒盟| 国产女主播免费在线观看| 在线免费av一区二区| 韩日无码不卡| 亚洲成精品动漫久久精久| 亚洲av免费不卡一区二区| 人妻少妇精品无码系列| 亚洲一道一本快点视频| 国产麻豆放荡av激情演绎| 蜜桃视频在线网站免费| 国产亚洲精品hd网站| 国产青青草久久亚洲精品| 一区二区三区免费观看在线视频| 精品中文字幕一二三四区人妻| 亚欧乱色束缚一区二区三区| 亚洲Va中文字幕无码毛片下载|