芻議Linux系統(tǒng)下的計算機(jī)C語言編程技巧
王 萍
(鎮(zhèn)江高等職業(yè)技術(shù)學(xué)校,江蘇 鎮(zhèn)江 212016)
摘要:計算機(jī)C語言已經(jīng)在國際上得到了廣泛的流行,它是一種多程序編輯的基礎(chǔ)語言。隨著社會上對計算機(jī)C語言技術(shù)要求的不斷提高,怎樣加強(qiáng)在Linux系統(tǒng)下的計算機(jī)C語言編程技巧的提高,是目前一個非常嚴(yán)峻的問題,該文就對其進(jìn)行了詳細(xì)的探討。
關(guān)鍵詞:Linux系統(tǒng);計算機(jī);C語言;編程技巧
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2014)13-2989-02
Linux操作系統(tǒng)是UNIX操作系統(tǒng)的一種克隆系統(tǒng),它誕生于1991 年的10 月5 日(這是第一次正式向外公布的時間),以后借助于Internet網(wǎng)絡(luò),并通過全世界各地計算機(jī)愛好者的共同努力,已成為今天世界上使用最多的一種UNIX 類操作系統(tǒng),并且使用人數(shù)還在迅猛增長。Linux是一套免費使用和自由傳播的類Unix操作系統(tǒng),是一個基于POSIX和UNIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng),它能運行主要的UNIX工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議,目前其操作性非常穩(wěn)定,并且已經(jīng)在我們實際生活中的很多方面得到了廣泛應(yīng)用,該文就分析了Linux系統(tǒng)下的計算機(jī)C語言怎樣進(jìn)行編程?在編程過程中有哪些技巧?從而為大家更好地學(xué)習(xí)Linux系統(tǒng)下的計算機(jī)C語言提供一些幫助。
1 學(xué)習(xí)C語言的意義
隨著近幾年計算機(jī)C語言技術(shù)的不斷發(fā)展,以及計算機(jī)技術(shù)在各個領(lǐng)域的不斷應(yīng)用,C語言也在發(fā)生著非常大的變化,因此,美國國家標(biāo)準(zhǔn)研究所(ANSI)為了在最大程度上降低C語言通用性的阻礙,專門制定了統(tǒng)一的C語言標(biāo)準(zhǔn),目前已經(jīng)在很多國家得到了廣泛應(yīng)用。C語言具有非常強(qiáng)大的功能,一方面可以用來進(jìn)行一些系統(tǒng)軟件方面的編寫,另一方面,還可以進(jìn)行一些應(yīng)用軟件方面的編寫,而且隨著計算機(jī)技術(shù)的不斷發(fā)展,已經(jīng)在各行各業(yè)得到了廣泛應(yīng)用,因此,C語言強(qiáng)大的程序編輯功能在幫助人們學(xué)習(xí)、工作以及生活方面起著非常重要的意義。尤其是對那些以后要從事計算機(jī)C語言方面工作的人來說,學(xué)好C語言編寫程序能夠?qū)⒐ぷ髯兊煤唵?、高效,因此,學(xué)好C語言編程對將來的工作以及自己的發(fā)展來說都具有非常重要的意義。
2 Linux系統(tǒng)下的計算機(jī)C語言編程技巧
對于計算機(jī)C語言的初學(xué)者來說,C語言需要消耗很大的體力,學(xué)習(xí)C語言是不能只靠理論的,這需要一系列的親身實踐和上機(jī)訓(xùn)練來完成學(xué)習(xí)的過程,才能將C語言掌握的更好,寫出更加完美的程序。書面計算機(jī)程序是需要實踐來驗證的,能在計算機(jī)上運行出來的程序才能說是正確的。C語言的主程序運行的流程圖(如圖1所示),從圖1的語言編程的流程圖上不難看出,我們在進(jìn)行書面編寫程序是時,并不能輕易地發(fā)現(xiàn)程序中存在的漏洞,一個有效的、能夠正常運行的程序是需要通過計算機(jī)的電子檢驗的。因此,C語言的學(xué)習(xí)過程也就是上機(jī)練習(xí)的過程,將程序放到計算機(jī)上進(jìn)行運行,再運用自已經(jīng)學(xué)習(xí)到的理論知識,兩者結(jié)合起來進(jìn)行長期的練習(xí),這樣經(jīng)過經(jīng)驗的積累就能夠熟練地掌握C語言程序編輯的技巧。以下就簡單地分析C語言程序的編輯技巧:
圖1 C語言主程序流程圖
2.1 重視示例程序
在我們學(xué)習(xí)的過程中,理論知識的學(xué)習(xí)都是通過學(xué)習(xí)一些示例來完成的,在學(xué)習(xí)一個新知識的開始,將知識點通過示例的方式展示出來,我們通過模仿示例來進(jìn)行知識的理解,最后逐漸形成了自己的思考模式,我們在進(jìn)行程序的編輯時,最常用到的就是數(shù)據(jù)結(jié)構(gòu),在編輯相關(guān)的程序之前,我們需要了解各種數(shù)據(jù)結(jié)構(gòu)的第一個算法的源程序,為數(shù)據(jù)結(jié)構(gòu)在編輯程序上的正確應(yīng)用打下堅實基礎(chǔ),而真正透徹地對數(shù)據(jù)結(jié)構(gòu)進(jìn)行了解則是正確運用數(shù)據(jù)結(jié)構(gòu)對程序進(jìn)行編輯的前提條件。另外,在對自己需要的程序進(jìn)行編輯之前,組要通過相應(yīng)的實例進(jìn)行不斷的模仿,從而能夠?qū)Τ绦蚓庉嬎璧牟襟E有大體上的了解,針對示例程序中的一些命令的相關(guān)掌握程度,還能夠在腦海中可以形成一種編寫程序的固定思路,從而在遇到類似程序編寫時,就可以通過腦海中的固定思路來進(jìn)行編寫,這將會在最大程度上有利于完成程序編寫。
2.2 善于使用GCC編譯器編譯源程序
GNU項目編譯器中一個非常重要的具有代表性的組件就是GCC,因此,可以說在Linux系統(tǒng)下,學(xué)好計算機(jī)C語言編程程序的重要基礎(chǔ)就是能夠充分掌握好GCC編譯器編譯源程序相關(guān)的方法,因此,必須要學(xué)會怎樣靈活使用GNU的GCC編譯器,從而能夠更好的去進(jìn)行C語言源程序,其中GCC編譯器主要的選項表現(xiàn)在以下三個方面:一是,要求輸出可以進(jìn)行執(zhí)行文件名用-o選項來表示;二是,要求編譯器需要將相應(yīng)的目標(biāo)代碼輸出時,用-c選項來表示;三是,要求編譯器在進(jìn)行編譯時,需要將程序以后在進(jìn)行相關(guān)調(diào)試信息提供時,用-g選項來表示,因此,只要學(xué)習(xí)者能夠?qū)⒁陨先N選項充分掌握好,就能夠獨立的進(jìn)行一些比較簡單一點的源程序,這也是能夠正確使用編譯源程序最根本的基礎(chǔ),另外,在進(jìn)行一些比較困難的源程序時,在掌握這三項的基礎(chǔ)上還要掌握更多地選項,我們就以一個簡單的例子來說明,現(xiàn)在有一個test.c的源程序為:
#include< stdio.h >
int main ()
{
printf (“Hello,this is a test?。躰”)
return 0;
}
然后在參照上面的內(nèi)容,選擇用gcc命令來對上面的程序進(jìn)行編譯。
[root@localhost]# gcc o test test.c
[root@localhost]#./test
Hello,his is a test!
從簡單的方面來說,該源程序只要在命令下進(jìn)行執(zhí)行:gcc -o test test.c就可以進(jìn)行編譯程序,并且GCC編譯器就能夠自動生成一個test的執(zhí)行文件,然后在經(jīng)過執(zhí)行./test之后,就可以將該源程序的最終解決得出。
2.3 多上機(jī)練習(xí)程序編寫
隨著計算機(jī)技術(shù)應(yīng)用范圍的不斷擴(kuò)大,需要真正具有一定動手能力的人才,而不僅僅是理論知識非常強(qiáng)的人,尤其是在計算機(jī)C語言程序?qū)W習(xí)方面,更要加強(qiáng)上機(jī)練習(xí),這也是能夠真正學(xué)會并提高計算機(jī)C語言程序編程能力的唯一措施。目前我國的C語言等級考試中,上機(jī)考試占到了七成,筆試僅僅只占三成,由此可見,上機(jī)練習(xí)對于學(xué)好C語言來說是多么的重要,而且C語言的程序編寫大部分都是需要在計算機(jī)上才能完成,所以,在Linux系統(tǒng)下,學(xué)好計算機(jī)C語言編程的一個非常重要的技巧就是多進(jìn)行上機(jī)練習(xí),加強(qiáng)理論跟實際之間的聯(lián)系,這主要是因為上機(jī)練習(xí)不僅僅是對學(xué)到的理論知識和C語言基礎(chǔ)知識的一種實際應(yīng)用,最重要的還是能夠在編寫過程中發(fā)現(xiàn)很多理論知識掌握不好的地方,進(jìn)而能夠使學(xué)生們更具有針對性的進(jìn)行學(xué)習(xí)和練習(xí),從而能夠使學(xué)生們講理論知識掌握的更牢固,這將會在最大程度上使學(xué)生們C語言編程能力得到提高,從而對學(xué)習(xí)計算機(jī)C語言程序編程充滿興趣,而且最主要的還是,在多次的上機(jī)練習(xí)過程中,能夠幫助學(xué)生們找到編寫C語言程序的感覺,再加上每次的聯(lián)系就會變得越來越熟練,從而達(dá)到提高C語言程序編輯能力的目的。
2.4 加強(qiáng)程序調(diào)試
在進(jìn)行C語言程序編寫過程中,經(jīng)常會出現(xiàn)各種各樣的錯誤,并且很多時候編寫的程序不能一次就能成功,因此,就需要對編寫的程序進(jìn)行相應(yīng)的調(diào)試,這也是程序編寫過程中的一個非常重要的步驟。在Linux系統(tǒng)下有一個叫g(shù)db的GNU調(diào)試程序,其中g(shù)db最主要的作用就是作為強(qiáng)力調(diào)試器來對C和C++程序進(jìn)行調(diào)試的,它能夠在程序運行時對立面的結(jié)構(gòu)和內(nèi)存使用情況進(jìn)行詳細(xì)的觀察。
程序gdb在運行后,我們會在屏幕上看到這樣的內(nèi)容:
GOB is free software and you are welcome to distribute copies of it
under certain conditions;type”show copying”to see the conditions
There is absolutely no warranty for GDB;type” show warranty" for
Details.
GDB 4.13 (i481-alak-linux),
(gdb)
在對gdb進(jìn)行啟動后,還可以在命令行上對多個選項進(jìn)行指定,當(dāng)然還可以用下面的方式來進(jìn)行g(shù)db: (下轉(zhuǎn)第2995頁)
(上接第2990頁)
gdb
在選擇以這種方式對gdb進(jìn)行運行時,就可以根據(jù)自己的需求來指定相應(yīng)的那種類型的調(diào)試程序,操作起來就顯得更加簡便。
2.5 重視綜合知識的運用
在進(jìn)行計算機(jī)C語言程序編寫時,需要借助大量的各個方面的知識來進(jìn)行,比如指針、結(jié)構(gòu)以及函數(shù)等等,因此,在對計算機(jī)C語言進(jìn)行實際工作上的編寫過程中,就需要將這些方面的知識進(jìn)行綜合考慮,選擇最合理、最有效的運用,從而使編寫出來的程序更加完美。除此之外,對于不同的C語言結(jié)構(gòu)來說,還可以在編寫同一個C語言程序時同時執(zhí)行,這些必須在順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)以及選擇結(jié)構(gòu)的目的,而且在對計算機(jī)C語言程序進(jìn)行編寫時,一定要注意對綜合指示燈的靈活運用,只有將這些相關(guān)的知識進(jìn)行科學(xué)有效的整合,才能編寫出相關(guān)的執(zhí)行命令,從而能夠使C語言程序編寫的更加完美,從而在最大程度上提高對計算機(jī)C語言編寫的技巧,使C語言程序編寫的效果達(dá)到最佳。
3 結(jié)論
隨著計算機(jī)技術(shù)的不斷發(fā)展,已經(jīng)在各行各業(yè)得到了廣泛的應(yīng)用,這給人們的工作和生活帶來了非常大的幫助,從而對計算機(jī)C語言程序編輯提出了更高的要求,因此,加強(qiáng)在Linux系統(tǒng)下的計算機(jī)C語言編程技巧,從而在最大程度上提高C語言程序編輯的效果。
參考文獻(xiàn):
[1] 王曉明.計算機(jī)C語言編輯程序探討[J].長春教育學(xué)院學(xué)報,2014(3).
[2] 付欣.關(guān)于計算機(jī)C語言編輯程序技巧探究[J].中國外資,2013(12).
[3] 何先波.Linux操作系統(tǒng)中通用雙向循環(huán)鏈表的實現(xiàn)分析[J].西華師范大學(xué)學(xué)報:自然科學(xué)版, 2012(2).
Hello,his is a test!
從簡單的方面來說,該源程序只要在命令下進(jìn)行執(zhí)行:gcc -o test test.c就可以進(jìn)行編譯程序,并且GCC編譯器就能夠自動生成一個test的執(zhí)行文件,然后在經(jīng)過執(zhí)行./test之后,就可以將該源程序的最終解決得出。
2.3 多上機(jī)練習(xí)程序編寫
隨著計算機(jī)技術(shù)應(yīng)用范圍的不斷擴(kuò)大,需要真正具有一定動手能力的人才,而不僅僅是理論知識非常強(qiáng)的人,尤其是在計算機(jī)C語言程序?qū)W習(xí)方面,更要加強(qiáng)上機(jī)練習(xí),這也是能夠真正學(xué)會并提高計算機(jī)C語言程序編程能力的唯一措施。目前我國的C語言等級考試中,上機(jī)考試占到了七成,筆試僅僅只占三成,由此可見,上機(jī)練習(xí)對于學(xué)好C語言來說是多么的重要,而且C語言的程序編寫大部分都是需要在計算機(jī)上才能完成,所以,在Linux系統(tǒng)下,學(xué)好計算機(jī)C語言編程的一個非常重要的技巧就是多進(jìn)行上機(jī)練習(xí),加強(qiáng)理論跟實際之間的聯(lián)系,這主要是因為上機(jī)練習(xí)不僅僅是對學(xué)到的理論知識和C語言基礎(chǔ)知識的一種實際應(yīng)用,最重要的還是能夠在編寫過程中發(fā)現(xiàn)很多理論知識掌握不好的地方,進(jìn)而能夠使學(xué)生們更具有針對性的進(jìn)行學(xué)習(xí)和練習(xí),從而能夠使學(xué)生們講理論知識掌握的更牢固,這將會在最大程度上使學(xué)生們C語言編程能力得到提高,從而對學(xué)習(xí)計算機(jī)C語言程序編程充滿興趣,而且最主要的還是,在多次的上機(jī)練習(xí)過程中,能夠幫助學(xué)生們找到編寫C語言程序的感覺,再加上每次的聯(lián)系就會變得越來越熟練,從而達(dá)到提高C語言程序編輯能力的目的。
2.4 加強(qiáng)程序調(diào)試
在進(jìn)行C語言程序編寫過程中,經(jīng)常會出現(xiàn)各種各樣的錯誤,并且很多時候編寫的程序不能一次就能成功,因此,就需要對編寫的程序進(jìn)行相應(yīng)的調(diào)試,這也是程序編寫過程中的一個非常重要的步驟。在Linux系統(tǒng)下有一個叫g(shù)db的GNU調(diào)試程序,其中g(shù)db最主要的作用就是作為強(qiáng)力調(diào)試器來對C和C++程序進(jìn)行調(diào)試的,它能夠在程序運行時對立面的結(jié)構(gòu)和內(nèi)存使用情況進(jìn)行詳細(xì)的觀察。
程序gdb在運行后,我們會在屏幕上看到這樣的內(nèi)容:
GOB is free software and you are welcome to distribute copies of it
under certain conditions;type”show copying”to see the conditions
There is absolutely no warranty for GDB;type” show warranty" for
Details.
GDB 4.13 (i481-alak-linux),
(gdb)
在對gdb進(jìn)行啟動后,還可以在命令行上對多個選項進(jìn)行指定,當(dāng)然還可以用下面的方式來進(jìn)行g(shù)db: (下轉(zhuǎn)第2995頁)
(上接第2990頁)
gdb
在選擇以這種方式對gdb進(jìn)行運行時,就可以根據(jù)自己的需求來指定相應(yīng)的那種類型的調(diào)試程序,操作起來就顯得更加簡便。
2.5 重視綜合知識的運用
在進(jìn)行計算機(jī)C語言程序編寫時,需要借助大量的各個方面的知識來進(jìn)行,比如指針、結(jié)構(gòu)以及函數(shù)等等,因此,在對計算機(jī)C語言進(jìn)行實際工作上的編寫過程中,就需要將這些方面的知識進(jìn)行綜合考慮,選擇最合理、最有效的運用,從而使編寫出來的程序更加完美。除此之外,對于不同的C語言結(jié)構(gòu)來說,還可以在編寫同一個C語言程序時同時執(zhí)行,這些必須在順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)以及選擇結(jié)構(gòu)的目的,而且在對計算機(jī)C語言程序進(jìn)行編寫時,一定要注意對綜合指示燈的靈活運用,只有將這些相關(guān)的知識進(jìn)行科學(xué)有效的整合,才能編寫出相關(guān)的執(zhí)行命令,從而能夠使C語言程序編寫的更加完美,從而在最大程度上提高對計算機(jī)C語言編寫的技巧,使C語言程序編寫的效果達(dá)到最佳。
3 結(jié)論
隨著計算機(jī)技術(shù)的不斷發(fā)展,已經(jīng)在各行各業(yè)得到了廣泛的應(yīng)用,這給人們的工作和生活帶來了非常大的幫助,從而對計算機(jī)C語言程序編輯提出了更高的要求,因此,加強(qiáng)在Linux系統(tǒng)下的計算機(jī)C語言編程技巧,從而在最大程度上提高C語言程序編輯的效果。
參考文獻(xiàn):
[1] 王曉明.計算機(jī)C語言編輯程序探討[J].長春教育學(xué)院學(xué)報,2014(3).
[2] 付欣.關(guān)于計算機(jī)C語言編輯程序技巧探究[J].中國外資,2013(12).
[3] 何先波.Linux操作系統(tǒng)中通用雙向循環(huán)鏈表的實現(xiàn)分析[J].西華師范大學(xué)學(xué)報:自然科學(xué)版, 2012(2).
Hello,his is a test!
從簡單的方面來說,該源程序只要在命令下進(jìn)行執(zhí)行:gcc -o test test.c就可以進(jìn)行編譯程序,并且GCC編譯器就能夠自動生成一個test的執(zhí)行文件,然后在經(jīng)過執(zhí)行./test之后,就可以將該源程序的最終解決得出。
2.3 多上機(jī)練習(xí)程序編寫
隨著計算機(jī)技術(shù)應(yīng)用范圍的不斷擴(kuò)大,需要真正具有一定動手能力的人才,而不僅僅是理論知識非常強(qiáng)的人,尤其是在計算機(jī)C語言程序?qū)W習(xí)方面,更要加強(qiáng)上機(jī)練習(xí),這也是能夠真正學(xué)會并提高計算機(jī)C語言程序編程能力的唯一措施。目前我國的C語言等級考試中,上機(jī)考試占到了七成,筆試僅僅只占三成,由此可見,上機(jī)練習(xí)對于學(xué)好C語言來說是多么的重要,而且C語言的程序編寫大部分都是需要在計算機(jī)上才能完成,所以,在Linux系統(tǒng)下,學(xué)好計算機(jī)C語言編程的一個非常重要的技巧就是多進(jìn)行上機(jī)練習(xí),加強(qiáng)理論跟實際之間的聯(lián)系,這主要是因為上機(jī)練習(xí)不僅僅是對學(xué)到的理論知識和C語言基礎(chǔ)知識的一種實際應(yīng)用,最重要的還是能夠在編寫過程中發(fā)現(xiàn)很多理論知識掌握不好的地方,進(jìn)而能夠使學(xué)生們更具有針對性的進(jìn)行學(xué)習(xí)和練習(xí),從而能夠使學(xué)生們講理論知識掌握的更牢固,這將會在最大程度上使學(xué)生們C語言編程能力得到提高,從而對學(xué)習(xí)計算機(jī)C語言程序編程充滿興趣,而且最主要的還是,在多次的上機(jī)練習(xí)過程中,能夠幫助學(xué)生們找到編寫C語言程序的感覺,再加上每次的聯(lián)系就會變得越來越熟練,從而達(dá)到提高C語言程序編輯能力的目的。
2.4 加強(qiáng)程序調(diào)試
在進(jìn)行C語言程序編寫過程中,經(jīng)常會出現(xiàn)各種各樣的錯誤,并且很多時候編寫的程序不能一次就能成功,因此,就需要對編寫的程序進(jìn)行相應(yīng)的調(diào)試,這也是程序編寫過程中的一個非常重要的步驟。在Linux系統(tǒng)下有一個叫g(shù)db的GNU調(diào)試程序,其中g(shù)db最主要的作用就是作為強(qiáng)力調(diào)試器來對C和C++程序進(jìn)行調(diào)試的,它能夠在程序運行時對立面的結(jié)構(gòu)和內(nèi)存使用情況進(jìn)行詳細(xì)的觀察。
程序gdb在運行后,我們會在屏幕上看到這樣的內(nèi)容:
GOB is free software and you are welcome to distribute copies of it
under certain conditions;type”show copying”to see the conditions
There is absolutely no warranty for GDB;type” show warranty" for
Details.
GDB 4.13 (i481-alak-linux),
(gdb)
在對gdb進(jìn)行啟動后,還可以在命令行上對多個選項進(jìn)行指定,當(dāng)然還可以用下面的方式來進(jìn)行g(shù)db: (下轉(zhuǎn)第2995頁)
(上接第2990頁)
gdb
在選擇以這種方式對gdb進(jìn)行運行時,就可以根據(jù)自己的需求來指定相應(yīng)的那種類型的調(diào)試程序,操作起來就顯得更加簡便。
2.5 重視綜合知識的運用
在進(jìn)行計算機(jī)C語言程序編寫時,需要借助大量的各個方面的知識來進(jìn)行,比如指針、結(jié)構(gòu)以及函數(shù)等等,因此,在對計算機(jī)C語言進(jìn)行實際工作上的編寫過程中,就需要將這些方面的知識進(jìn)行綜合考慮,選擇最合理、最有效的運用,從而使編寫出來的程序更加完美。除此之外,對于不同的C語言結(jié)構(gòu)來說,還可以在編寫同一個C語言程序時同時執(zhí)行,這些必須在順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)以及選擇結(jié)構(gòu)的目的,而且在對計算機(jī)C語言程序進(jìn)行編寫時,一定要注意對綜合指示燈的靈活運用,只有將這些相關(guān)的知識進(jìn)行科學(xué)有效的整合,才能編寫出相關(guān)的執(zhí)行命令,從而能夠使C語言程序編寫的更加完美,從而在最大程度上提高對計算機(jī)C語言編寫的技巧,使C語言程序編寫的效果達(dá)到最佳。
3 結(jié)論
隨著計算機(jī)技術(shù)的不斷發(fā)展,已經(jīng)在各行各業(yè)得到了廣泛的應(yīng)用,這給人們的工作和生活帶來了非常大的幫助,從而對計算機(jī)C語言程序編輯提出了更高的要求,因此,加強(qiáng)在Linux系統(tǒng)下的計算機(jī)C語言編程技巧,從而在最大程度上提高C語言程序編輯的效果。
參考文獻(xiàn):
[1] 王曉明.計算機(jī)C語言編輯程序探討[J].長春教育學(xué)院學(xué)報,2014(3).
[2] 付欣.關(guān)于計算機(jī)C語言編輯程序技巧探究[J].中國外資,2013(12).
[3] 何先波.Linux操作系統(tǒng)中通用雙向循環(huán)鏈表的實現(xiàn)分析[J].西華師范大學(xué)學(xué)報:自然科學(xué)版, 2012(2).