看到本文的朋友們,如果你想系統(tǒng)地學(xué)習(xí)一下c語(yǔ)言程序設(shè)計(jì),請(qǐng)您點(diǎn)擊文章左上角帶“C語(yǔ)言”三個(gè)字的藍(lán)色圓圈樣logo,進(jìn)入我的主頁(yè),那里能看到我寫的所有文章,建議您按發(fā)表時(shí)間順序閱讀每一篇文章,因給先發(fā)表的文章和后發(fā)表的文章是按方便大家學(xué)習(xí)的順序遞進(jìn)設(shè)計(jì)的。
今天跟大家分享的是c語(yǔ)言程序?qū)崿F(xiàn)一個(gè)功能的過(guò)程,或者說(shuō)最終結(jié)果的誕生過(guò)程。現(xiàn)階段,我們無(wú)需深究其細(xì)節(jié),只聊一聊它的基本過(guò)程,讓大家對(duì)c語(yǔ)言怎樣實(shí)現(xiàn)一個(gè)功能有個(gè)整體的了解。所謂知其然,知其所以然,只有了解了它的工作過(guò)程,后面才能更好地學(xué)習(xí)各個(gè)具體的知識(shí)點(diǎn)。
要實(shí)現(xiàn)一個(gè)什么功能呢?這是個(gè)問(wèn)題。所以,我們第一步就是確定我們要實(shí)現(xiàn)什么功能,更規(guī)范一點(diǎn)的說(shuō)法,就是要確定需求。
假如你是某學(xué)校的學(xué)生,現(xiàn)在老師有一個(gè)需求,讓你編一段c語(yǔ)言程序求自然數(shù)1到100的和。那么,我們的需求就確定了,一是要求自然數(shù)1到100的和,二是要用c語(yǔ)言實(shí)現(xiàn)這個(gè)功能。
第二步,我們開(kāi)始編寫c語(yǔ)言程序。用什么軟件編輯都可以,我們就用windows系統(tǒng)自帶的記事本吧。
程序編寫完了,保存文件,保存后,給文件取個(gè)名字,叫什么都可以,但擴(kuò)展名必須改為.c,因?yàn)閏語(yǔ)言程序文件的擴(kuò)展名只能是.c或.h,.h是頭文件,我們后續(xù)章節(jié)會(huì)講到。現(xiàn)在我們就給這個(gè)文件取名叫sum.c吧,當(dāng)然你也可以叫test.c,aaa.c等等,什么名字都可以,只要擴(kuò)展名是.c就可以。但是,我還是強(qiáng)烈建議大家給文件取一個(gè)能顧名思義的名字,這樣更便于維護(hù),當(dāng)有很多.c文件時(shí)候,你看一眼名字就知道這個(gè)文件是完成什么功能的。給這個(gè)文件取名叫sum.c也是因?yàn)閟um是求和的意思。
程序編寫完畢,進(jìn)行第三步——對(duì)sum.c文件進(jìn)行編譯。為什么要編譯?因?yàn)橛?jì)算機(jī)不像人類,可以認(rèn)知很多事物,它只認(rèn)識(shí)兩個(gè)數(shù)字:0和1。有的朋友說(shuō),計(jì)算機(jī)也能認(rèn)識(shí)圖片和視頻呀?事實(shí)上,圖片和視頻也是通過(guò)轉(zhuǎn)換成一串一串的0和1才會(huì)被計(jì)算機(jī)識(shí)別的。所以,編譯就是把我們認(rèn)識(shí)的c語(yǔ)言程序代碼轉(zhuǎn)換成計(jì)算機(jī)能認(rèn)識(shí)的一串串0和1組成的編碼。
編譯是在編譯環(huán)境中進(jìn)行的。工程上比較常用的編譯環(huán)境就是linux系統(tǒng)??赡苡械呐笥褯](méi)有接觸過(guò)linux系統(tǒng),其實(shí)它和windows系統(tǒng)一樣,也是一種軟件操作系統(tǒng)。很多版本的linux系統(tǒng)都自帶編譯工具,我們把編譯工具通俗地稱為編譯器。為了編譯,我們需要把sum.c導(dǎo)入到linux系統(tǒng)里。當(dāng)然,你也可以用任何一種編譯工具來(lái)編譯,比如visual studio, 或者dev c++,只要它有編譯的功能就可以。這里只用linux系統(tǒng)舉例。
linux系統(tǒng)編譯器依靠這條編譯命令對(duì)sum.c進(jìn)行編譯:gcc -o sum sum.c。這條命令是什么意思呢?它的意思是使程序文件sum.c通過(guò)編譯生成一個(gè)可執(zhí)行文件,這個(gè)可執(zhí)行文件的名字叫sum。當(dāng)然你也可以給它取任意其他的名字,這個(gè)名字在-o后面指定。朋友們不必花時(shí)間學(xué)習(xí)這個(gè)命令,這里只是為了說(shuō)明編譯的過(guò)程,大家只需要知道sum.c文件可以通過(guò)編譯生成一個(gè)可執(zhí)行文件就可以了。
第四步——運(yùn)行科執(zhí)行程序。簡(jiǎn)單來(lái)說(shuō),我們要完成一個(gè)功能,其實(shí)就是想得到這個(gè)功能的可執(zhí)行程序。顧名思義,可執(zhí)行程序,就是可以執(zhí)行的程序。事實(shí)上,這個(gè)可執(zhí)行程序也和sum.c一樣,就是一個(gè)文件而已,只是它能夠被計(jì)算機(jī)執(zhí)行。第三步我們已經(jīng)通過(guò)編譯sum.c文件生成了可執(zhí)行程序sum,執(zhí)行一下sum文件我們就能看到結(jié)果了,其結(jié)果就是在屏幕上顯示:sum = 5050. 。
到這里,我們就完成了自然數(shù)1到100求和這個(gè)功能的全部過(guò)程。
前面的文章中我提到過(guò)用在線集成開(kāi)發(fā)環(huán)境codeground來(lái)編輯、編譯和運(yùn)行c語(yǔ)言程序,現(xiàn)在請(qǐng)朋友們思考一下,用codeground IDE實(shí)現(xiàn)某個(gè)功能時(shí),都經(jīng)過(guò)了哪些過(guò)程?
-
WINDOWS
+關(guān)注
關(guān)注
4文章
3702瀏覽量
94071 -
C語(yǔ)言
+關(guān)注
關(guān)注
183文章
7644瀏覽量
145643
發(fā)布評(píng)論請(qǐng)先 登錄
講解C語(yǔ)言代碼的實(shí)現(xiàn)過(guò)程
C語(yǔ)言主要特點(diǎn)
請(qǐng)問(wèn)如何實(shí)現(xiàn)C語(yǔ)言訪問(wèn)MCU寄存器?
C語(yǔ)言與C++的區(qū)別及聯(lián)系
C語(yǔ)言和C++之間的區(qū)別是什么
單片機(jī)C語(yǔ)言編程的心得
C語(yǔ)言的編程技巧
C語(yǔ)言程序的結(jié)構(gòu)
C語(yǔ)言的常量介紹
C語(yǔ)言特性
第4章 C語(yǔ)言基礎(chǔ)以及流水燈的實(shí)現(xiàn)(4.7 4.8)
C語(yǔ)言一個(gè)功能的實(shí)現(xiàn)過(guò)程
評(píng)論