摘 要:在計(jì)算機(jī)語言,C語言發(fā)揮著重要的基礎(chǔ)性作用,并且廣泛應(yīng)用于計(jì)算機(jī)各類軟件編程中。為此,該文首先對C語言的相關(guān)內(nèi)容進(jìn)行了概述,并從C語言的編程技巧、C語言和匯編語言混合的程度設(shè)計(jì)案例、多項(xiàng)式除法的程序模擬設(shè)計(jì)案例等方面開展C語言的計(jì)算機(jī)軟件編程實(shí)驗(yàn)研究,以期促進(jìn)計(jì)算機(jī)軟件編程技術(shù)的進(jìn)步發(fā)展。
關(guān)鍵詞:C語言 計(jì)算機(jī)軟件編程 實(shí)驗(yàn)研究
中圖分類號:TP312 文獻(xiàn)標(biāo)識碼:A 文章編號:1674-098X(2015)04(b)-0045-01
1 C語言及其相關(guān)內(nèi)容概述
1967年,英國MartinRichards推出BCPL。三年后,美國Ken Thompson在BCPL的基礎(chǔ)上推出了B語言。為彌補(bǔ)B語言功能有限、語言簡單的缺點(diǎn),1973年,在相關(guān)研究的推動下,C語言推出,隨后美國貝爾實(shí)驗(yàn)室對其進(jìn)行了完善。對計(jì)算機(jī)編程語言來說,作為一門高級語言,C語言在計(jì)算機(jī)語言中發(fā)揮著基礎(chǔ)性作用。C語言具有簡潔緊湊、靈活性較高等優(yōu)點(diǎn),并且沒有嚴(yán)格限制的語法,也就說程序員在運(yùn)用C語言進(jìn)行程序設(shè)計(jì)時(shí),可以在高級語言和低級語言之間自由轉(zhuǎn)換。除了編寫系統(tǒng)軟件外,C語言也可以對應(yīng)用軟件進(jìn)行編寫,并且在各種操作系統(tǒng)內(nèi)廣泛應(yīng)用,可以快捷地進(jìn)行移植??偠灾?,在當(dāng)前的信息技術(shù)發(fā)展中,C語言發(fā)揮著不可取代的作用和地位。
2 基于C語言的計(jì)算機(jī)軟件編程實(shí)驗(yàn)研究
2.1 編程技巧
2.1.1靈活運(yùn)用指針
在C語言編程過程中,指針是一種特殊的變量,不僅有助于程序員對程序設(shè)計(jì)中復(fù)雜問題的表達(dá),也是其解決這些問題的關(guān)鍵。因此,應(yīng)當(dāng)對指針有著充分的認(rèn)識和掌握。指針一般可以分為指針名稱、指針類型、指針值等三個(gè)要素。在編程過程中,指針等同于一般變量,不過在類型以及值上存在差異。此外,指針不但能對數(shù)組進(jìn)行表示,還能夠充當(dāng)函數(shù)中的參數(shù)返回值。
2.2 C語言的特有函數(shù)
C語言編程時(shí),有時(shí)會用到部分特有函數(shù)。函數(shù)名往往能體現(xiàn)函數(shù)自身的功能。定義函數(shù)過時(shí),函數(shù)的名稱、參數(shù)名以及返回值的類型都要由程序員來定義。通常C語言翻譯系統(tǒng)會提供庫函數(shù),并定義好函數(shù)的名稱,因此在調(diào)用程序時(shí),程序員只需借助“#include指令”,在所用文件中納入與之相關(guān)的頭文件即可。比如在運(yùn)行程序時(shí),當(dāng)使用了sqrt函數(shù),為保證程序的運(yùn)行,應(yīng)將#include“string.h”納入頭文件。
2.3 算法技巧
在設(shè)計(jì)程序時(shí),算法可以稱得上程序的靈魂。對此,必須對算法技巧充分掌握。一般情況下,可以自然語言和流程圖都可以用來表示算法。不過,當(dāng)借助于后者來表示算法時(shí),程序設(shè)計(jì)人員應(yīng)牢記常用流程圖的符號。并且考慮到數(shù)學(xué)在計(jì)算機(jī)中的地位,為了促使編程效率的提升,程序設(shè)計(jì)員還需具有較高的數(shù)學(xué)素養(yǎng)。
2.4 位運(yùn)算以及文件知識
在C語言中,位運(yùn)算具有唯一性,其重要性要超過其他高級語言下的運(yùn)算。位運(yùn)算的對象是二進(jìn)制位,并且在進(jìn)行各種運(yùn)算時(shí)結(jié)合有關(guān)程序。另外,文件在計(jì)算機(jī)中具有不可替代的重要位置,通常包含程序文件和數(shù)據(jù)文件兩類。在實(shí)施編程處理的過程,程序設(shè)計(jì)員在文件中存儲編寫的程序,對有效查找數(shù)據(jù)十分有幫助。
3 C語言和匯編語言混合的程序設(shè)計(jì)案例分析
3.1 混合的軟件編程方法
當(dāng)前信息技術(shù)發(fā)展迅速,為提高程序開發(fā)效率,技術(shù)人員在開發(fā)軟件時(shí),通常會使用兩種類型的語言來進(jìn)行混合編程。一般來說,常采用以下兩種方法:
(1)在C語言程序中嵌入?yún)R編語句。要完成這一操作,應(yīng)當(dāng)借助于大括號來將嵌入的程序括起來。
對于本次實(shí)驗(yàn),程序嵌入存在固定的各式,也就是加上關(guān)鍵字“asm”。不過在嵌入程序時(shí),需要注意以下方面:首先就是將asm置于指令代碼前面,并且不能遺漏C語言的分隔符號。同時(shí),在對C語言進(jìn)行匯編語言嵌入時(shí),應(yīng)當(dāng)加上注釋分界符號。
(2)首先對C語言程序包括匯編程序進(jìn)行編寫,在翻譯目標(biāo)代碼之后再實(shí)行鏈接。程序設(shè)計(jì)員對進(jìn)行獨(dú)立編程時(shí),需要對每一個(gè)模塊的特征以及相關(guān)的語言編程系統(tǒng)予以考慮,在形成、連接目標(biāo)文件之后才可以執(zhí)行文件。同時(shí),設(shè)計(jì)人員在混合編程時(shí),應(yīng)當(dāng)注意參數(shù)的傳遞問題、存儲模式、子程序的返回值問題等方面。一般情況下,C語言程序和調(diào)用的子程序共用一個(gè)堆棧,所以匯編語言子程序應(yīng)當(dāng)執(zhí)行sp和push bp pop bp這兩個(gè)指令。
3.2 混合的軟件編程實(shí)例分析
在5個(gè)數(shù)中找到最小數(shù)是程序的關(guān)鍵功能,組成部分包括匯編子程序和主程序。其中,主程序的編寫建立在C語言上,匯編語言則是匯編子程序進(jìn)行編寫的基礎(chǔ)。主程序在對最小數(shù)尋找中將調(diào)用匯編子程序。
以上結(jié)合C語言和匯編語言來進(jìn)行混合編程的手段,可以促進(jìn)程序高速運(yùn)行。不過,在運(yùn)行過程中,由于程序設(shè)計(jì)語言之間具有外部接口,所以能夠達(dá)到外部調(diào)用的效果。
3.3 C語言多項(xiàng)式除法的程序模擬設(shè)計(jì)案例分析
計(jì)算機(jī)軟件編程實(shí)驗(yàn)中,根據(jù)C語言實(shí)行循環(huán)校驗(yàn)碼需要一定的設(shè)計(jì)流程,具體如下:
程序的函數(shù)名為polydin;CRC.H是函數(shù)原型位置;CRC.LIB則是函數(shù)數(shù)據(jù)庫。之后程序設(shè)計(jì)員基于C語言來設(shè)計(jì)函數(shù)計(jì)算,并將余數(shù)存儲在文件remainder內(nèi)。
4 結(jié)語
當(dāng)前,信息技術(shù)日新月異,人們對計(jì)算機(jī)軟件編程的要求越來越高,同時(shí)建立在C語言上的計(jì)算機(jī)軟件的功能的確還存在一定的開發(fā)潛力,所以,很有必要加強(qiáng)基于C語言的計(jì)算機(jī)軟件編程實(shí)驗(yàn)研究,以促進(jìn)軟件開發(fā)工作的不斷發(fā)展。
參考文獻(xiàn)
[1]侯宏霞.提高“匯編語言”課程實(shí)驗(yàn)教學(xué)質(zhì)量的幾點(diǎn)思考[J].內(nèi)蒙古農(nóng)業(yè)大學(xué)學(xué)報(bào)(社會科學(xué)版),2011(1):25-26.
[2]劉海峰.以培養(yǎng)實(shí)踐能力為導(dǎo)向的“C語言”教學(xué)方法探討[J].科技經(jīng)濟(jì)市場,2011(12):33-34.