摘要:隨著經(jīng)濟(jì)的迅速發(fā)展以及科學(xué)技術(shù)水平的不斷提高,計(jì)算機(jī)技術(shù)發(fā)展迅速,成為21世紀(jì)的熱門技術(shù),在很大程度上促進(jìn)生產(chǎn)力水平的提高以及經(jīng)濟(jì)的發(fā)展。C語(yǔ)言的發(fā)展還在進(jìn)行著,并且不斷趨于完善,它具有較多的優(yōu)點(diǎn)。然而,它也存在著一定程度上的弊端,相信隨著時(shí)代的發(fā)展,相應(yīng)的科學(xué)技術(shù)水平會(huì)不斷的提高,會(huì)對(duì)C語(yǔ)言的一些弊端進(jìn)行修改與完善。C語(yǔ)言的語(yǔ)法相對(duì)來(lái)說(shuō)也比較豐富,如果一個(gè)相應(yīng)的變量名之后跟著一個(gè)包含一定數(shù)字的中括號(hào),那么這個(gè)相應(yīng)的聲明就是數(shù)組聲明。對(duì)于字符串來(lái)說(shuō),它也是一種數(shù)組,它們主要是以ASCII的NUL作為數(shù)組的退出。而值得我們進(jìn)行充足的注意的是:對(duì)于方塊內(nèi)的相關(guān)的索引值主要是從0開(kāi)始算起的。它包含了指針。字符串等內(nèi)容。C語(yǔ)言有著其自身的特色。而在計(jì)算機(jī)語(yǔ)言中,C語(yǔ)言是一種十分熱門而實(shí)用的語(yǔ)言,它在很大程度上有效的便利的各個(gè)環(huán)節(jié)的操作。我們研究的課題是:計(jì)算機(jī)中C語(yǔ)言的應(yīng)用特點(diǎn)分析。計(jì)算機(jī)語(yǔ)言的內(nèi)容較為豐富,具有多種語(yǔ)言,如JAVA、VFP、C++等。而C語(yǔ)言與其他的一些高級(jí)計(jì)算機(jī)語(yǔ)言相比,有著諸多的特征與優(yōu)點(diǎn)。主要有C語(yǔ)言的運(yùn)算符具有一定的豐富性、C語(yǔ)言的相關(guān)語(yǔ)法表述具有一定的靈活性、C語(yǔ)言對(duì)于相關(guān)軟硬件的操作具有很大程度上的兼容性、C語(yǔ)言的輸入以及輸出方式具有一定的新穎性。C語(yǔ)言具有3種基本的流程圖結(jié)構(gòu),它們分別是順序結(jié)構(gòu)、選擇結(jié)構(gòu)以及循環(huán)結(jié)構(gòu)。通過(guò)對(duì)于C語(yǔ)言的這些特征以及相應(yīng)的結(jié)構(gòu)進(jìn)行較為深刻的研究,能夠有效的加深對(duì)于C語(yǔ)言的認(rèn)識(shí)。而正確的應(yīng)用這些特征,對(duì)于一些實(shí)際問(wèn)題,我們可以進(jìn)行準(zhǔn)確而有效的解決。
關(guān)鍵詞:計(jì)算機(jī);C語(yǔ)言;應(yīng)用特點(diǎn)
中圖分類號(hào):TP312文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1007-9599 (2012) 06-0000-02
一、引言
C語(yǔ)言是相應(yīng)的計(jì)算機(jī)的程序中的一種進(jìn)行相關(guān)設(shè)計(jì)的語(yǔ)言,它包含了相關(guān)的高級(jí)語(yǔ)言的特點(diǎn)以及匯編語(yǔ)言的相應(yīng)特點(diǎn)。1972年,美國(guó)貝爾研究所的D.M.Ritchie推出了C語(yǔ)言。在1978年之后,C語(yǔ)言相繼被移植到大、中、小的微機(jī)之上。C語(yǔ)言有著較為豐富的一些功能。它首先可以進(jìn)行對(duì)于相關(guān)工作系統(tǒng)進(jìn)行一定程度上的設(shè)計(jì),它還可以在一定程度上進(jìn)行對(duì)于相關(guān)應(yīng)用程序的編寫(xiě)。除此之外,它同樣也可進(jìn)行對(duì)于相關(guān)應(yīng)用程序的設(shè)計(jì)。相應(yīng)的C語(yǔ)言具有較為廣泛的應(yīng)用。具備很強(qiáng)的數(shù)據(jù)處理能力,不僅僅是在軟件開(kāi)發(fā)上,而且各類科研都需要用到C語(yǔ)言,適于編寫(xiě)系統(tǒng)軟件,三維,二維圖形和動(dòng)畫(huà)。具體應(yīng)用比如單片機(jī)以及嵌入式系統(tǒng)開(kāi)發(fā)。
二、C語(yǔ)言的相關(guān)特點(diǎn)
C語(yǔ)言被廣泛地進(jìn)行使用是因?yàn)樗哂休^多的優(yōu)點(diǎn)以及特,主要如下:
(一)C語(yǔ)言進(jìn)行相關(guān)操作的時(shí)候較為簡(jiǎn)易,且具有一定的靈活性。它擁有著32個(gè)關(guān)鍵字以9種控制語(yǔ)言。對(duì)其進(jìn)行相關(guān)的程序書(shū)寫(xiě)的形式較為自由,并區(qū)分大小寫(xiě)。它可以把相應(yīng)的高級(jí)語(yǔ)言的一些基本結(jié)構(gòu)與相應(yīng)的低級(jí)語(yǔ)言的實(shí)用性進(jìn)行一定程度上的結(jié)合。
(二)對(duì)于C語(yǔ)言的相關(guān)運(yùn)算符來(lái)說(shuō),它說(shuō)涉及的范圍較為廣泛,它總共有著3運(yùn)算符。而相應(yīng)的C語(yǔ)言對(duì)于一些括號(hào)、賦值以及一定程度上的強(qiáng)制類型的轉(zhuǎn)換等,C語(yǔ)言在進(jìn)行對(duì)其的一定程度上的處理都將之視為運(yùn)算符。這樣所達(dá)到的效果就是:使得相應(yīng)的C語(yǔ)言的運(yùn)算類型較為豐富,不像一些語(yǔ)言那樣比較單一。而且C語(yǔ)言的表達(dá)式類型也表現(xiàn)出一定程度上的多樣化。
(三)在C語(yǔ)言中,除實(shí)現(xiàn)順序、選擇和循環(huán)三種基本結(jié)構(gòu)等的9條控制語(yǔ)句外,輸入操作均由標(biāo)準(zhǔn)庫(kù)函數(shù)來(lái)實(shí)現(xiàn)。所以學(xué)習(xí)C語(yǔ)言,不僅要學(xué)習(xí)這9條控制語(yǔ)句和各種運(yùn)算符,而且要學(xué)習(xí)并掌握常用標(biāo)準(zhǔn)庫(kù)函數(shù)的使用。函數(shù)是C語(yǔ)言程序的基本單位。main()函數(shù)的作用,相當(dāng)于其它高級(jí)語(yǔ)言中的主程序;其它函數(shù)的作用,相當(dāng)于子程序。C語(yǔ)言程序總是從main()函數(shù)開(kāi)始執(zhí)行。一個(gè)C語(yǔ)言程序,總是從main()函數(shù)開(kāi)始執(zhí)行,而不論其在程序中的位置。當(dāng)主函數(shù)執(zhí)行完畢時(shí),亦即程序執(zhí)行完畢。
(四)生成的目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高??梢浦残院茫ㄝ^之匯編語(yǔ)言);可以直接操縱硬件。
(五)函數(shù)的一般結(jié)構(gòu)。任何函數(shù)(包括主函數(shù)main())都是由函數(shù)說(shuō)明和函數(shù)體兩部分組成,其一般結(jié)構(gòu)如下:
[函數(shù)類型]函數(shù)名(函數(shù)參數(shù)表)
說(shuō)明語(yǔ)句部分;
執(zhí)行語(yǔ)句部分;
(六)C語(yǔ)言的函數(shù)體。在函數(shù)說(shuō)明部分的下面、大括號(hào)(必須配對(duì)使用)內(nèi)的部分函數(shù)體一般由說(shuō)明語(yǔ)句和可執(zhí)行語(yǔ)句兩部分構(gòu)成。
(七)C語(yǔ)言的源程序書(shū)寫(xiě)格式。所有語(yǔ)句都必須以分號(hào)“;”結(jié)束,函數(shù)的最后一個(gè)語(yǔ)句也不例外。程序行的書(shū)寫(xiě)格式自由,既允許1行內(nèi)寫(xiě)幾條語(yǔ)句,也允許1條語(yǔ)句分寫(xiě)在幾行上。
(八)C語(yǔ)言允許使用的注釋。C語(yǔ)言的注釋格式為:/*......*/“/*”和“/*”必須成對(duì)使用,且“/*”和“*“、以及“*”和“/”之是不能有空格,否則都出錯(cuò)。注釋的位置,可以單占1行,也可以跟在語(yǔ)句的后面。如果1行寫(xiě)不下,可另起1行繼續(xù)寫(xiě)。注釋中允許使用漢字,在非中文操作系統(tǒng)下,看到的是一串亂碼,但不影響程序運(yùn)行。
(九)C語(yǔ)言的語(yǔ)句。與其它高級(jí)語(yǔ)言一樣,C語(yǔ)言也是利用函數(shù)體中的可執(zhí)行語(yǔ)句,向計(jì)算機(jī)系統(tǒng)發(fā)出操作命令。按照語(yǔ)句功能或構(gòu)成的不同,可將C語(yǔ)言的語(yǔ)句分為五類。
控制語(yǔ)句:控制語(yǔ)句完成一定的控制功能。C語(yǔ)言只有9條控制語(yǔ)句,又可細(xì)分為三種:
選擇結(jié)構(gòu)控制語(yǔ)句:if()~else~,switch()~
循環(huán)結(jié)構(gòu)控制語(yǔ)句:do~while(),for()~,while()~,break,continue
其它控制語(yǔ)句:goto,return
函數(shù)調(diào)用語(yǔ)句:函數(shù)調(diào)用語(yǔ)句由一次函數(shù)調(diào)用加一個(gè)分號(hào)(語(yǔ)句結(jié)束標(biāo)志)構(gòu)成。表達(dá)式語(yǔ)句由表達(dá)工后加一個(gè)分號(hào)構(gòu)成。最典型的表達(dá)式語(yǔ)句是,在賦值表達(dá)式后加一個(gè)分號(hào)構(gòu)成的賦值語(yǔ)句。
三、C語(yǔ)言的語(yǔ)法
如果一個(gè)相應(yīng)的變量名之后跟著一個(gè)包含一定數(shù)字的中括號(hào),那么這個(gè)相應(yīng)的聲明就是數(shù)組聲明。對(duì)于字符串來(lái)說(shuō),它也是一種數(shù)組,它們主要是以ASCII的NUL作為數(shù)組的退出。而值得我們進(jìn)行充足的注意的是:對(duì)于方塊內(nèi)的相關(guān)的索引值主要是從0開(kāi)始算起的。
(一)指針。如果一個(gè)相應(yīng)的變量聲明時(shí)在其前面使用的是*號(hào),那么就表明這是個(gè)指針型變量。也就是說(shuō),這一變量進(jìn)行對(duì)于一個(gè)地址的相應(yīng)存儲(chǔ),而*(此處特指單目運(yùn)算符*,下同。C語(yǔ)言中另有雙目運(yùn)算符*)則主要取的是內(nèi)容操作符,其意思主要是取這個(gè)內(nèi)存地址里相應(yīng)的存儲(chǔ)的內(nèi)容。指針是C語(yǔ)言進(jìn)行與其他同時(shí)代高級(jí)語(yǔ)言區(qū)別的主要特征之一。對(duì)于指針來(lái)說(shuō),它不僅可以是相關(guān)變量的地址,也可以是數(shù)組、數(shù)組元素以及相應(yīng)的函數(shù)的地址。通過(guò)指針作為形式參數(shù)可以在函數(shù)的調(diào)用過(guò)程得到一個(gè)以上的返回值(不同于return(z)這樣的僅能得到一個(gè)相應(yīng)的返回值。然而,指針其實(shí)是一把雙刃劍,一些相關(guān)的操作可以通過(guò)指針進(jìn)行較為自然的表達(dá),然而它也存在著一定程度上的弊端,因?yàn)槿绻徽_的或者過(guò)分的使用指針又會(huì)給程序帶來(lái)大量潛在的錯(cuò)誤。
(二)字符串。C語(yǔ)言的字符串其實(shí)就是一種char型的數(shù)組,所以進(jìn)行對(duì)于字符串的使用并不需要引用庫(kù)。然而C標(biāo)準(zhǔn)庫(kù)確實(shí)包含了一些可以用于對(duì)相應(yīng)的字符串進(jìn)行一定程度上的操作的函數(shù),使得它們看起來(lái)就像字符串而不是數(shù)組。使用這些函數(shù)需要引用相應(yīng)的頭文件
1.文件輸入/輸出。在相應(yīng)的C語(yǔ)言中,輸入和輸出是經(jīng)由標(biāo)準(zhǔn)庫(kù)中的一組函數(shù)來(lái)進(jìn)行相應(yīng)的實(shí)現(xiàn)的。在ANSI/ISOC中,這些函數(shù)主要被定義在頭文件
2.標(biāo)準(zhǔn)輸入輸出。有三個(gè)標(biāo)準(zhǔn)輸入/輸出主要是通過(guò)相應(yīng)的標(biāo)準(zhǔn)I/O庫(kù)預(yù)先定義的:
stdin標(biāo)準(zhǔn)輸入
stdout標(biāo)準(zhǔn)輸出
stderr輸入輸出錯(cuò)誤
四、C語(yǔ)言結(jié)構(gòu)
(一)順序結(jié)構(gòu)。進(jìn)行對(duì)于順序結(jié)構(gòu)的程序設(shè)計(jì)較為簡(jiǎn)單,只需要依據(jù)進(jìn)行相關(guān)問(wèn)題解決的順序,然后寫(xiě)出與之相對(duì)應(yīng)的語(yǔ)句就可以了,它相應(yīng)的執(zhí)行順序主要是從上到下,依次進(jìn)行過(guò)相關(guān)的執(zhí)行的。我們對(duì)這一結(jié)構(gòu)進(jìn)行一定的舉例:假設(shè)a=3,b=5,現(xiàn)在需要進(jìn)行對(duì)于a,b的值的交換,我們對(duì)這一問(wèn)題進(jìn)行一定程度上的類比。它就好像進(jìn)行對(duì)于兩個(gè)杯子水的交換,這當(dāng)然要用到第三個(gè)杯子,假如第三個(gè)杯子是c,那么正確的程序應(yīng)該就是:c=a;a=b;b=c;那么相應(yīng)的執(zhí)行結(jié)果也就是a=5,b=c=3如果改變其相應(yīng)的順序,寫(xiě)成:a=b;c=a;b=c;那么相應(yīng)的執(zhí)行結(jié)果也就變成a=b=c=5,就不能夠取得我們之前所料想的結(jié)果,一般情況下,初學(xué)者最容易犯這種相關(guān)的錯(cuò)誤。順序結(jié)構(gòu)能夠進(jìn)行丟構(gòu)成一個(gè)簡(jiǎn)單的完整程序的相對(duì)獨(dú)立的使用,我們所比較常見(jiàn)的輸入、計(jì)算,輸出三步曲的程序就是順序結(jié)構(gòu)。
(二)選擇結(jié)構(gòu)。相應(yīng)的對(duì)于相關(guān)的選擇結(jié)構(gòu)的執(zhí)行主要是依據(jù)一定的相關(guān)的條件進(jìn)行對(duì)于相應(yīng)的執(zhí)行路徑的選擇。對(duì)于相應(yīng)的選擇結(jié)構(gòu)的程序設(shè)計(jì)方法來(lái)說(shuō),進(jìn)行對(duì)于適用性較強(qiáng)的分支條件以及與其相關(guān)的分析程序的相應(yīng)流程是最為關(guān)鍵的。同時(shí),在進(jìn)行對(duì)其相關(guān)的語(yǔ)句選擇時(shí),需要根據(jù)不同的程序流程來(lái)進(jìn)行。對(duì)于帶有較強(qiáng)的邏輯關(guān)系以及需要一定程度上的關(guān)系比較的相應(yīng)條件判斷的計(jì)算,選擇結(jié)構(gòu)是十分適合的。進(jìn)行對(duì)于這類程序的相關(guān)設(shè)計(jì)時(shí),一般情況下都需要先進(jìn)行對(duì)于相關(guān)程序流程圖的繪制。當(dāng)完成對(duì)于程序流程圖的繪制后,依據(jù)其寫(xiě)出相應(yīng)的源程序。這樣做把程序設(shè)計(jì)分析與語(yǔ)言分開(kāi),使得問(wèn)題簡(jiǎn)單化,易于理解。
(三)循環(huán)結(jié)構(gòu)。循環(huán)結(jié)構(gòu)可以進(jìn)行對(duì)于相關(guān)源程序重復(fù)書(shū)寫(xiě)的工作量的減少,用來(lái)進(jìn)行對(duì)于重復(fù)執(zhí)行某段算法的問(wèn)題的描述,這是在相應(yīng)的程序設(shè)計(jì)中最能進(jìn)行對(duì)于計(jì)算機(jī)特長(zhǎng)進(jìn)行一定程度上的表現(xiàn)以及發(fā)揮的程序結(jié)構(gòu),C語(yǔ)言中一共存在著四種循環(huán),它們分別是goto循環(huán)、while循環(huán)、do while循環(huán)以及for循環(huán)。這四種循環(huán)能夠進(jìn)行對(duì)于相同問(wèn)題的相關(guān)處理,而在一般情況下,這四種循環(huán)互相之間是可以進(jìn)行一定程度上的替換的。
(四)模塊化程序結(jié)構(gòu)
判斷語(yǔ)句(選擇結(jié)構(gòu))
循環(huán)語(yǔ)句(循環(huán)結(jié)構(gòu))
跳轉(zhuǎn)語(yǔ)句(循環(huán)結(jié)構(gòu):是否循環(huán))
if語(yǔ)句:“如果”語(yǔ)句
while語(yǔ)句:“當(dāng)…”語(yǔ)句
goto語(yǔ)句:“轉(zhuǎn)舵”語(yǔ)句
if—else語(yǔ)句:“若(則)…否則…”語(yǔ)句
do—while語(yǔ)句:“做…當(dāng)…(時(shí)候)”語(yǔ)句
break語(yǔ)句:“中斷”(循環(huán))語(yǔ)句
switch語(yǔ)句:“切換”語(yǔ)句
for語(yǔ)句:條件語(yǔ)句(即“(做)…為了…”語(yǔ)句)
continue語(yǔ)句:“繼續(xù)”語(yǔ)句(結(jié)束本次循環(huán),繼續(xù)下一次循環(huán))
switch—case:“切換情況”語(yǔ)句
return語(yǔ)句:“返回饋”語(yǔ)句
五、C語(yǔ)言的主要相關(guān)特色
C語(yǔ)言具有較為豐富的特,而相應(yīng)的指針是其主要的特色之一。而這一特色廣泛地被認(rèn)為是相應(yīng)的C語(yǔ)言的優(yōu)越性的體現(xiàn),也是它與其他語(yǔ)言相比較較為優(yōu)秀的主要原因。因?yàn)橄鄳?yīng)的指針可以較為有效的進(jìn)行對(duì)于硬件操作的直接進(jìn)行。然而它也存在著一定程度上的弊端。因?yàn)橄鄳?yīng)的C語(yǔ)言的指針操作并不進(jìn)行相應(yīng)的保護(hù),這樣一來(lái),它就有可能引起一定的安全問(wèn)題。對(duì)于這一問(wèn)題,C++進(jìn)行了一定程度上的改進(jìn),它不僅對(duì)于相關(guān)指針操作進(jìn)行了一定程度上的保留,又增加了其安全性。受到了一些用戶的支持,但是,由于這些改進(jìn)增加語(yǔ)言的復(fù)雜度,也為另一部分所詬病。Java則吸取了C++的教訓(xùn),取消了指針操作,也取消了C++改進(jìn)中一些備受爭(zhēng)議的地方,在安全性和適合性方面均取得良好的效果,但其本身解釋在虛擬機(jī)中運(yùn)行,運(yùn)行效率低于C++/C。一般而言,C,C++,java被視為同一系的語(yǔ)言,它們長(zhǎng)期占據(jù)著程序使用榜的前三名。
六、結(jié)論
隨著經(jīng)濟(jì)的迅速發(fā)展以及科學(xué)技術(shù)水平的不斷提高,計(jì)算機(jī)技術(shù)發(fā)展迅速,成為21世紀(jì)的熱門技術(shù),在很大程度上促進(jìn)生產(chǎn)力水平的提高以及經(jīng)濟(jì)的發(fā)展。C語(yǔ)言的發(fā)展還在進(jìn)行著,并且不斷趨于完善,它具有較多的優(yōu)點(diǎn)。然而,它也存在著一定程度上的弊端,相信隨著時(shí)代的發(fā)展,相應(yīng)的科學(xué)技術(shù)水平會(huì)不斷的提高,會(huì)對(duì)C語(yǔ)言的一些弊端進(jìn)行修改與完善。C語(yǔ)言的語(yǔ)法相對(duì)來(lái)說(shuō)也比較豐富,如果一個(gè)相應(yīng)的變量名之后跟著一個(gè)包含一定數(shù)字的中括號(hào),那么這個(gè)相應(yīng)的聲明就是數(shù)組聲明。對(duì)于字符串來(lái)說(shuō),它也是一種數(shù)組,它們主要是以ASCII的NUL作為數(shù)組的退出。而值得我們進(jìn)行充足的注意的是:對(duì)于方塊內(nèi)的相關(guān)的索引值主要是從0開(kāi)始算起的。它包含了指針。字符串等內(nèi)容。C語(yǔ)言有著其自身的特色。而在計(jì)算機(jī)語(yǔ)言中,C語(yǔ)言是一種十分熱門而實(shí)用的語(yǔ)言,它在很大程度上有效的便利的各個(gè)環(huán)節(jié)的操作。我們研究的課題是:計(jì)算機(jī)中C語(yǔ)言的應(yīng)用特點(diǎn)分析。計(jì)算機(jī)語(yǔ)言的內(nèi)容較為豐富,具有多種語(yǔ)言,如JAVA、VFP、C++等。而C語(yǔ)言與其他的一些高級(jí)計(jì)算機(jī)語(yǔ)言相比,有著諸多的特征與優(yōu)點(diǎn)。主要有C語(yǔ)言的運(yùn)算符具有一定的豐富性、C語(yǔ)言的相關(guān)語(yǔ)法表述具有一定的靈活性、C語(yǔ)言對(duì)于相關(guān)軟硬件的操作具有很大程度上的兼容性、C語(yǔ)言的輸入以及輸出方式具有一定的新穎性。C語(yǔ)言具有3種基本的流程圖結(jié)構(gòu),它們分別是順序結(jié)構(gòu)、選擇結(jié)構(gòu)以及循環(huán)結(jié)構(gòu)。通過(guò)對(duì)于C語(yǔ)言的這些特征以及相應(yīng)的結(jié)構(gòu)進(jìn)行較為深刻的研究,能夠有效的加深對(duì)于C語(yǔ)言的認(rèn)識(shí)。而正確的應(yīng)用這些特征,對(duì)于一些實(shí)際問(wèn)題,我們可以進(jìn)行準(zhǔn)確而有效的解決。
參考文獻(xiàn):
[1]陳斌.基于單片機(jī)的光電式葉片面積測(cè)量?jī)x[D].西北農(nóng)林科技大學(xué),2010
[2]蔡曉麗,陳舜青,丁志云.計(jì)算機(jī)C語(yǔ)言實(shí)驗(yàn)教學(xué)改革探討[J].電腦知識(shí)與技術(shù),2010,15
[3]曹鳳蓮,李英明.淺談C語(yǔ)言學(xué)習(xí)[J].網(wǎng)絡(luò)與信息,2007,6