黑馬程序員—(iOS開發)C語言簡單編程---(二)

  ------- android培訓iOS培訓雲計算培訓Java培訓、期待與您交流! ----------

瞭解:
1、iOS開發,使用Mac平臺下的Xcode搭建C語言開發環境;
2、Windows環境下,下載微軟的Visual C++搭建C語言開發環境;
 
(一) 創建C程序(Mac平臺)
       1、打開Xcode,新建Xcode項目;
       2、選擇簡單的命令行項目(OS X ==>Application、選中命令行項目);
       3、輸入項目信息(項目名:中文、英文均可,Type==> C);
       4、選擇一個用來存放C程序代碼的文件夾;
       5、運行程序(左上角運行按鈕 或 command + R組合鍵運行);
(二) 程序代碼分析:
       1、打開項目中的main.c文件:(C 程序的源文件爲.c文件)
              1> #include <stdio.h>
                     ① #include 是C語言預處理指令之一,所謂預處理:就是在編譯之前做的處理,預處理指令一般以#開頭;
                     ② #include 後面會跟一個文件名,預處理器發現#include 指令後,就會根據文件名去查找文件,並把這個文件的內容包含到當前文件中,被包含文件中的文本將替換源文件中的#include 指令,就像你把被包含文件中的全部內容拷貝到這個#include 指令所在位置一樣;
                     ③ #include 指令不僅僅限於.h頭文件,它還可包含任何編譯器能識別的C/C++代碼文件,包括.C、.hpp、.cpp等,甚至.txt、.abc等都可以;
                     注意:若頭文件爲系統自帶文件,使用<>,若爲自己創建文件,則用"";
              2>main函數:
                     ① C中的函數即是面向對象中的方法;
                     ② C語言是一門面向過程的語言,是以過程爲中心的編程思想,就是先分析出解決問題所需的步驟,然後用函數一步步實現,使用時一個個一次調用函數就可以了;
                     ③ 一個C程序中一定會有且只有一個main函數,main函數是整個C程序的入口;
                     ④ main函數的返回值爲int類型,接收2個參數,參數可省略不寫;
                     注意:
                     ① main函數沒有寫返回值類型,並不代表函數沒有返回值,而是表示返回值類型爲int類型,只有void才表示無返回值;
                     ② 由於C語言的語法限制不嚴格,可簡化main函數爲:(下圖所示),雖然它要求main函數返回int類型的值,但可不返回;

<pre name="code" class="objc">#include <stdio.h>

int main()
{
      printf("Hello word");
}


       3>stdio.h 頭文件:是C語言函數庫中的一個頭文件,裏面指定了一些輸入輸出函數;
(三) 開發和運行程序的步驟
       1、編寫程序:C語言原文件擴展名爲".c",源文件以ASCII碼形式存儲,不能直接被計算機執行,因爲計算機僅能識別0和1;
       2、編譯:(VC環境下)(編譯只會檢查有沒有語法錯誤,不會檢測有沒有main函數)
              1> 把C的源程序翻譯成計算機可識別的二進制形式的目標代碼文件,這個過程叫“編譯”,由C的編譯器完成;
              2> 在編譯同時,還對源程序進行語法檢查。若出現錯誤則編譯失敗,否則生成目標文件,且目標文件與源程序文件名一致,擴展名爲".obj";
              3>每個源文件是單獨編譯的,若一個項目中有多個.c源文件,編譯成功會生成多個對應的.obj目標。一般情況下,目標文件間是有關聯的,如a.obj可能會調用b.obj中定義的函數,因此他們不能單獨被計算機執行,且目標文件中並不包含程序運行所需的庫函數等;
       3、鏈接:(VC環境下)(鏈接只會檢查有沒有錯誤)
              1> 將所有有關聯的obj目標文件以及系統提供C庫函數等組合在一起生成可執行文件的過程,稱爲“鏈接”;
              2>鏈接生成的可執行文件的文件名跟源程序文件同名,擴展名爲“.exe”,計算機可直接執行;
       4、運行:
              1>若在Windows環境下,直接雙擊“.exe”文件即可運行C程序;
              2> 若在Mac OS X環境下,用Xcode創建的命令行項目運行,Mac OS X系統是基於UNIX系統的,因此生成的可執行文件;
(四) 總結:
       1、在編譯器編譯程序前先執行預處理指令#include指令,拷貝stdio.h的內容到源文件中;
       2、編譯源程序(.c文件),生成目標文件;
              1> Mac環境下:生成.o目標文件;
              2> Windows環境下:生成.obj文件;
       3、鏈接C語言函數庫,生成可執行文件;
              1> Mac環境下:生成.out目標文件;
              2> Windows環境下:生成.exe文件;
       4、運行可執行文件,在屏幕上輸出內容;
       5、若使用終端運行C程序
              1> clang指令編譯鏈接執行程序)
                     ① 編譯:cc -c one.c
                     ② 鏈接:cc one.o
                     ③ 編譯、鏈接:cc one.c
                     ④ 運行當前路徑下的可執行文件:./a.out
                     ⑤ 更改可執行文件名稱:cc two.c -o one
              2> 常見錯誤:linker鏈接
                     ① 語法錯誤:可通過編譯器報錯信息解決;
                     ② 邏輯錯誤:需耐心調試程序;
       6、多語言對比(輸出“哈哈”並換行):
              C語言:
              #include <stdio.h>
              int main()
              {
                     print(“哈哈\n”);
                     return 0;
              }
              Object-C語言:
              #import <Foundation/Foundation.h>
              int main()
              {
                     NSLog(@“哈哈”);//自動換行
                     return 0;
          }
              Java語言:
                     class Test{
                                   public static void main(String [] args){
                                          System.out.println(“哈哈”);
                 }
              }
 
PS:本章節介紹瞭如何編寫第一個C程序以及它的運行原理,接下來的章節中將探索C語言內部具體知識;



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章