一、開發工具的選擇
1、
可以用來寫代碼的工具:記事本、ultraedit、vim、xcode等。
2、
選擇xcode的原因:蘋果公司官方提供的開發利器、簡化開發的工程、有高亮顯示功能。
3、
使用xcode建立一個c程式的源代碼檔案(擴充名為.c或者.c)
# 開發xcode
# 建立檔案
# 選擇檔案類型 .c
二、代碼編寫
1、程式結構
* c程式的結構:由函數組成
#
任何一個c語言程式都市有一個或者多個程式段(小程式)構成的,每個程式段都有自己的功能,我們一般稱這些程式段為“函數”。是以,你可以說c語言程式是由函數構成的。
* 函數的概念
# 函數名:
一個程式中由無數個函數組成,每個函數都有自己的名稱。
調用(執行)函數:根據函數名酒可以調用對應的函數,執行相應的功能。
* c程式的入口
c程式的入口是一個名字叫做main的函數,簡稱main函數。
不管整個程式中又多少個函數,都是先執行main函數。
2、程式設計程式
*
編寫main函數(大括号{}中得内容是函數體)
#include<stdio.h>
int main()
{
printf("這是函數體"); // 輸出字元串
調用系統函數
return 0;
}
三、編譯
1、什麼是編譯:将c源程式翻譯成計算能識别的0和1
2、使用什麼編譯器:xcode3是用gcc,xcode4使用llvm編譯器(前端clang)
3、如果使用clang編譯程式?
* 在終端中輸入:cc -c
檔案名.c。(cd進入目前目錄下)
編譯成功,會生成.o目标檔案。
4、編譯器的錯誤和警告功能
如果嗲嗎有文法問題,編譯器會直接報錯,并指出錯誤的個數和具體的行号。
隻要有1個錯誤,程式就不能編譯成功,也不好生成.o檔案。
警告資訊隻是編譯的一些建議,并不影響編譯通過。
四、連接配接
1、連接配接的作用:将.o檔案和c語言函數庫組合在一起,生成可執行檔案
2、由連接配接器完成,clang編譯器裡面已經包含了連接配接指令。
* 終端輸入:cc
檔案.o。
連接配接成功,會生成a.out可執行檔案。
五、運作
1、兩種方式運作
直接輕按兩下打開a.out檔案。
終端中使用./a.out指令。
2、修改檔案内容之後,一定要重新編譯、連接配接、再運作。
3、\n的作用:回車換行。
六、其他clang指令
1、劉改可執行檔案名稱:cc xx.o -o
檔案名
2、一起編譯、連接配接:cc
xxx.c
七、初學者常見錯誤
1、不寫分号、用了中文分号
2、字元串少了雙引号、或者用了單引号,雙引号裡面又又雙引号
3、代碼沒有寫在main函數内部、return之前
4、檔案擴充名不是.c
或者.c,比如.txt
5、用絕對路徑編譯檔案,注意目标檔案生成的地方。
八、總結
1、整個程式的運作過程
* 編寫程式 -> 源代碼-> 編譯 ->
目标代碼 -> 連接配接(c語言函數庫)-> 可執行的機器代碼 -> 運作
2、總結常見檔案的擴充名
.c是c語言源檔案,在編寫代碼的時候建立
.o是目标檔案,在編譯成功的時候産生。
.out是可執行檔案,在連接配接成功的時候産生。
3、總結clang指令
* 編譯:cc -c
xx.c
* 連接配接: cc
xxx.o
* 編譯、連接配接:cc
* 運作可執行檔案:
./a.out
* 更改可執行檔案的名稱:cc xxx.o -o
xxx
4、開發中會遇到哪些錯誤?如果解決?
文法錯誤,可以通過編譯器的報錯資訊解決
邏輯錯誤,需要内心調試程式
5、學習建議
* 學程式設計并不是學英文
* 程式的可讀性(非常重要)
初學者不要過于尋根問底
九、例子
1、用二種不同的代碼方式輸出下面圖案
************
****8888****
#include <stdio.h>
int main()
{
printf("************\n****8888****\n************\n");
return 0;
}
printf("************\n");
printf("****8888****\n");