• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      C語言編程中常見錯誤及解決辦法探討

      2016-03-11 13:13:39邱吉
      科學(xué)中國人 2016年27期
      關(guān)鍵詞:分號語法錯誤語句

      邱吉

      四川省內(nèi)江市第六中學(xué)高17屆24班

      C語言編程中常見錯誤及解決辦法探討

      邱吉

      四川省內(nèi)江市第六中學(xué)高17屆24班

      C語言是一門通用的計算機(jī)編程語言,因其可以以簡易的方式編譯、產(chǎn)生少量的機(jī)器碼、存儲器處理低級以及運行環(huán)境無限制使得C語言應(yīng)用廣泛,但因在編程過程中因為種種原因造成的錯誤使得程序設(shè)計很少沒有錯誤的一次完成,因此本文就C語言編程中常見的錯誤進(jìn)行探討并提出解決辦法。

      C語言;編程;常見錯誤

      一、引言

      C語言作為應(yīng)用做廣泛的程序設(shè)計語言之一,對于初學(xué)者來說調(diào)試程序的時間往往都比編程的時間長,本人基于參加過的各類機(jī)器人競賽及信息類比賽中C語言編程的經(jīng)驗,對C語言編程中的常見問題進(jìn)行歸納總結(jié)。

      二、C語言編程中常見錯誤及解決辦法探討

      2.1C語言編程中的常見錯誤

      2.1.1C語言程序錯誤

      程序錯誤即為“Bug”,檢測并修正錯誤即為“Dbug”,C語言中常見的程序錯誤分為:語法錯誤、運行錯誤和邏輯錯誤,語法錯誤是由于編程中輸入的不符合語法規(guī)則而產(chǎn)生的錯誤,常見錯誤是由于表達(dá)式不完整、關(guān)鍵字輸入錯誤、循環(huán)語句或選擇語句的關(guān)鍵字不配對、數(shù)據(jù)類型不匹配等造成的,但在編譯器的編譯過程中會將檢測到的語法錯誤提示列舉出來,根據(jù)提示的信息可以對語法錯誤進(jìn)行修正;運行錯誤是指在運行過程中出現(xiàn)的錯誤,往往會出現(xiàn)進(jìn)行除法運算時除數(shù)為零、文件無法打開、數(shù)組下標(biāo)越界等情況,當(dāng)檢測出沒有語法錯誤與邏輯錯誤時,通常考慮為運行過程中出現(xiàn)的錯誤;邏輯錯誤是指在程序語法上是正確的,但程序邏輯上存在缺陷,在程序運行后并沒有達(dá)到預(yù)期效果,主要是由于使用了不正確的變量類型、程序設(shè)計算法考慮不周、循環(huán)條件不正確等原因造成的,但此類錯誤在編輯過程中并不能檢測得到,也不會產(chǎn)生邏輯錯誤提示信息。

      2.1.2常見錯誤的舉例分析

      對于數(shù)據(jù)類型的轉(zhuǎn)換問題,在C語言編程中不同類型的數(shù)據(jù)進(jìn)行混合運算時系統(tǒng)會自動進(jìn)行類型轉(zhuǎn)換,而轉(zhuǎn)換是與運算結(jié)果的實際類型無關(guān)的,其依據(jù)是表達(dá)式中的各運算量的類型,因此當(dāng)運算量的類型和運算結(jié)果的實際類型不一樣時就會產(chǎn)生數(shù)據(jù)的轉(zhuǎn)換問題,因此,在數(shù)據(jù)運算時要注意運算結(jié)果的數(shù)據(jù)類型,當(dāng)運算結(jié)果的實際類型超過了運算數(shù)據(jù)類型表示的數(shù)值范圍時就必須強(qiáng)制轉(zhuǎn)換運算符號。

      對于編程中分號的使用,常常發(fā)生多加或漏加的情況,其典型錯誤如下:在編程中,錯誤的在函數(shù)定義時加上分號,因此要明確函數(shù)定義時不加分號,在函數(shù)聲明時加分號;聲明結(jié)構(gòu)類型、共用體類型和枚舉類型時漏掉了分號;使用if語句中在if后面多加了分號會造成if語句的缺失使得程序功能缺失甚至?xí)斐沙绦虻倪\行失?。辉谝粭l語句結(jié)束之后忘加分號,分號是C語言語句不可或缺的部分,切記要在語句結(jié)束后加上分號,已進(jìn)行語句的劃分。

      對于程序輸入時的錯誤,通常是編程過程中忽略語言輸入的狀態(tài),例如C語言在編譯系統(tǒng)中習(xí)慣上將符號常量用大寫表示,變量使用小寫以便進(jìn)行區(qū)分,增加可讀性,因此,忽略英文字母的大小寫區(qū)分往往造冊很難過程序的輸入錯誤,通知,運算符號的掌握不牢也容易造成運算的不當(dāng)。

      2.2C語言程序的調(diào)試

      2.2.1靜態(tài)檢查

      在編寫好程序之后要對程序先進(jìn)行人工檢查,主要是發(fā)現(xiàn)由于疏忽造成的大量錯誤,減少后續(xù)計算機(jī)檢測的時間,同時培養(yǎng)程序設(shè)計人員的嚴(yán)謹(jǐn)?shù)墓ぷ髯黠L(fēng),為了更高效的進(jìn)行人工檢查,在編輯程序時要注意:編程盡量增加可讀性,通常采用結(jié)構(gòu)化程序的方法進(jìn)行編程;同時可以在編程過程中加入注釋,在理解每段程序的作用的同時也便于程序的檢查;在編寫復(fù)雜程序的時候多利用函數(shù),盡量使用一個函數(shù)實現(xiàn)一個單獨的功能,避免將全部語句寫在一個main函數(shù)中,使得檢查與處理中可以分別檢查每個功能范圍。

      2.2.2動態(tài)檢查

      在人工檢查無誤后進(jìn)行上機(jī)動態(tài)調(diào)試,程序編譯時編譯器可以對程序中的語法錯誤進(jìn)行診斷,編譯診斷的語法錯誤主要是致命錯誤、錯誤和警告,“致命錯誤”主要是編譯程序內(nèi)部發(fā)生的錯誤,發(fā)生此類錯誤后編譯被迫中止,只能重新啟動編譯程序進(jìn)行編譯,因此,在編譯前最好進(jìn)行程序的保存;“錯誤”是在編譯過程中語法不當(dāng)引起的錯誤,編譯程序一般都會進(jìn)行報錯提示,根據(jù)提示即可進(jìn)行源程序的修改;“警告”有些會導(dǎo)致錯誤,有些可以強(qiáng)行編譯通過。

      運行之后對運行結(jié)果進(jìn)行分析,運行結(jié)果不正確一般都是邏輯錯誤,首先將程序與流程圖進(jìn)行對照,其程序的錯誤是很容易發(fā)現(xiàn)的;如果找不到錯誤,一般進(jìn)行“分段檢查”,不斷縮小查錯區(qū),逐段進(jìn)行檢查可以講錯誤集中在某一區(qū)段,發(fā)現(xiàn)錯誤所在;在程序中未發(fā)現(xiàn)錯誤則說明算法無錯誤,就要檢查流程圖的錯誤。

      當(dāng)檢測出沒有語法錯誤與邏輯錯誤時,通??紤]為運行過程中出現(xiàn)的錯誤。

      三、總結(jié)

      要想編寫優(yōu)質(zhì)的程序,在基礎(chǔ)知識通徹理解的基礎(chǔ)上,還要不斷在實踐中總結(jié)積累,上機(jī)調(diào)試程序的目的不僅是驗證程序的正確與否,更是通過掌握調(diào)試的方法與技巧,學(xué)會自己尋找問題,避免編程中的問題,提高自己的編程質(zhì)量,程序檢驗的過程反映一個人的能力與態(tài)度,因此要注重程序的調(diào)試,努力提高自己編程能力。

      [1]陳火濤,謝麗珍,張偉志.C語言編程中常見錯誤及解決辦法探討[J].科技,2016,05:17.

      [2]楊麗英.C語言程序設(shè)計中常見錯誤分析[J].赤峰學(xué)院學(xué)報(自然科學(xué)版),2007,03:55-56.

      [3]李自清.淺談C語言編程中的常見錯誤和解決方法[J].科技信息(科學(xué)教研),2007,33:85-86.

      猜你喜歡
      分號語法錯誤語句
      小學(xué)生學(xué)習(xí)指導(dǎo)·高年級(2024年8期)2024-08-23 00:00:00
      重點:語句銜接
      精彩語句
      漢語負(fù)遷移對英語寫作的影響及啟示
      科技資訊(2016年25期)2016-12-27 10:55:46
      高中英語寫作中的語法錯誤分析
      青春歲月(2016年22期)2016-12-23 10:59:20
      春之懷古
      高中英語寫作錯誤分析個案研究
      風(fēng)度翩翩的分號
      如何搞定語句銜接題
      語文知識(2014年4期)2014-02-28 21:59:52
      作文語句實錄
      台北市| 历史| 靖宇县| 汶川县| 琼结县| 土默特左旗| 鄂伦春自治旗| 闽清县| 库尔勒市| 大英县| 静安区| 湄潭县| 湖北省| 文山县| 卓资县| 开平市| 甘孜县| 山东省| 元江| 筠连县| 忻州市| 临泉县| 武鸣县| 许昌县| 沁阳市| 治县。| 静乐县| 晋宁县| 南丰县| 安福县| 青川县| 宝鸡市| 万年县| 玉山县| 清河县| 赤壁市| 收藏| 称多县| 施秉县| 永康市| 孟州市|