首頁考試吧論壇Exam8視線考試商城網(wǎng)絡課程模擬考試考友錄實用文檔求職招聘論文下載
2013中考
法律碩士
2013高考
MBA考試
2013考研
MPA考試
在職研
中科院
考研培訓 自學考試 成人高考
四 六 級
GRE考試
攻碩英語
零起點日語
職稱英語
口譯筆譯
申碩英語
零起點韓語
商務英語
日語等級
GMAT考試
公共英語
職稱日語
新概念英語
專四專八
博思考試
零起點英語
托福考試
托業(yè)考試
零起點法語
雅思考試
成人英語三級
零起點德語
等級考試
華為認證
水平考試
Java認證
職稱計算機 微軟認證 思科認證 Oracle認證 Linux認證
公 務 員
導游考試
物 流 師
出版資格
單 證 員
報 關 員
外 銷 員
價格鑒證
網(wǎng)絡編輯
駕 駛 員
報檢員
法律顧問
管理咨詢
企業(yè)培訓
社會工作者
銀行從業(yè)
教師資格
營養(yǎng)師
保險從業(yè)
普 通 話
證券從業(yè)
跟 單 員
秘書資格
電子商務
期貨考試
國際商務
心理咨詢
營 銷 師
司法考試
國際貨運代理人
人力資源管理師
廣告師職業(yè)水平
衛(wèi)生資格 執(zhí)業(yè)醫(yī)師 執(zhí)業(yè)藥師 執(zhí)業(yè)護士
會計從業(yè)資格
基金從業(yè)資格
統(tǒng)計從業(yè)資格
經(jīng)濟師
精算師
統(tǒng)計師
會計職稱
法律顧問
ACCA考試
注冊會計師
資產(chǎn)評估師
審計師考試
高級會計師
注冊稅務師
國際內(nèi)審師
理財規(guī)劃師
美國注冊會計師
一級建造師
安全工程師
設備監(jiān)理師
公路監(jiān)理師
公路造價師
二級建造師
招標師考試
物業(yè)管理師
電氣工程師
建筑師考試
造價工程師
注冊測繪師
質量工程師
巖土工程師
造價員考試
注冊計量師
環(huán)保工程師
化工工程師
咨詢工程師
結構工程師
城市規(guī)劃師
材料員考試
監(jiān)理工程師
房地產(chǎn)估價
土地估價師
安全評價師
房地產(chǎn)經(jīng)紀人
投資項目管理師
環(huán)境影響評價師
土地登記代理人
繽紛校園 實用文檔 英語學習 作文大全 求職招聘 論文下載 訪談|游戲
軟件水平考試
軟件水平考試資訊
軟件水平考試試題
軟件水平考試專項輔導
軟件水平考試交流互動
軟件水平考試交流互動
您現(xiàn)在的位置: 考試吧 > 軟件水平考試 > 復習資料 > 程序員資料 > 正文

2012年軟考程序員輔導:C語言新人常見問題

  不知不覺,學習C語言也快一年了。雖然有C語言課,但是老師完全讓我們自己看書,在自學的過程中,和周圍同學交流中,以及后來在CSDN,BCCN,百度知道看帖回帖中,也看到許多C語言新人常遇到的問題與常犯的錯誤。為了讓新人們少走彎路少碰壁,我便打算寫下此文。當然,由于我自己的水平也有限,其中可能自己也不知不覺犯了錯誤,望高手們果斷斧正。

  下面的程序,基本是摘自在CSDN,BCCN,百度知道的提問帖,以及我身邊的人和我自己寫的程序,限于篇幅,對于問題影響不大的部分我已經(jīng)刪去或改寫,一些與相應問題無關的錯誤也一并進行了修改。對于完整的修正后的程序都在code::blocks 10.05(編譯器gcc,調(diào)試器gdb,平臺windows 7旗艦版)上運行過。

  1、程序畫面一閃而過

  #include

  int main(void)

  {

  int iSignal; /*定義變量表示信號燈的狀態(tài)*/

  printf(“the Red Light is 0,the Green Light is 1\n”); /*輸出提示信息*/

  scanf(“%d”,&iSignal); /*輸入iSignal變量*/

  if(iSignal==1) /*使用if語句進行判斷*/

  {

  printf(“the Light is green,cars can run\n”); /*判斷結果為真時輸出*/

  }

  if(iSignal==0) /*使用if語句進行判斷*/

  {

  printf(“the Light is red,cars can’t run\n”); /*判斷結果為真時輸出*/

  }

  return 0;

  }

  解析:在XP以上的系統(tǒng)用win-tc,dev-cpp等IDE編譯運行此程序時,無論輸入什么數(shù)字,結果都是一閃而過,因為程序執(zhí)行完語句后就直接退出了。

  解決方案:這里有幾個辦法(1)

  在程序開頭加上#include

  然后在程序末尾加上system(“pause”);

  此方法僅適用于MS-DOS,windows,不適用于*nix等系統(tǒng)(2)

  在需要暫停的地方加入一個或兩個getchar();

  這種方法,實質上并不是暫停程序,而是讓程序等待用戶輸入若干個回車。但是效果和暫停是相同的。(3)

  在程序開頭加上#include

  在需要暫停的地方加入一個getch();,原理和上一種差不多。在win-tc里用得比較多。

  2、if,for,while的判斷后直接跟;

  例如:

  #include

  int main(void)

  {

  int a;

  scanf(“%d”,&a);

  if (a == 123);////錯誤,if(a == 123)后面不應加上;,而應該緊跟著

  ////{ printf();}代碼

  {

  printf(“ccc”);

  }

  else

  {

  printf(“ddd”);

  }

  getchar();

  return 0;

  }

  #include

  int main(void)

  {

  int n,i;

  printf(“please input a number>2:”);

  scanf(“%d”,&n);

  for(i=2;i   {

  if(n%i==0)

  break;

  }

  if(i   printf(“%d not a sushu\n”,n);

  else

  printf(“%d is a sushu\n”,n);

  return 0;

  }

  解析&解決方案:見注釋

  3、漏頭文件,main函數(shù)格式不規(guī)范。

  例如:

  main()

  {

  int a;

  scanf(“%d”,&a);

  printf(“input %d”, a);

  }

  解析:這段程序沒有帶上頭文件stdio.h。即漏寫了#include 。如果僅有scanf,printf函數(shù)的話,stdio.h是可以省略并可以正確運行的,但是這是非常不好的習慣。而main()這種寫法,C89標準勉強充許這種形式,C99標準是不允許的。而void main(),至今仍未有任何標準考慮接受它。但是有些編譯器的確允許。當然,這種寫法廣為流行,應該和老譚的書關系非常大。

  解決方案:用到的頭文件應該用include包含進去。main()函數(shù)應該寫成int main(void)這種形式,在main()函數(shù)尾部加上return 0;即

  #include

  int main(void)

  {

  int a;

  scanf(“%d”,&a);

  printf(“input %d”, a);

  return 0;

  }

1 2 3 下一頁
文章搜索
軟件水平考試欄目導航
版權聲明:如果軟件水平考試網(wǎng)所轉載內(nèi)容不慎侵犯了您的權益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉載本軟件水平考試網(wǎng)內(nèi)容,請注明出處。