• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    Linux系統(tǒng)下計算機C語言的編程技巧分析

    2015-01-20 05:22:38邢如意
    電腦知識與技術(shù) 2014年36期
    關(guān)鍵詞:計算機

    邢如意

    摘要:C語言作為多程序編輯的基礎(chǔ)語言,在國際上已得到的廣泛的應(yīng)用,近年來在科技的快速發(fā)展下,對計算機C語言技術(shù)的要求也在不斷提高。而Linux系統(tǒng)作為操作系統(tǒng)中的重要力量,在現(xiàn)行Linux系統(tǒng)下進行計算機C語言編程,是一項比較復(fù)雜、困難的事情。因此,如何加強在Linux系統(tǒng)下的計算機C語言編程技巧,也是目前編程行業(yè)面臨的嚴峻問題之一。該文就以計算機C語言為例,探討在高科技的發(fā)展下,其在Linux系統(tǒng)中應(yīng)用的編程技巧,以供參考。

    關(guān)鍵詞:Linux系統(tǒng);計算機;C語言;編程技巧

    中圖分類號:TP311 文獻標(biāo)識碼:A 文章編號:1009-3044(2014)36-8674-02

    Linux是指一套免費使用和自由傳播的類Unix操作系統(tǒng),其是一個基于UNIX及POSIX的多用戶、多任務(wù)、支持多線程與多CPU的操作系統(tǒng)。Linux操作系統(tǒng)作為一套免費使用和自由傳播的類Unix操作系統(tǒng),已經(jīng)成為目前世界上使用人數(shù)最多的類Unix操作系統(tǒng),并且使用人數(shù)還在呈持續(xù)增長趨勢。而C語言作為IT工作中最為常用的一種編程語言,目前市面上很多軟件都是在C語言的平臺上產(chǎn)生的。基于Linux系統(tǒng)與C語言應(yīng)用的廣泛性與普遍于,于Linux系統(tǒng)下進行計算機C語言編程,也是必然趨勢下的產(chǎn)物。但在Linux系統(tǒng)下熟練、靈活應(yīng)用計算機C語言編程,卻不是一件容易的事,因此,了解Linux系統(tǒng)下計算機C語言的編程技巧,便也是每位編程人員必須掌握的專業(yè)知識。

    1 C語言的定義及優(yōu)缺點

    1.1 C語言的定義

    C語言作為一種結(jié)構(gòu)化語言,主要起到人類與計算機“交流”的作用,C語言可看作是最接近人類思維的語言,也最經(jīng)典的數(shù)據(jù)結(jié)構(gòu)語言、最基礎(chǔ)的軟件設(shè)計語言。C語言層次清晰,既具有高級語言的特點,同時又具有匯編語言的特點。C語言可以作為系統(tǒng)設(shè)計的語言,用來編寫工作系統(tǒng)應(yīng)用程序,也可作為應(yīng)用程序設(shè)計語言,用來編寫不依賴計算機硬件的應(yīng)用程序。因此,也使得C語言的應(yīng)用范圍廣泛,其不僅應(yīng)用于軟件開發(fā)方面,各類科研項目也均需要C語言,例如單片機及嵌入式系統(tǒng)等硬件方面便可以用C語言來開發(fā)[1]。

    1.2 C語言的優(yōu)點

    C語言的優(yōu)點諸多,最主要的優(yōu)點體現(xiàn)在如下幾方面:

    1) 靈活方便。C語言共有32個關(guān)鍵詞和9種控制語句,程序書寫形式自由,主要應(yīng)用小寫字母來表示,具有簡潔緊湊、靈活方便的應(yīng)用優(yōu)點。

    2) 數(shù)據(jù)結(jié)構(gòu)豐富。C語言的數(shù)據(jù)類型主要包括有字符型、實型、整型、結(jié)構(gòu)體類型、指針類型、數(shù)組類型、共用體類型等幾類。通過對以上數(shù)據(jù)類型的靈活應(yīng)用,可以實現(xiàn)各種復(fù)雜的數(shù)據(jù)結(jié)構(gòu)運算。

    3) 運算符豐富。C語言共有34例運算符,運算符包含范圍極為廣泛,C語言可將賦值、括號、強制類型轉(zhuǎn)換等都作為運算符進行處理,從而使C語言的運算類型豐富,表達式類型多樣化。

    4) 語法限制不嚴格。雖然C語言屬于強類型語言,但它的語法限制不太嚴格,語法比較靈活,使程序編寫人員擁有較大的自由度。

    5) 目標(biāo)代碼生成質(zhì)量高。C語言生成的目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高,通常情況下,其只比匯編程序生成的目標(biāo)代碼效率低10~20%左右,由于C語言目標(biāo)代碼生成質(zhì)量高,也使得它在編程中得到了廣泛的應(yīng)用。

    6) 直接操作性強。C語言允許直接訪問物理地址,可以對硬件進行直接操作,由此可見,C語言既具有高級語言的功能,也具備低級語言的諸多功能,可以像匯編語言一樣,對位、字節(jié)與地址進行操作。

    7) 可移植性好。C語言可適用于多個操作系統(tǒng),例如UNIX、DOS系統(tǒng),均可進行計算機C語言編程,C語言還適用于多種機型,給編程人員提供了極大的方便。此外,C語還具有強大的繪圖功能及數(shù)據(jù)處理能力,可移植性好,適用于編寫系統(tǒng)軟件、二維、三維圖形及動畫。

    8) 屬于結(jié)構(gòu)式語言。C語言屬于結(jié)構(gòu)式語言,該語言的顯著特點是數(shù)據(jù)以及代碼的分隔化,即是指程序的各部分除了一些必要的信息交流外,可處于彼此獨立的狀態(tài)。

    1.3 C語言的缺點

    在實際的編程應(yīng)用中,C語言的缺點主要體現(xiàn)在兩個方面:其一,C語言的主要缺點表現(xiàn)在數(shù)據(jù)的封裝性上,這一點導(dǎo)致C語言在數(shù)據(jù)的安全性方面存在較大的缺陷,這也是C與C++的一大區(qū)別;其二,C語言的第二大缺點體現(xiàn)在程序的安全性上,由于C語言的語法限制不太嚴格,對變量的類型約束不嚴格,由此影響了程度的安全性,對數(shù)組下標(biāo)越界不作檢查等。由于以上兩方面缺點,導(dǎo)致C語言在實際應(yīng)用中比其他高級語言較難掌握,因此編程時也應(yīng)該提高對C語言缺點的重點,并采取科學(xué)、合理的措施有效規(guī)避缺點導(dǎo)致的不良影響。

    2 Linux系統(tǒng)下計算機C語言的編程技巧分析

    文章就以Linux系統(tǒng)為例,綜合C語言的優(yōu)缺點,分析總結(jié)Linux系統(tǒng)下計算機C語言的編程技巧,以供參考。

    2.1 源程序的編譯

    在Linux系統(tǒng)下進行C語言源程序編譯時,必須要使用到GNU的gcc編譯器,因此,編程人員首先要學(xué)會靈活使用gcc編譯器編譯源程序。雖然gcc編譯器有很多種選項,但一般來說,編程人員只了解其中最主要的幾個選項,便可編譯自己所寫的簡單的源程序,gcc編譯器的主要選頂表現(xiàn)在三下方面:其一,要求gcc編譯器進行編譯時,需要將程序以后在進行相關(guān)調(diào)試信息提供時,采用-g選項來表示;其二,要求輸可以進行執(zhí)行文件名時,采用-o選項來表示;其三,要求gcc編譯器需要將相應(yīng)的目標(biāo)代碼輸出時,采用-c選項來表示。

    假設(shè),有一個非常簡單的源程序:

    (hello.c):

    int main(int argc,char **argv)

    {printf("Hello Linux\n" )}endprint

    對上述源程序進行編譯時,編程人員只需在命令下執(zhí)行:gcc -o hello hello.c,

    gcc編譯器便會為我們生成一個可執(zhí)行文件hello,執(zhí)行/hello便可看到程序的輸出結(jié)果。上面的命令行中,gcc代表編程人員選擇gcc編譯器進行編譯源程序,-o選項代表編程人員要求編譯器輸出的可執(zhí)行文件名為hello,而hello.c,便是所需要的源程序文件。

    如果編程人員Linux系統(tǒng)下進行計算機C語言編程時,還需要在應(yīng)用gcc編譯器中的更多選項,可以通過查看gcc編譯器的幫助文檔來獲得其它選項的詳細說明[2]。

    2.2 程序庫的鏈接

    以下面程序為例:/* temp.c */

    #include

    int main(int argc,char **argv)

    { double value;

    printf("Value:%f\n",value); }

    嘗試編譯上面程序可發(fā)現(xiàn),該程序十分簡單,但是,若編程人員采用gcc -o temp temp.c編譯時,會出現(xiàn)如下提示的錯誤信息:

    /tmp/cc33Kydu.o: In function `main':

    /tmp/cc33Kydu.o(.text+0xe): undefined reference to `log'

    collect2: ld returned 1 exit status

    導(dǎo)致錯誤信息出現(xiàn)的原因,主要是因為編譯器未能找到log的具體實現(xiàn),雖然編程人員偏譯時使用了正確的頭文件,但是在編譯的時候還是要連接確定的庫,才能避免上述錯誤的發(fā)生。例如上述程序,為了使用數(shù)學(xué)函數(shù),必須和數(shù)學(xué)庫連接,因此,編程人員可加入-lm選項.gcc-o temp temp.c-lm,只有這樣,才能進行正確的編譯。以此類推,在Linux系統(tǒng)下進行計算機C語言編程時,編程人員應(yīng)該根據(jù)具體情況,合理鏈接相應(yīng)的數(shù)據(jù)庫,才可保證編程的正確性。

    2.3 加強程序調(diào)試

    編程人員編寫C語言程序并不是一次性就會成功的,在實際操作中,會出現(xiàn)很多意想不到的錯誤,為避免這種錯誤,便要學(xué)會對程序的調(diào)試。Linux系統(tǒng)下計算機C語言的編程最常應(yīng)用的調(diào)試軟件為gdb,根據(jù)界面的不同,程序調(diào)試方法也會有所不同[3]。例如,如需在圖形界面下調(diào)試程序,便選擇xxgdb,且要記得在編譯的時候加入-g選項。關(guān)于gdb如何使用,如下作簡單敘述:

    程序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進行啟動時,還可在命令行上對多個選項進行指定,也可采用下面的方式進行g(shù)db:gdb

    選擇上述方式進行程序調(diào)時,編程人員便可根據(jù)自己的實際需求,指定相應(yīng)類型的調(diào)試程序,這樣操作起來便更加簡單、便捷。

    2.4 頭文件及系統(tǒng)求助

    若編程人員進行C語言編寫時,只知道一個函數(shù)的大概形式,卻忘記了確切的表達方式,或是不記得函數(shù)在那個頭文件進行了說明,此時便可求助于系統(tǒng)。例如,編程人員想知識函數(shù)fread的確切形式,便可執(zhí)行man fread系統(tǒng),此時系統(tǒng)會輸出函數(shù)的詳細解釋,并顯示出函數(shù)fread所在的頭文件說明。除了man fread系統(tǒng)之外,Info、Howto也是重要的頭文件及系統(tǒng)求助工具,在Linux系統(tǒng)下計算機C語言的實際編程中,只要編程人員熟練掌握了求助工具,很多編程中遇到的難題便會迎刃而解,進而促進編程的效率與準確性[4-5]。

    2.5 靈活應(yīng)用綜合知識

    在Linux系統(tǒng)下計算機C語言的編程需要借助多方面知識,例如,函數(shù)、指針、數(shù)組、字符串、變量等方面知識,均有涉及。因此,C語言另一個編程技巧便是要靈活應(yīng)用綜合知識,編程人員在實際編寫過程中,需要將這多方面知識整合起來,靈活、合理、有效地應(yīng)用到編程中,才能使計算機C語言編寫出來的程序更加完美。此外,針對不同的C語言結(jié)構(gòu)而言,若需

    要在編寫同一個C語言程序時同時執(zhí)行,必須要注意對綜合知識的靈活運用。通過對與C語言編程相關(guān)知識的整合、銜接,才可編寫出科學(xué)、合理的執(zhí)行命令,進一步促進C語言程序編寫的完美,達到最佳的C語言編寫效果[6]。

    2.6 多上機練習(xí)程序編寫

    在計算機技術(shù)應(yīng)用的普及下,對于計算機C語言的編程人才也不僅僅是需要理論知識非常強的人,還需要實踐能力強的人才。因此,在Linux系統(tǒng)下,學(xué)好計算機C語言編程技巧,便需要編程人員多上機練習(xí)程序編寫,才能真正提高計算機C語言編程能力。通過上機練習(xí),才可以使編程人員的理論知識與實際相聯(lián)系,并且,編程人員在反復(fù)上機練習(xí)的過程中,還可以發(fā)現(xiàn)許多理論知識掌握不到的地方,在循序漸進中提高自己的編程能力,最終為正確、高效地進行計算機C語言編程奠定堅實基礎(chǔ)[7-8]。

    3 結(jié)束語

    Linux系統(tǒng)具有很強的網(wǎng)絡(luò)安全及網(wǎng)絡(luò)管理功能,系統(tǒng)穩(wěn)定性與可靠性強,目前已經(jīng)成為操作系統(tǒng)中的重要力量。但在Linux系統(tǒng)下進行計算機C語言編程時,若對Linux系統(tǒng)及C語言的特點了解不全面,也會出現(xiàn)編程困難的現(xiàn)象,因此,在Linux系統(tǒng)下進行C語言編程時,就必須掌握一定的編程技巧,才能提高C語言程序編輯的效果,為進一步提升C語言編程人員的工作效率打好基礎(chǔ)。

    參考文獻:

    [1] 李俊玲.淺談Linux操作系統(tǒng)下的C程序開發(fā)[J].中國科技財富,2012,5(5):314.

    [2] 楊海峰,席振元,曹立碩.基于Linux的防火墻系統(tǒng)的研究與開發(fā)[J].科技風(fēng),2014,6(6):32-33.

    [3] 王亞平.基于Linux管道技術(shù)的編程方法研究[J].科技資訊,2012,13(13):46.

    [4] 李斌.基于ARM-Linux的可編程自動化控制器的研究與開發(fā)[D].2012.

    [5] 夏凡,陳蜀宇,龍昌生.基于 Framebuffer 的嵌入式 Linux 圖形庫設(shè)計[J].計算機系統(tǒng)應(yīng)用,2012,21(5):122-125.

    [6] 王曉明.計算機C語言編輯程序探討[J].長春教育學(xué)院學(xué)報,2014,30(5):145-146.

    [7] 余勍,王捷.淺談C 語言編程技巧在C語言學(xué)習(xí)中的應(yīng)用[J].信息通信,2013,7(7):108.

    [8] 韓偉,宋明偉,魏志強,等.基于Windows的華中世紀星數(shù)控系統(tǒng)PLC編程系統(tǒng)設(shè)計[J].機床與液壓,2011,14(14):214-216.

    猜你喜歡
    計算機
    計算機操作系統(tǒng)
    穿裙子的“計算機”
    基于LabVIEW的計算機聯(lián)鎖仿真系統(tǒng)
    基于計算機自然語言處理的機器翻譯技術(shù)應(yīng)用與簡介
    科技傳播(2019年22期)2020-01-14 03:06:34
    計算機多媒體技術(shù)應(yīng)用初探
    科技傳播(2019年22期)2020-01-14 03:06:30
    信息系統(tǒng)審計中計算機審計的應(yīng)用
    計算機應(yīng)用軟件開發(fā)技術(shù)的幾點探討
    電子制作(2017年14期)2017-12-18 07:08:10
    計算機網(wǎng)絡(luò)安全
    iLOCK型計算機聯(lián)鎖開發(fā)中的需求開發(fā)管理
    計算機聯(lián)鎖系統(tǒng)配置軟件設(shè)計與實現(xiàn)
    上虞市| 德令哈市| 乌海市| 柞水县| 万年县| 乡宁县| 阿勒泰市| 江源县| 吴桥县| 海南省| 凤凰县| 拜泉县| 绥阳县| 五莲县| 航空| 新营市| 如皋市| 威宁| 政和县| 沈丘县| 丽水市| 宝应县| 泌阳县| 石台县| 永州市| 肥城市| 仙桃市| 泗水县| 宽城| 南溪县| 资溪县| 东港市| 永靖县| 秦皇岛市| 博爱县| 宜昌市| 买车| 双辽市| 天长市| 茂名市| 淮阳县|