什么是C語言?利用C語言幵發(fā)單片機(jī)的優(yōu)點(diǎn)!
C語言是一門面向過程的、抽象化的通用程序設(shè)計(jì)語言,廣泛應(yīng)用于底層開發(fā)。C語言能以簡(jiǎn)易的方式編譯、處理低級(jí)存儲(chǔ)器。C語言是僅產(chǎn)生少量的機(jī)器語言以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的高效率程序設(shè)計(jì)語言。盡管C語言提供了許多低級(jí)處理的功能,但仍然保持著跨平臺(tái)的特性,以一個(gè)標(biāo)準(zhǔn)規(guī)格寫出的C語言程序可在包括類似嵌入式處理器以及超級(jí)計(jì)算機(jī)等作業(yè)平臺(tái)的許多計(jì)算機(jī)平臺(tái)上進(jìn)行編譯。
當(dāng)前階段,在編程領(lǐng)域中,C語言的運(yùn)用非常之多,它兼顧了高級(jí)語言和匯編語言的優(yōu)點(diǎn),相較于其它編程語言具有較大優(yōu)勢(shì)。計(jì)算機(jī)系統(tǒng)設(shè)計(jì)以及應(yīng)用程序編寫是C語言應(yīng)用的兩大領(lǐng)域。同時(shí),C語言的普適較強(qiáng),在許多計(jì)算機(jī)操作系統(tǒng)中都能夠得到適用,且效率顯著。C語言擁有經(jīng)過了漫長發(fā)展歷史的完整的理論體系,在編程語言中具有舉足輕重的地位。
C語言是一種結(jié)構(gòu)化語言,它有著清晰的層次,可按照模塊的方式對(duì)程序進(jìn)行編寫,十分有利于程序的調(diào)試,且c語言的處理和表現(xiàn)能力都非常的強(qiáng)大,依靠非常全面的運(yùn)算符和多樣的數(shù)據(jù)類型,可以輕易完成各種數(shù)據(jù)結(jié)構(gòu)的構(gòu)建,通過指針類型更可對(duì)內(nèi)存直接尋址以及對(duì)硬件進(jìn)行直接操作,因此既能夠用于開發(fā)系統(tǒng)程序,也可用于開發(fā)應(yīng)用軟件。通過對(duì)C語言進(jìn)行研究分析,總結(jié)出其主要特點(diǎn)如下:
(1)簡(jiǎn)潔的語言C語言包含的各種控制語句僅有9種,關(guān)鍵字也只有32個(gè),程序的編寫要求不嚴(yán)格且以小寫字母為主,對(duì)許多不必要的部分進(jìn)行了精簡(jiǎn)。實(shí)際上,語句構(gòu)成與硬件有關(guān)聯(lián)的較少,且C語言本身不提供與硬件相關(guān)的輸入輸出、文件管理等功能,如需此類功能,需要通過配合編譯系統(tǒng)所支持的各類庫進(jìn)行編程,故c語言擁有非常簡(jiǎn)潔的編譯系統(tǒng)。
(2)具有結(jié)構(gòu)化的控制語句C語言是一種結(jié)構(gòu)化的語言,提供的控制語句具有結(jié)構(gòu)化特征,如for語句、if...else語句和switch語句等。可以用于實(shí)現(xiàn)函數(shù)的邏輯控制,方便面向過程的程序設(shè)計(jì)。
(3)豐富的數(shù)據(jù)類型C語言包含的數(shù)據(jù)類型廣泛,不僅包含有傳統(tǒng)的字符型、整型、浮點(diǎn)型、數(shù)組類型等數(shù)據(jù)類型,還具有其他編程語言所不具備的數(shù)據(jù)類型,其中以指針類型數(shù)據(jù)使用最為靈活,可以通過編程對(duì)各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行計(jì)算。
(4)豐富的運(yùn)算符C語言包含34個(gè)運(yùn)算符,它將賦值、括號(hào)等均視作運(yùn)算符來操作,使C程序的表達(dá)式類型和運(yùn)算符類型均非常豐富。
(5)可對(duì)物理地址進(jìn)行直接操作C語言允許對(duì)硬件內(nèi)存地址進(jìn)行直接讀寫,以此可以實(shí)現(xiàn)匯編語言的主要功能,并可直接操作硬件。C語言不但具備高級(jí)語言所具有的良好特性,又包含了許多低級(jí)語言的優(yōu)勢(shì),故在系統(tǒng)軟件編程領(lǐng)域有著廣泛的應(yīng)用。
(6)代碼具有較好的可移植性C語言是面向過程的編程語言,用戶只需要關(guān)注所被解決問題的本身,而不需要花費(fèi)過多的精力去了解相關(guān)硬件,且針對(duì)不同的硬件環(huán)境,在用C語言實(shí)現(xiàn)相同功能時(shí)的代碼基本一致,不需或僅需進(jìn)行少量改動(dòng)便可完成移植,這就意味著,對(duì)于一臺(tái)計(jì)算機(jī)編寫的C程序可以在另一臺(tái)計(jì)算機(jī)上輕松地運(yùn)行,從而極大的減少了程序移植的工作強(qiáng)度。
(7)可生成高質(zhì)量、目標(biāo)代碼執(zhí)行效率高的程序與其他高級(jí)語言相比,C語言可以生成高質(zhì)量和高效率的目標(biāo)代碼,故通常應(yīng)用于對(duì)代碼質(zhì)量和執(zhí)行效率要求較高的嵌入式系統(tǒng)程序的編寫。
C語言作為一種非常方便的語言而得到廣泛的支持,很多硬件開發(fā)都用C語言編程,如各種單片機(jī)、DSP、ARM等。C語言程序本身不依賴于機(jī)器硬件系統(tǒng),基本上不做修改或僅做簡(jiǎn)單的修改就可將程序從不同的系統(tǒng)移植過來直接使用。C語言提供了很多數(shù)學(xué)函數(shù)并支持浮點(diǎn)運(yùn)算,開發(fā)效率高,可極大地縮短開發(fā)時(shí)間,增加程序可讀性和可維護(hù)性。單片機(jī)的C51編程與用匯編ASM-51編程相比,有如下優(yōu)點(diǎn):
①對(duì)單片機(jī)的指令系統(tǒng)不要求有任何的了解,就可以用C語言直接編程操作單片機(jī)。
②寄存器分配、不同存儲(chǔ)器的尋址及數(shù)據(jù)類型等細(xì)節(jié)完全由編譯器自動(dòng)管理。
③程序有規(guī)范的結(jié)構(gòu),可分成不同的函數(shù),可使程序結(jié)構(gòu)化。
④庫中包含許多標(biāo)準(zhǔn)子程序,具有較強(qiáng)的數(shù)據(jù)處理能力,使用方便。
⑤具有方便的模塊化編程技術(shù),使已編好的程序很容易移植。
C語言常用語法不多,尤其是單片機(jī)的C語言常用語法更少,初學(xué)者沒有必要再系統(tǒng)地將C語言重學(xué)一遍,只要跟著我們的教程學(xué)下去,當(dāng)遇到難點(diǎn)時(shí),停下來適當(dāng)?shù)夭殚咰語言書籍里的相關(guān)部分,便會(huì)很容易掌握,而且可以馬上應(yīng)用到實(shí)踐當(dāng)中,且記憶深刻。C語言僅僅是一個(gè)開發(fā)工具,其本身并不難,難的是如何在將來開發(fā)龐大系統(tǒng)中靈活運(yùn)用C語言的正確邏輯編寫出結(jié)構(gòu)完善的程序。在開始學(xué)習(xí)之前,首先大家要有十足的信心,要有拿不下它誓不罷休的強(qiáng)烈愿望,我相信你們能行,你們要更加相信自己能行!