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