劉劍娥
(江蘇省如皋第一中等專業(yè)學(xué)校 江蘇 如皋 226500)
計(jì)算機(jī)技術(shù)已成為各個產(chǎn)業(yè)的核心競爭力,隨著信息化進(jìn)程的加快,人們越來越多地采用計(jì)算機(jī)來進(jìn)行工作。C語言是一種常用的程序語言,看上去很簡單,但是在程序設(shè)計(jì)中起到了至關(guān)重要的作用[1]。C語言在程序設(shè)計(jì)中具有模塊化、靈活性、功能強(qiáng)大等多種優(yōu)勢,所以要根據(jù)程序設(shè)計(jì)的需要,合理地應(yīng)用指針的應(yīng)用技能、運(yùn)算方法的技能、特殊函數(shù)的應(yīng)用技能、匯編和鏈接的應(yīng)用技能,從而提高程序的使用效率,并通過多種方法和措施來提高程序的應(yīng)用。
隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,計(jì)算機(jī)軟件的使用領(lǐng)域不斷擴(kuò)大,計(jì)算機(jī)程序設(shè)計(jì)語言也迅速發(fā)展起來。C語言是由丹尼斯里奇、湯姆遜兩人基于B語言設(shè)計(jì)的編程語言,C語言的功能非常強(qiáng)大,可以通過C語言開發(fā)程序、設(shè)計(jì)電子表格,利用C語言進(jìn)行編譯、開發(fā)一些操作系統(tǒng)。自1978年以來,C語言逐漸受到人們的關(guān)注,許多計(jì)算機(jī)都將C語言移植到操作平臺中,C語言也逐漸成為主要的設(shè)計(jì)語言[2]。C語言用于計(jì)算機(jī)系統(tǒng),可以為相應(yīng)的編程工作提供有力的支撐。C語言在程序設(shè)計(jì)中占有舉足輕重的位置,是一種非常重要的語言,將高級和低級語言的優(yōu)點(diǎn)結(jié)合起來,可以很好地適應(yīng)用戶對軟件開發(fā)的要求。C語言是對低級語言的一種超越和延伸,在軟件設(shè)計(jì)和開發(fā)中起著舉足輕重的作用。C語言是當(dāng)今計(jì)算機(jī)軟件中的一種,可以被劃分為一種高級的程序語言,能夠很好地完成程序的編寫,在C語言的應(yīng)用上能夠?qū)⑸鐣Z言與計(jì)算機(jī)語言進(jìn)行轉(zhuǎn)換,使人與計(jì)算機(jī)進(jìn)行有效的溝通,從而達(dá)到對計(jì)算機(jī)的控制。C語言具備了其他語言所沒有的優(yōu)點(diǎn),在使用C語言的同時也能在一定程度上完成計(jì)算機(jī)的系統(tǒng)編寫和獨(dú)立的設(shè)計(jì)。使用C語言,也可以在不同的計(jì)算機(jī)上進(jìn)行編程,從而大大提高了工作效率。
在使用C語言進(jìn)行軟件編輯時通常采用模塊化的思維方式,首先將各模塊拆分成若干個小的單元,在各個單元完成后,再將它們組合成一個大的整體;其次,C語言的函數(shù)庫功能非常強(qiáng)大,有了完備的函數(shù)庫支持,可以在不進(jìn)行任何修改的情況下直接調(diào)用相關(guān)函數(shù),從而大大簡化了編譯過程,大大減少了錯誤率;第三,C語言中的指針是一種指派操作,能夠靈活地完成內(nèi)存的分配,并能根據(jù)變量的地址來實(shí)現(xiàn)動態(tài)的指針選??;C語言具有多種表達(dá)形式,具有很強(qiáng)的可移植性、更大的靈活性、廣泛的適用性,無需修改即可實(shí)現(xiàn)。
在編寫軟件的時候,可以利用C語言,將大的程序進(jìn)行細(xì)分,然后進(jìn)行完整的設(shè)計(jì),然后按照各個模塊的關(guān)系,進(jìn)行重新組合,最終形成一個完整的模塊。C語言中共有37個關(guān)鍵詞、9個控件。每個句子都有自己的編碼方法,在編譯的時候,所有的字母都要用小寫,而寫的方法,可以按照程序員的習(xí)慣來寫,語言簡潔、程序簡短,沒有任何限制,這樣就能減輕編程人員的工作壓力。C語言通常沒有任何與硬件有關(guān)的編程,這是一種核心語言,C語言不需要輸入和輸出,所有的輸入和輸出都是通過系統(tǒng)庫的功能實(shí)現(xiàn)的,因此C語言的編譯系統(tǒng)是很簡單的。C語言是一種新興的計(jì)算機(jī)程序設(shè)計(jì)語言,是從簡單語言的發(fā)展過程中逐步發(fā)展起來的。C語言可以進(jìn)行更高級的程序設(shè)計(jì),操作起來也比較容易,不會受到任何限制,可以根據(jù)自己的程序來使用。C語言在語法上并非受一成不變的限制,它適用于多種系統(tǒng),具有很強(qiáng)的流動性,對信息技術(shù)的發(fā)展起到了很大的作用,具有高層次和低層次編程的共同特點(diǎn),使得電腦程序設(shè)計(jì)變得更為方便,從而推動了整個信息技術(shù)的發(fā)展。
通常C語言在使用時存儲單元之間會有一些差異,但是具有相同的地址,可以存儲在一個空間中通過指針完成分配,并給出相應(yīng)的地址,動態(tài)地完成分配任務(wù)和存儲任務(wù)。同時在定義函數(shù)的時候,還可以根據(jù)指針的名稱、數(shù)值等情況,對指針進(jìn)行科學(xué)的選擇,只要能夠全面、系統(tǒng)化地掌握指針的形狀,就可以方便地調(diào)用,從而促進(jìn)編程工作的順利進(jìn)行。
C語言本身就具有很好的可編程特點(diǎn),可以根據(jù)不同的型號、不同的操作系統(tǒng)進(jìn)行修改,形成不同版本的C語言。C語言在查找錯誤時,不會檢查跨界的數(shù)組,只要程序員自己判斷程序是否正確即可。有些變數(shù)的類型是可以理解的,由于C語言具有靈活性,因此不需要對所有的語法都進(jìn)行嚴(yán)格的查找。但是,因?yàn)閲?yán)格與自由是對立的,自由就是不公平,所以,錯誤的糾正對于新來的程序員來說,并不是一件好事,因?yàn)樗麄儾荒芡耆蕾囉阱e誤糾正,這對他們來說是非常不利的。因此,在編譯時,程序員應(yīng)當(dāng)仔細(xì)參考自己的程序,這樣才能保證其精確度。
在計(jì)算機(jī)的設(shè)計(jì)中C語言的使用非常得心應(yīng)手,C語言運(yùn)算能力非常強(qiáng),包含了三十多種不同的運(yùn)算符號,可以根據(jù)開發(fā)的特點(diǎn)和需求,通過各種不同的表達(dá)形式,根據(jù)不同的情況,進(jìn)行不同的計(jì)算和處理。其次,C語言的功能更強(qiáng),開發(fā)過程中相關(guān)的工作人員會積極地使用C語言,根據(jù)軟件的特性,開發(fā)出不同的函數(shù)庫,在編輯的過程中不需要重新定義函數(shù)的內(nèi)容,在調(diào)用的過程中可以通過編輯的命令,將函數(shù)與其他文件進(jìn)行匹配,從而簡化代碼的編寫,減少編程錯誤的出現(xiàn)。C語言中一共有34個操作符,其中括號、等號、強(qiáng)迫變換都是C語言中的操作符,因此C語言的操作范圍很廣。隨著運(yùn)算符的增加,C語言的表現(xiàn)形式也越來越多,運(yùn)算類型也越來越多。運(yùn)算子不僅可以進(jìn)行一些比較簡單的操作,而且只要掌握了它的用法,許多在高級語言中是無法實(shí)現(xiàn)的。C語言在編譯時首先要將程序分割成塊,然后進(jìn)行編譯,所以C語言是一個模塊化和結(jié)構(gòu)化的語言。
每一種函數(shù)都具有特定的函數(shù),在C語言的開發(fā)過程中都會對函數(shù)的函數(shù)進(jìn)行相應(yīng)的處理,所以在定義函數(shù)時必須對函數(shù)名、返回值類型和參數(shù)名進(jìn)行定義。比如,當(dāng)你在一個程序上使用sqrt功能時,頭部必須包括C語言,這樣程序就可以正常工作。
指針是一種特殊類型的變數(shù),由指針名稱、指針類型、指針數(shù)值組成。在程序設(shè)計(jì)中使用指針可以構(gòu)造變量和控制分配之間的關(guān)系,這對于程序的可用性具有很大的影響。C語言指針是一種很難實(shí)現(xiàn)的程序設(shè)計(jì),因此,程序員需要熟練地運(yùn)用,并能靈活地利用指針進(jìn)行編程。程序員必須能夠理解指針的類型和名稱[3]。此外,程序員在使用C語言時要靈活運(yùn)用C語言的功能,可以準(zhǔn)確地定義函數(shù),并按照程序流程和公式充實(shí)程序的內(nèi)容。在編程時編程人員要能把功能的名字與品質(zhì)的指令聯(lián)系起來,要在適當(dāng)?shù)那闆r下,確定二進(jìn)制的對象,科學(xué)地將程序文件和數(shù)據(jù)文件歸類,以便日后查找所需的資料,從而提高工作效率。在程序設(shè)計(jì)期間,當(dāng)數(shù)組a[i]中的陣列被取得時一般都是先計(jì)算出相應(yīng)的內(nèi)存地址,然后再進(jìn)行有效的讀取。這個過程很復(fù)雜,需要反復(fù)計(jì)算,才能得到相應(yīng)的數(shù)據(jù)。采用指針變量直接指向數(shù)組中的元素,這種方法可以有效地避免一次計(jì)算轉(zhuǎn)換,從而達(dá)到直接轉(zhuǎn)換的目的。就像是指針p指向了a,可以使用p++來獲得組中的地址,在此期間*p還可以獲得組中的全部數(shù)據(jù),這將大大加快程序的速度。
在C語言中位操作是非常重要的。基于二進(jìn)制操作是以二進(jìn)制比特操作為基礎(chǔ),其特殊性和唯一性是計(jì)算機(jī)程序設(shè)計(jì)的一個重要保證。在執(zhí)行程序的時候,程序文件起到了很大的作用,主要功能是查詢數(shù)據(jù),提高計(jì)算效率,并且可以在文檔中直接保存程序。在總體上進(jìn)行編程時算法是整個設(shè)計(jì)的中心,通過對算法的掌握能夠掌握編程技術(shù)。在實(shí)現(xiàn)特定算法的過程中可以使用流程圖,同時還需要對流程圖進(jìn)行全面的理解。
在C語言和匯編語言的連接中也要處理好模塊連接、調(diào)用關(guān)系、參數(shù)關(guān)系等問題。在這種情況下,采用堆疊模式是比較合理的,也是計(jì)算機(jī)編程人員普遍采用的一種方法。在特定的連接過程中要以反序多為呼叫次序,決定呼叫與呼叫之間的關(guān)系,遵循函式與變數(shù)的命名規(guī)約,并做好程式模組的連通性與共融性,保證各語種在同一儲存模式下。
在編寫程序的時候,使用C語言,既要符合程序的要求,又要減少程序的難度,這樣才能提高程序的工作效率。此外,C語言與程序設(shè)計(jì)語言的有效結(jié)合可以將整個C語言綜合起來。比如,C語言的源代碼,可以使用匯編語句,經(jīng)常使用“{}”來進(jìn)行有效的擴(kuò)展。
在優(yōu)化技術(shù)中函數(shù)調(diào)用是一個非常關(guān)鍵的問題。尤其是當(dāng)主函式呼叫子函式時通常都是將主函式中的參數(shù)和所呼叫子函式的位置點(diǎn),,則在編譯時將整個結(jié)構(gòu)體拷貝至堆疊中造成空間資源消耗過多,增加系統(tǒng)負(fù)荷。為了解決這一問題,程序員可以通過調(diào)整結(jié)構(gòu)指針的方法來提高程序的效率和質(zhì)量,比如,在C語言中可以調(diào)用庫函數(shù)。需要指出的是,盡管該方法能夠提高工作效率,但由于標(biāo)準(zhǔn)庫中的函數(shù)代碼范圍較大,因此在執(zhí)行過程中會產(chǎn)生大量冗余,這要求程序員在程序設(shè)計(jì)時充分考慮功能的廣泛和適應(yīng)性。例如,在庫函數(shù)中需要大量的代碼來處理整數(shù)操作,并且非常占用空間,程序員可以根據(jù)自己的需求來修改這些操作。C語言編譯程序會把整個結(jié)構(gòu)從整體上拷貝到堆棧。這樣的操作,會讓堆疊的空間變得非常大,經(jīng)常會給系統(tǒng)帶來巨大的負(fù)擔(dān)。若不能很好地解決這個問題,會給整個系統(tǒng)帶來相當(dāng)大的負(fù)荷,因此可以利用結(jié)構(gòu)指針來有效地解決這個問題。同時C語言中的大量標(biāo)準(zhǔn)庫也是為了提高程序的效率,這些標(biāo)準(zhǔn)庫在使用的時候,都會考慮到的實(shí)用性,從而導(dǎo)致程序的代碼量越來越大,并且存在著嚴(yán)重的缺陷。如果程序員在編程時在庫函數(shù)調(diào)用中進(jìn)行浮點(diǎn)運(yùn)算,然后再進(jìn)行相應(yīng)的功能,那么,在實(shí)際操作中其工作效率就會大大提高。
在編程時使用循環(huán)語句或優(yōu)化循環(huán)語句,可以有效提高系統(tǒng)的整體性能和運(yùn)行效率。這樣的循環(huán)聲明中的變量可以被定義為一個寄存器,此時的變量可以在C語言PU的寄存器中運(yùn)行,這樣就不占用內(nèi)存了,并且可以提高運(yùn)行速度。當(dāng)然,在使用的過程中也有一些問題,那就是函數(shù)中的寄存器數(shù)量太少,如果寄存器數(shù)量太少,就會造成C語言PU性能降低。另外,程序設(shè)計(jì)者在編寫代碼時要對循環(huán)變量進(jìn)行過濾,把多余的操作放到循環(huán)中從而提高循環(huán)語句的運(yùn)行效率。而且在設(shè)定的時候,也會出現(xiàn)一個長周期的問題,為了達(dá)到科學(xué)的設(shè)定,最大的周期應(yīng)該是在最里面,然后根據(jù)這個規(guī)則,建立一個多層的循環(huán)。
在計(jì)算機(jī)軟件編輯當(dāng)中調(diào)用一個函數(shù),傳遞所需的參數(shù),當(dāng)函數(shù)返回一個值,存儲返回值,例如:#include
C語言編程技術(shù)當(dāng)中的變量定義能夠令編譯器明確創(chuàng)建變量的存儲位置,以及進(jìn)行創(chuàng)建變量的存儲,表現(xiàn)形式為:type variable_list;而在計(jì)算機(jī)軟件程序當(dāng)中變量應(yīng)用,例如:#include
通過C語言算法在計(jì)算機(jī)軟件程序當(dāng)中的應(yīng)用,可以實(shí)現(xiàn)許多功能,以排序功能為例,在C語言算法中存在著許多的應(yīng)用,包括但不限于快速排序、歸并排序、希爾排序等等,以快速排序算法的遞歸法代碼為例:void swap(int*x,int*y){int t=*x;*x=*y;*y=t;}void quick_sort_recursive(int arr[],int start,int end){if(start>=end)return;int mid=arr[end];int left=start,right=end-1;while(left
利用C語言進(jìn)行編程可以提高程序的設(shè)計(jì)質(zhì)量和效率,從而達(dá)到提高程序設(shè)計(jì)的目的。C語言是一種非常重要的程序設(shè)計(jì)語言,在實(shí)際工作中被廣泛應(yīng)用,因此在計(jì)算機(jī)程序設(shè)計(jì)的工作中C語言可以提高工作效率,簡化運(yùn)行方式,提高工作質(zhì)量。