iOS學(xué)習(xí)之C語(yǔ)言基礎(chǔ)學(xué)習(xí)day-01

終端:

iOS的終端相當(dāng)于Windows系統(tǒng)之中的命令提示符(CMD).

OS X是基于Unix系統(tǒng),我們可以使用終端用命令的方式來(lái)操作OS X系統(tǒng)。

打開(kāi)終端程序:應(yīng)用程序文件夾—>實(shí)用工具—>終端。

終端

1.工作路徑

代表當(dāng)前終端程序在那1個(gè)目錄下工作,或者處于那1個(gè)目錄之下。

? 代表當(dāng)前用戶的家目錄—>家目錄指的就是當(dāng)前用戶文夾。一般在/Users/用戶文件夾。

2.常用命令:

1.pwd 命令:

全稱:Print Working Directory

作用:顯示當(dāng)前終端程序的工作路徑。

pwd 命令

2.ls 命令 list:

作用:列出當(dāng)前工作路徑下的所有的子目錄及文件

ls 命令

可以加1個(gè)參數(shù) -l 來(lái)顯示當(dāng)前工作路徑下的子目錄和文件的詳細(xì)信息。

ls -l

3.cd 命令:

作用:切換終端的工作路徑

cd 要切換的工作路徑,在寫工作的時(shí)候,可以使用 Tab 鍵來(lái)自動(dòng)提示路徑。

cd 命令

在使用cd命令改變工作的時(shí)候,有時(shí)候沒(méi)有必要寫全路徑。有的時(shí)候可以寫絕對(duì)路徑或者一些

循殊符號(hào)來(lái)代表物殊的路徑。

.. 代表當(dāng)前路徑的上一級(jí)路徑。

上一級(jí)路徑

~ 代表家目錄。。

~ 代表家目錄。

如果要切換的工作路徑在當(dāng)前工作路徑之下,那么在寫路徑的時(shí)候可以寫1個(gè)相對(duì)路徑。

相對(duì)路徑

4.clear 命令:

作用:清空終端屏上的文本

clear 命令
clear 命令

make dir

作用:在當(dāng)前工作路徑下創(chuàng)建文件夾。

6.touch 命令:

作用:在當(dāng)前工作路徑下創(chuàng)建1個(gè)空文件。

touch 命令

第一個(gè)C程序:

step1:在終端使用 touch 命令新建1個(gè)文件,后綴名為.c 的文件,main.c 文件為 C 的源文件

step1

step2:使用 open 命令打開(kāi)這個(gè)文件,使用系統(tǒng)默認(rèn)的軟件打開(kāi)。

step2

step3:在這個(gè)文件中編寫符合 C 規(guī)范的源代碼。先不必去糾結(jié)代碼的意思!??!

step3

a. 除了雙引號(hào)的內(nèi)容都必須使用純英文輸入法來(lái)輸入。

b. C 代碼嚴(yán)格區(qū)分大小寫。在寫代碼的時(shí)候,必須要保證大小寫都不能出錯(cuò)。


step4:當(dāng)我們將 C 代碼寫好后,就可以使用 C 編譯器,將我們的代碼編譯為機(jī)器代碼了。

命令: cc -c main.c(C代碼的全名稱.)


這個(gè)過(guò)程叫編譯。編譯成功之后,會(huì)發(fā)現(xiàn)1個(gè).o 文件,這個(gè) main.o 文件就是我們的 C 源文件的二進(jìn)制代碼。

需要注意的是,編譯器的作用:首先檢查 C 源文件中的代碼是否符合 C 的規(guī)范,如果符合規(guī)范,才會(huì)生成.o 文件,如果不符合規(guī)范會(huì)提示錯(cuò)誤的詳細(xì)信息,而不會(huì)生成.o 文件。

step4

step5:鏈接!

當(dāng)編譯器成功以后,還沒(méi)有結(jié)束,還需要鏈接。

鏈接程序的主要工作就是將有關(guān)的目標(biāo)文件彼此相連接,也即將在一個(gè)文件中引用的符號(hào)同該符號(hào)在另外一個(gè)文件中的定義連接起來(lái),使得所有的這些目標(biāo)文件成為一個(gè)能夠誒操作系統(tǒng)裝入執(zhí)行的統(tǒng)一整體。

