• 
    

    
    

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

      大一新生C語(yǔ)言上機(jī)常見(jiàn)錯(cuò)誤總結(jié)

      2020-03-27 12:23:05楊儀代祥光張先休吳鴻娟朱丙麗
      卷宗 2020年3期
      關(guān)鍵詞:語(yǔ)法錯(cuò)誤上機(jī)

      楊儀 代祥光 張先休 吳鴻娟 朱丙麗

      摘 要:C語(yǔ)言是一門(mén)實(shí)踐性很強(qiáng)的學(xué)科,哪怕只有一點(diǎn)語(yǔ)法錯(cuò)誤程序也不能運(yùn)行。本文將大一新生容易犯的一些語(yǔ)法錯(cuò)誤、邏輯錯(cuò)誤、運(yùn)行錯(cuò)誤列舉部分出來(lái)并提出解決方案,幫助初學(xué)者更好掌握C語(yǔ)言。

      關(guān)鍵詞:C語(yǔ)言;上機(jī);語(yǔ)法錯(cuò)誤;邏輯錯(cuò)誤

      基金項(xiàng)目:2018重慶市高等教育教學(xué)改革研究項(xiàng)目“新工科背景下的計(jì)算機(jī)卓越工程師多元復(fù)合培育系統(tǒng)的構(gòu)建”(項(xiàng)目編號(hào):183051)。

      C語(yǔ)言數(shù)據(jù)類(lèi)型多,運(yùn)算符多,語(yǔ)法規(guī)則較靈活。大一新生剛剛接觸編程語(yǔ)言,還不能完全理解計(jì)算機(jī)的工作原理,導(dǎo)致上機(jī)編寫(xiě)程序常常出現(xiàn)很多語(yǔ)法錯(cuò)誤、邏輯錯(cuò)誤、運(yùn)行錯(cuò)誤[1-8]。筆者將大一新生常犯的一些上機(jī)錯(cuò)誤總結(jié)出來(lái),僅供參考。

      1 語(yǔ)法錯(cuò)誤

      1.1 main函數(shù)使用錯(cuò)誤

      由于C99標(biāo)準(zhǔn)后,C語(yǔ)言main函數(shù)的返回值應(yīng)是整型值,返回0表示正常返回,返回非0表示異常,便于操作系統(tǒng)判斷狀態(tài)。VC++6.0版本還允許返回值為空,有些教材內(nèi)容也沒(méi)有更新,程序移植到其它編譯器就會(huì)出錯(cuò),如Visual studio,Devc++。一般的語(yǔ)法錯(cuò)誤通常會(huì)有錯(cuò)誤提示,并且錯(cuò)誤提示能定位到錯(cuò)誤的行或者相鄰的行,但有些語(yǔ)法錯(cuò)誤提示不容易看出來(lái)出錯(cuò)的地方。例如,main函數(shù)名字輸錯(cuò),由于main函數(shù)名字并非關(guān)鍵字,輸錯(cuò)后并不會(huì)提示到main函數(shù)那一行,main函數(shù)是主調(diào)函數(shù),輸錯(cuò)就沒(méi)法調(diào)用其它函數(shù),大一新生不習(xí)慣分析錯(cuò)誤提示,習(xí)慣性看源程序,稍微不仔細(xì)就沒(méi)法看出錯(cuò)誤。

      1.2 printf函數(shù)和scanf函數(shù)使用錯(cuò)誤

      printf函數(shù)是格式化輸出函數(shù),用法為printf(“格式控制字符串”,輸出表列),但學(xué)生常常將輸出參數(shù)也包含到格式控制字符串中,導(dǎo)致編譯運(yùn)行能夠通過(guò),但不能輸出正確結(jié)果。

      scanf函數(shù)是格式化輸入函數(shù),用法為scanf(“格式控制字符串”,輸入項(xiàng)地址列表),學(xué)生常常在格式控制字符串中控制輸入浮點(diǎn)型數(shù)據(jù)的精度,將printf函數(shù)和scanf函數(shù)的用法混淆。另外,輸入項(xiàng)地址列表對(duì)基本類(lèi)型變量常常忘記寫(xiě)取地址符號(hào)&。程序運(yùn)行后輸入數(shù)據(jù)時(shí)不按輸入格式輸入。例如程序中輸入幾個(gè)整型數(shù)據(jù)中間用了逗號(hào),但輸入的時(shí)候卻用了空格,導(dǎo)致無(wú)法接收到正確的數(shù)據(jù)。

      1.3 返回局部變量的地址

      局部變量在函數(shù)調(diào)用后就會(huì)被釋放掉,返回局部變量的地址是不合法的,只能返回全局變量或static變量的地址。修改的方法就是在fun函數(shù)中另外再定義兩個(gè)static變量m和n,將局部變量x,y的值賦值給m和n,返回 m和n的地址即可。

      除了這幾個(gè)常用函數(shù)用法錯(cuò)誤,新生還容易掉C語(yǔ)言語(yǔ)句符號(hào)“;”以及花括號(hào)不配對(duì),忘記寫(xiě)頭文件包含編譯預(yù)處理命令等等問(wèn)題。

      2 邏輯錯(cuò)誤

      語(yǔ)法錯(cuò)誤一般會(huì)有錯(cuò)誤提示,但邏輯錯(cuò)誤不會(huì)給出錯(cuò)誤提示,要想檢查邏輯錯(cuò)誤就很困難,下面列舉幾種常見(jiàn)的邏輯錯(cuò)誤。

      2.1 變量使用前未賦初值

      變量使用前如果未賦初值,編譯器通常會(huì)給變量賦一個(gè)隨機(jī)數(shù),導(dǎo)致程序運(yùn)行結(jié)果和預(yù)想的不一樣。例如1到100累加,如果沒(méi)有對(duì)存放累加結(jié)果的變量賦初值,就會(huì)得不到預(yù)想的5050的結(jié)果。一般情況下,如果是累加,那么存放結(jié)果的變量初值就賦為0,不影響最后的結(jié)果,如果是連乘,例如存放n的階乘的變量,初值就要賦為1,不影響最后的結(jié)果。如果是在程序中用作標(biāo)志的變量,則將標(biāo)志變量賦值為1或者0均可。例如求素?cái)?shù)的程序,先將標(biāo)志變量賦值為1,表明先默認(rèn)所求的數(shù)是素?cái)?shù),若程序中有判斷不是素?cái)?shù)的語(yǔ)句,再將標(biāo)志變量賦值為0。

      2.2 未考慮某些函數(shù)結(jié)束符的使用

      下面程序原意是使用fgets函數(shù)從源文件yangyi.txt中每次讀入10個(gè)字符放入buffer數(shù)組中并輸出。由于fgets函數(shù)每次讀入字符后會(huì)加上結(jié)束符,導(dǎo)致程序運(yùn)行結(jié)果和預(yù)想的不一致。

      只需要將for循環(huán)中i<10修改為i

      2.3 循環(huán)判斷條件不等式兩邊都為變量

      下面程序原意是從鍵盤(pán)輸入5個(gè)整型數(shù)存放在數(shù)組a中,并利用指針變量輸出,但輸出時(shí)for循環(huán)條件判斷語(yǔ)句左右兩邊都為變量,導(dǎo)致程序異常退出。需要將不等式p

      C語(yǔ)言還存在一些邏輯錯(cuò)誤,如數(shù)組下標(biāo)越界等,這些錯(cuò)誤都不容易發(fā)現(xiàn),需要不斷通過(guò)上機(jī)操作實(shí)踐體會(huì)。

      3 運(yùn)行錯(cuò)誤

      初學(xué)者還可能犯一些運(yùn)行錯(cuò)誤,例如同時(shí)打開(kāi)兩個(gè)含有main函數(shù)的源文件運(yùn)行,控制臺(tái)應(yīng)用程序窗口不關(guān)閉又打開(kāi)另一個(gè)源文件運(yùn)行。

      4 總結(jié)

      C語(yǔ)言是一門(mén)實(shí)踐性很強(qiáng)的學(xué)科,程序錯(cuò)誤種類(lèi)形式多種多樣,需要在實(shí)踐中修改各種程序錯(cuò)誤,不斷總結(jié)經(jīng)驗(yàn)以提高編程能力。

      參考文獻(xiàn)

      [1]田金琴,丁紅勝.C語(yǔ)言教學(xué)中常見(jiàn)的運(yùn)行錯(cuò)誤和邏輯錯(cuò)誤[J].電腦學(xué)習(xí),2006(4):23-24.

      [2]牛雅莉,趙芳林.C語(yǔ)言中常見(jiàn)邏輯錯(cuò)誤分析[J].北京工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報(bào)(2):21-24.

      [3]楊曉峰.C語(yǔ)言使用中常見(jiàn)的語(yǔ)法和邏輯錯(cuò)誤分析[J].開(kāi)封大學(xué)學(xué)報(bào),2012(02):89-91.

      [4]程靜飛,鄭鳳婷.試析C語(yǔ)言常見(jiàn)錯(cuò)誤[J].電腦編程技巧與維護(hù)(16):8-9,11.

      [5]王瓊.C語(yǔ)言上機(jī)常見(jiàn)錯(cuò)誤分析[J].洛陽(yáng)大學(xué)學(xué)報(bào)(4):71-73,92.

      [6]劉臻.C語(yǔ)言上機(jī)實(shí)踐教學(xué)方法研究[J].課程教育研究,2015(16):255-256.

      [7]楊路明.C語(yǔ)言程序設(shè)計(jì)教程(第四版)[M].北京郵電大學(xué)出版社,2018.

      [8]譚浩強(qiáng).C程序設(shè)計(jì)(第四版)[M].清華大學(xué)出版社,2010.

      作者簡(jiǎn)介

      楊儀(1982-),女,漢族,重慶綦江,博士,講師,研究方向:神經(jīng)網(wǎng)絡(luò),非線性動(dòng)力系統(tǒng)。

      猜你喜歡
      語(yǔ)法錯(cuò)誤上機(jī)
      周金應(yīng)
      標(biāo)準(zhǔn)化護(hù)理程序?qū)w外膜肺氧合術(shù)患者上機(jī)各階段用時(shí)的影響
      上機(jī)數(shù)控“可疑”的高毛利率
      小劑量右美托咪定對(duì)老年急性左心力衰竭患者無(wú)創(chuàng)正壓通氣的影響
      英語(yǔ)翻譯常見(jiàn)錯(cuò)誤及對(duì)策探析
      概念整合理論下英語(yǔ)中介語(yǔ)發(fā)展研究
      漢語(yǔ)負(fù)遷移對(duì)英語(yǔ)寫(xiě)作的影響及啟示
      科技資訊(2016年25期)2016-12-27 10:55:46
      高中英語(yǔ)寫(xiě)作中的語(yǔ)法錯(cuò)誤分析
      青春歲月(2016年22期)2016-12-23 10:59:20
      高中英語(yǔ)寫(xiě)作錯(cuò)誤分析個(gè)案研究
      待換
      福安市| 大方县| 义乌市| 晋城| 湾仔区| 桂阳县| 泾川县| 晋中市| 宾阳县| 华坪县| 慈溪市| 平安县| 娄底市| 余干县| 辰溪县| 喀什市| 德钦县| 竹山县| 木兰县| 大冶市| 高陵县| 正安县| 永修县| 兰州市| 思南县| 贵南县| 江油市| 枣庄市| 嘉善县| 新建县| 玉溪市| 七台河市| 香格里拉县| 威远县| 阳江市| 应城市| 扎赉特旗| 米泉市| 长顺县| 从化市| 大连市|