鏈接的命令:cc main.o

step5

當(dāng)一切正常的情況下,會(huì)生成1個(gè) a.out 文件,這個(gè)文件就是1個(gè)執(zhí)行文件。就是我們最終編寫的 C 程序。

step6:執(zhí)行程序

可以雙擊 a.out 打開(kāi)程序執(zhí)行,也可以在終端輸入 ./a.out 執(zhí)行這個(gè)程序。

step6

step7:第一個(gè)C程序的簡(jiǎn)單解釋

step7

step8:C語(yǔ)言的構(gòu)成?—> 函數(shù)

1個(gè) C 程序是由多個(gè)函數(shù)組成的,1個(gè)函數(shù)可以看做1個(gè)代碼段,或者1個(gè)小功能塊。我們的程度都是由1個(gè)1個(gè)小功能塊組成的。1個(gè)小功能塊我們可以把它的代碼實(shí)現(xiàn)放在1個(gè)函數(shù)中以方便管理。

簡(jiǎn)單的函數(shù)定義:

void 函數(shù)名()

{

函數(shù)體;

}

需要注意的是,1個(gè)標(biāo)準(zhǔn)的 C 程序應(yīng)該有且僅包含1個(gè)叫做 main 的函數(shù)。這個(gè)函數(shù)的寫法如下:

int main()

{

return 0;

}

你不需要知道什么意思?。?!

這個(gè)main 函數(shù)是程序的入口換句話說(shuō),當(dāng)我們將程序交給 CPU 去執(zhí)行的時(shí)候,CPU 會(huì)找到這個(gè) C 程序的 main 函數(shù)執(zhí)行,并且只會(huì)執(zhí)行 main 函數(shù)的代碼。別的函數(shù)如果不調(diào)用的話,是不會(huì)被執(zhí)行的,當(dāng) main 函數(shù)的代碼執(zhí)行完畢后,程序就結(jié)束。

補(bǔ)充:

1:編譯器在代碼的時(shí)候,會(huì)先檢查你的.C 文件是不是符合 C 語(yǔ)言的語(yǔ)法規(guī)則,如果不符合會(huì)報(bào)錯(cuò)或者警告,提示你具體那里出錯(cuò)了

warning—>錯(cuò)誤:編譯可以通過(guò),能形成.o 文件,是否能形成 a.out 不確定。

error———>警告:代碼錯(cuò)誤,連編譯形成.o 的資格都沒(méi)有。

2:編譯鏈接可以合成一個(gè)命令:? cc 文件名.c

cc main.c

3:總結(jié)起來(lái)編譯過(guò)程就上面的四個(gè)過(guò)程:預(yù)編譯、編譯、匯編、鏈接。

(以后會(huì)補(bǔ)充此知點(diǎn)。。。。。。。)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,609評(píng)論 19 139
  • *面試心聲:其實(shí)這些題本人都沒(méi)怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個(gè)offer,總結(jié)起來(lái)就是把...
    Dove_iOS閱讀 27,627評(píng)論 30 472
  • 一、溫故而知新 1. 內(nèi)存不夠怎么辦 內(nèi)存簡(jiǎn)單分配策略的問(wèn)題地址空間不隔離內(nèi)存使用效率低程序運(yùn)行的地址不確定 關(guān)于...
    SeanCST閱讀 8,135評(píng)論 0 27
  • 1.項(xiàng)目經(jīng)驗(yàn) 2.基礎(chǔ)問(wèn)題 3.指南認(rèn)識(shí) 4.解決思路 ios開(kāi)發(fā)三大塊: 1.Oc基礎(chǔ) 2.CocoaTouch...
    扶光啟玄閱讀 5,205評(píng)論 0 13
  • 時(shí)間把我們分離,環(huán)境讓我們不能隨時(shí)見(jiàn)面??墒谴髮W(xué)4年一起睡過(guò)的同學(xué),畢業(yè)之初讓我們成了親密無(wú)間的閨蜜。 畢業(yè)第一年...
    虛度時(shí)光讀吧閱讀 556評(píng)論 0 0

友情鏈接更多精彩內(nèi)容