成人怡红院-成人怡红院视频在线观看-成人影视大全-成人影院203nnxyz-美女毛片在线看-美女免费黄

站長資訊網
最全最豐富的資訊網站

《TurboC指南》Turbo C 程序設計初步

    本節主要介紹Turbo C程序設計的基本步驟及如何編譯、調試和運行源程序。 
并給出Turbo C的常用編輯命令。最后介紹Turbo C編譯、連接和運行時的常見錯 
誤。

    一、Turbo C程序設計基本步驟

    程序設計方法包括三個基本步驟: 
    第一步:  分析問題。 
    第二步:  畫出程序的基本輪廓。 
    第三步:  實現該程序。 
      3a. 編寫程序 
      3b. 測試和調試程序 
      3c. 提供數據打印結果 
    下面, 我們來說明每一步的具體細節。

    第一步: 分析問題 
    在這一步, 你必須: 
    a. 作為解決問題的一種方法, 確定要產生的數據(輸出)。作為這一子步的 
一部分, 你應定義表示輸出的變量。 
    b. 確定需產生輸出的數據(稱為輸入), 作為這一子步的一部分,  你應定義 
表示輸入的變量。 
    c. 研制一種算法, 從有限步的輸入中獲取輸出。 這種算法定義為結構化的 
順序操作, 以便在有限步內解決問題。就數字問題而言, 這種算法包括獲取輸出 
的計算, 但對非數字問題來說, 這種算法包括許多文本和圖象處理操作。 
  
    第二步: 畫出程序的基本輪廓 
    在這一步, 你要用一些句子(偽代碼)來畫出程序的基本輪廓。每個句子對應 
一個簡單的程序操作。對一個簡單的程序來說,  通過列出程序順序執行的動作, 
便可直接產生偽代碼。然而, 對復雜一些的程序來說, 則需要將大致過程有條理 
地進行組織。對此, 應使用自上而下的設計方法。 
    當使用自上而下的設計方法時, 你要把程序分割成幾段來完成。列出每段要 
實現的任務, 程序的輪廓也就有了, 這稱之為主模塊。當一項任務列在主模塊時, 
僅用其名加以標識, 并未指出該任務將如何完成。這方面的內容留給程序設計的 
下一階段來討論。將程序分為幾項任務只是對程序的初步設計。整個程序設計歸 
結為下圖所示的流程圖1.。 
                                   ┏━━━━━━━━━━━━━━━┓ 
                                   ┃           主模塊             ┃ 
  ┏━━━━━━━┓               ┃ 輸入數據                     ┃ 
  ┃   主模塊     ┃               ┃ 計算購房所需的金額           ┃ 
  ┃              ┃               ┃ 計算裝修所需的金額           ┃ 
  ┃ 任務1        ┃               ┃ 計算總金額                   ┃ 
  ┃ 任務2        ┃               ┃ 輸出計算結果                 ┃ 
  ┃ 任務3        ┃               ┃                              ┃ 
  ┃ 任務4        ┃               ┗━━━━━━━┳━━━━━━━┛ 
  ┃              ┃       ┏━━━━━┳━━━━━╋━━━━┳━━━━━┓ 
  ┃              ┃ ┏━━┻━┓┏━━┻━┓┏━━┻━┓┏━┻━┓┏━━┻━┓ 
  ┗━━━━━━━┛ ┃輸入數據┃┃購房額..┃┃裝修額..┃┃總額..┃┃輸出結果┃ 
                     ┗━━━━┛┗━━━━┛┗━━━━┛┗━━━┛┗━━━━┛ 
   圖1. 程序初步設計                    圖2. 第二級程序設計

    如果把主模塊的每項任務擴展成一個模塊, 并根據子任務進行定義的話, 那 
么, 程序設計就更為詳細了(見圖2.)。這些模塊稱為主模塊的子模塊。程序中許 
多子模塊之間的關系可象圖2.中那樣歸結為一張圖。這種圖稱為結構圖。 
    要畫出模塊的輪廓, 你可不考慮細節。如果這樣的話, 你必須使用子模塊, 
將各個模塊求精, 達到第三級設計。繼續這一過程, 直至說明程序的全部細節。 
這一級一級的設計過程稱為逐步求精法。在編寫程序之前, 對你的程序進行逐步 
求精, 對你來說, 是很好的程序設計實踐, 會使你養成良好的設計習慣。 
    我們則才描述了程序設計中自上而下的設計方法。實際上就是說, 我們設計 
程序是從程序的”頂部”開始一直考慮到程序的”底部”。 
  
    第三步: 實現該程序 
    程序設計的最后一步是編寫源碼程序。 在這一步,  把模塊的偽代碼翻譯成 
Turbo C語句。 
    對于源程序, 你應包含注釋方式的文件編制, 以描述程序各個部分做何種工 
作。此外, 源程序還應包含調試程序段, 以測試程序的運行情況, 并允許查找編 
程錯誤。一旦程序運行情況良好, 可去掉調試程序段, 然而,  文件編制應做為源 
程序的固定部分保留下來, 便于你或其他人維護和修改。 
    二、源程序的輸入、編譯和運行

    C語言是一種中級語言, 用戶用C語言編寫的程序稱為源程序, 存放用C 語言 
所寫源程序文件名字最后的兩個字符一般必須為”.c”。計算機硬件不能直接執行 
源程序, 必須將源程序翻譯成二進制目標程序。翻譯工作是由一個程序完成的, 
這個程序稱為編譯程序, 翻譯的過程稱為編譯, 編譯的結果稱為目標程序, 存放 
目標程序文件名字緊后的字符一般為”.OBJ”或”.O”。程序翻譯成目標程序后, 便 
可進行連接。”連接”的目的是使程序變成在計算機上可以執行的最終形式。在這 
一階段, 從系統程序庫來的程序要與目標程序連接, 連接的結果稱為執行程序, 
存放執行程序文件名字一般以”.EXE”結尾。 
    在Turbo C集成開發環境中建立一個新程序通常有以下幾個步驟: 
    (1). 在編輯器中編寫源文件。 
    (2). 生成可執行文件。 
  
    在DOS提示符下鍵入TC, 即可進入Turbo C了。進入主TC屏后, 按F3鍵, 即可 
在隨之出現的框中輸入文件名, 文件名可以帶”.C”也可以不帶( 此時系統會自動 
加上)。輸入文件名后, 按回車, 即可將文件調入, 如果文件不存在,  就建立一 
個新文件(也可用下面例子中的方法輸入文件名)。系統隨之進入編輯狀態。就可 
以輸入或修改源程序了, 源程序輸入或修改完畢以后, 按Ctrl+F9(同時按下Ctrl 
鍵和F9鍵), 則立即進行編譯、連接和執行, 這三項工作是連續完成的。 
    下面我們試著建立一個Turbo C名為”HELLO.C”的源程序(因程序很小, 這里就 
不畫出該程序的輪廓圖了): 
    1. 操作步驟: 
    (1). 將系統置于DOS提示符下: 
    (2). 鍵入命令: 
          tc hello.c 
使系統進入Turbo C集成開發環境, 并建立一個名為HELLO.C的文件。這時, 系統 
進入Turbo C編輯環境。 
    (3). 通過鍵盤輸入程序, 例如: 
     main() 
     { 
          printf(“Hello, worldn”); 
     } 
則程序進入計算機存貯器。 
    2. 程序存盤 
    為防止意外事故丟失程序, 最好將輸入的程序存貯到磁盤中。在編輯窗口下, 
可直接按F2鍵或按F10鍵, 再按F鍵進入File菜單項, 再按S或W鍵將文件存盤。存 
盤時屏幕最底行會顯示: 
     “saving edit file” 
    3. 編譯一個程序 
    對源程序進行編譯有兩種方法: (1). 直接按Alt+F9即可。(2). 按F10 鍵返 
回主菜單, 選擇Compile項,  屏幕顯示Compile 下拉菜單,   從下拉菜單中選擇 
Compile to .OBJ項, 按回車鍵。 
    進入編譯狀態后, 屏幕會出現一個編譯窗口, 幾秒鐘后, 屏幕顯示一閃爍信 
息: 
          Success: press any key 
表示編譯成功。此時可按任意鍵, 編譯窗口消失, 光標返回主菜單。 
    如果編譯時產生警告Warning或出錯Error信息, 這些具體錯誤信息會顯示在 
屏幕下部的信息窗中, 必須糾正這些錯誤。對源程序進行修改, 重新進行編譯。 
    4. 運行程序 
    源程序經編譯無誤后, 可以投入運行。具體操作如下: 
    (1). 如果當前還在編輯狀態, 可按Alt+R, 再選擇RUN項即可。 
    (2). 按Ctrl+F9。 
    程序投入運行時, 屏幕會出現一個連接窗口, 顯示Turbo C 正在連接和程序 
所需的庫函數。連接完畢后, 會出現屏幕突然一閃, 后又回到TC主屏幕, 發生了 
什么? 讓我們按Alt+F5看看, 此時屏幕被清除, 在頂部顯示”Hello, world”字樣。 
再按任意鍵, 即可又回到TC主屏幕。 
    5. 列磁盤文件目錄 
    現在請按Alt+X退出Turbo C, 返回DOS提示符, 鍵入dir hello.*, 回車, 則 
屏幕顯示: 
     HELLO   C       42   1-09-93  10:18 
     HELLO   OBJ    221   1-09-93  10:22 
     HELLO   EXE   4486   1-09-93  10:25 
     … 
    第一個文件HELLO.C是源文件文本, 在DOS提示符下鍵入TYPE HELLO.C命令, 
可在屏幕上顯示該文件的內容。可看到該程序只有42個字節。 
    第二個文件HELLO.OBJ是Turbo C編擇程序產生的二進制機器指令(目標碼), 
如果用DOS命令TYPE顯示該文件, 屏幕可能會出現混亂的信息。 
    第三個文件HELLO.EXE是Turbo C連接程序產生的實際可執行文件。在DOS 提 
示符下鍵入HELLO并按回車, 屏幕將顯示”Hello, world”。

    Turbo C 常用的編輯命令 
 

    Turbo C編輯程序大約有50條命令, 用以移動光標, 按頁查看正文,  查找并 
替換字符串等。如下表所示。

                  表1. Turbo C編輯程序命令 
━━━┳━━━━━━━━━┳━━━━━━━━━━━━━ 
 類別 ┃   功能           ┃       默認鍵 
━━━╋━━━━━━━━━╋━━━━━━━━━━━━━ 
      ┃  字符左          ┃  Ctrl+S或Left 
  基  ┃  字符右          ┃  Ctrl+D或Right 
  本  ┃  字左            ┃  Ctrl+A 
  光  ┃  字右            ┃  Ctrl+F 
  標  ┃  上行            ┃  Ctrl+E或Up 
  移  ┃  下行            ┃  Ctrl+X或Down 
  動  ┃  上滾            ┃  Ctrl+W 
  命  ┃  下滾            ┃  Ctrl+Z 
  令  ┃  上一頁          ┃  Ctrl+R或PgUp 
      ┃  下一頁          ┃  Ctrl+C或PgDn 
━━━╋━━━━━━━━━╋━━━━━━━━━━━━━ 
  快  ┃  行頭            ┃  Ctrl+QS或Home 
  速  ┃  行尾            ┃  Ctrl+QD或End 
  光  ┃  窗口頭          ┃  Ctrl+QE 
  標  ┃  窗口底          ┃  Ctrl+QX 
  移  ┃  文件頭          ┃  Ctrl+QR 
  動  ┃  文件尾          ┃  Ctrl+QC 
  命  ┃  塊頭            ┃  Ctrl+QB 
  令  ┃  塊尾            ┃  Ctrl+QK 
      ┃  上次光標位置    ┃  Ctrl+QP 
━━━╋━━━━━━━━━╋━━━━━━━━━━━━━ 
  輸  ┃  插入模式        ┃  Ctrl+V或Ins 
  入  ┃  插入行          ┃  Ctrl+N 
  與  ┃  刪除行          ┃  Ctrl+Y 
  刪  ┃  刪除至行尾      ┃  Ctrl+QY 
  除  ┃  刪除光標左邊字符┃  Ctrl+H或Backspace 
  命  ┃  刪除光標處字符  ┃  Ctrl+G或Del 
  令  ┃  刪除光標右邊字符┃  Ctrl+T 
━━━╋━━━━━━━━━╋━━━━━━━━━━━━━ 
      ┃  標記塊首        ┃  Ctrl+KB 
      ┃  標記塊尾        ┃  Ctrl+KK 
      ┃  標記單個字      ┃  Ctrl+KT 
  塊  ┃  復制塊          ┃  Ctrl+KC 
  命  ┃  刪除塊          ┃  Ctrl+KY 
  令  ┃  塊取消          ┃  Ctrl+KH 
      ┃  塊移動          ┃  Ctrl+KV 
      ┃  讀塊            ┃  Ctrl+KR 
      ┃  寫塊            ┃  Ctrl+KW 
━━━╋━━━━━━━━━╋━━━━━━━━━━━━━ 
      ┃  異常結束操作    ┃  Ctrl+U或Ctrl+Break 
      ┃  制表            ┃  Ctrl+L或Tab 
  其  ┃  自動縮進        ┃  Ctrl+OI 
      ┃  定界符配對      ┃  Ctrl+Q[或Ctrl+Q] 
  它  ┃  查找            ┃  Ctrl+QF 
      ┃  查找并替換      ┃  Ctrl+QA 
      ┃  查找標記        ┃  Ctrl+QN 
      ┃  退出編輯        ┃  Ctrl+KQ 
━━━┻━━━━━━━━━┻━━━━━━━━━━━━━

    Turbo C 程序的調試

    一個程序設計好了以后, 通常會有一些錯誤, 查找和修改程序中的錯誤是令 
人頭痛的事。Turbo C集成開發環境提供了一調試裝置,  使得這一個工作容易了 
許多, 程序調試達到了編譯和運行級。

    一、TC消息窗口

    使用TC最好的理由之一是它允許用戶修改語法錯誤(編譯時) 和評估編譯器給 
出的警告。TC將編譯器和連接器發出的消息收集到一緩沖區中, 然后在消息窗口 
中顯示, 這樣在訪問源代碼的同時, 還能一下看到這些消息。 
    現將上面的HELLO.C制造一點語法錯誤, 將第一行包含語句的#去掉, 再去掉 
第五行printf語句中的后引號。現在程序看上去是這樣的: 
     include <stdio.h> 
     main() 
     { 
          printf(“Hello, worldn); 
     } 
按CTRL+F9重新編譯之。編譯窗口將顯示有多少錯誤和警告: 應為兩個錯誤, 0個 
警告。 
    當看見編譯窗口中的Press anykey提示時, 按空格鍵, 消息窗口立刻被激活, 
亮條出現在第一個錯誤或警告上, 這時編輯窗口中也會有一亮條— 它標志著編 
譯器給出的錯誤或警告在源代碼中的相應位置。 
    這時可用光標鍵將消息窗口中的亮條上下移動, 注意到編輯窗口中的亮條也 
隨著跟蹤源代碼中錯誤發生的位置。如果將亮條置于”compile”上,  則編輯器顯 
示文件的最后位置。 
    如果消息窗口太長看不見, 可用左、右光標水平滾動消息, 為了一次能夠多 
看點信息, 可按F5放大消息窗口。放大后, 編輯窗口不可見了, 因此不進行錯誤 
跟蹤。現在, 保持分屏模式。 
    為了改正錯誤, 將消息窗口中的亮條置于第一個錯誤消息上, 回車, 光標移 
到編輯窗口中錯誤產生處, 注意, 編輯器狀態給出所選消息( 這在放大模式下是 
有用的)改正之。(將第一行拿走的#重新寫上)。 
    當不只一個錯誤時, 可用兩種方法來修改下一錯誤。 
    第一種方法和前面一樣, 按F6回到消息窗口選擇想修改的下一條消息。 
    第二種方法不用回到消息窗口, 只要按Alt+F8, 編譯器就會將光標移至消息 
窗口中列的下一個錯誤。按Alt+F7可移至前一個錯誤。 
    這兩種方法各有長短, 視情況而定。有時源代碼中一個愚蠢的錯誤把編譯弄 
糊涂了, 產生好多消息, 這時選擇修改第一條消息就使得其余的一些錯誤消息沒 
有什么意義了, 這種情況發生時, 使用方法一會方便些, 一修改完第一個錯誤之 
后回到消息窗口, 再滾動到下一個有意義的消息上, 選擇之。在別的情況下, 按 
Alt+F8會方便得多。 
    記住, Alt+F7和Alt+F8是熱鍵, TC中無論何時均起作用。因此在消息窗口中 
按Alt+F8得到的不是當前亮行消息, 而是下一個消息(按Enter選擇當前消息)。 
但如果沒別的編譯消息, Alt+F8就不起作用了。 
    注: 可以如此法選擇連接消息, 但它們不跟蹤源文件。在修改語法錯誤的過 
程當中, 經常需要增加、刪除正文, 編輯器是記住的, 依然能正確定位錯誤位置。 
沒有必要記住行號和增加、刪除的正文行。

    二、Turbo C集成調試器

    一旦修改好語法錯誤之后程序編譯就沒什么問題了, 但還是可能不按要求運 
行, 因為可能有邏輯錯誤(運行錯誤)。這種錯誤跟蹤就無助于發現錯誤位置了。 
TC有一個集成調試器可以跟蹤運行錯誤。通過調試器可以運行,  在斷點處暫停, 
檢查變量的值, 甚至可以改變之, 以看程序會有什么反應。 
  Turbo C集成調試器是源程序級的調試器, 即用同你編寫程序一樣的” 語言” 
來控制調試器。例如, 為了顯示數組中的一個元素的值, 可告訴調試器顯示這樣 
的表達式的值: 
Ctrl+F4  Debug/Eavluate            計算表達式, 允許修改變量的值。 
         Debug/Find Function       查找函數定義, 顯示在編輯窗口中。 僅 
                                   在調試時才有效。 
Ctrl+F3  Debug/Call Stack          顯示調用棧,  可顯示任何函數的當前執 
                                   行位置, 其方法是在調用棧中選擇相應的 
                                   函數名。僅在調試時有效。 
         Debug/Source Debugging    控制是否允許調試: 置為On時,  集成調 
                                       試器和單獨調試器均可用 ;   置為 
                                        Standalone時, 只能用單獨調試器 
                                        調試, 雖然還能在TC中運行; 置為 
                                        None時, 在.EXE文件不置調試信息, 
                                        兩種調試均不能調試。 
Ctrl+F4  Break/Watch/Add Watch          增加一監視表達式。 
         Break/Watch/Delete Watch       刪除一監視表達式。 
         Break/Watch/Edit               編輯一監視表達式。 
         Break/Watch/Remove All         刪除所有監視表達式。 
           Watches 
Ctrl+F8  Break/Watch/Toggle             設置或清除光標所在行的斷點。 
           Breakpoint 
         Break/Watch/Clear              刪除程序中所有斷點。 
           Breakpoint 
         Break/Watch/Next               顯示下一斷點 
           Breakpoint 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

               表3. 調試器菜單命令及其熱鍵 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 
  熱鍵            菜單命令                           功能 
─────────────────────────────────── 
  F5                                 在整屏和分屏之間放大縮小活動窗口。 
Alt+F5                               將顯示轉到用戶屏, 擊任意鍵返回。 
  F6                                 在編輯窗口與監視窗口或消息窗口間 
                                     切換。 
Alt+F6                               若編輯窗口是活動的,  轉到最近一次 
                                     裝入編輯器的文件;  若下面窗口是活 
                                     動的, 則在監視窗口和消息窗口間切換。 
Ctrl+F9   Run/Run                    調試運行或不調試運行程序,  必要時 
                                     編譯、連接源文件, 若編譯、 連接時 
                                     Debug/Source Debuging和O/C/C/OBJ 
                                     Debug Information為On, 則運行程序 
                                     到斷點或程序末尾。 
          Project/Remove Messages    刪除消息窗口中的內容。 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 
  
    判斷程序是否出錯或者為什么出錯是編程中最有挑戰意義的一方面。這里建 
義你進行預防性設計, 具體做法為: 
    (1). 將代碼寫清楚點, 應作適當縮進, 使用文字說明和描述性的變量名。 
    (2). 代碼應簡單, 把精力放在簡單語句中的復雜表達式,  而不是一些復雜 
語句。Turbo C的代碼優化機制將大大提高代碼的效率, 而且調試、閱讀、 修改 
起來容易。 
    (3). 盡量用目的簡單、好定義的函數構建程序。 這會便于編制調試程序和 
分析結果, 而且閱讀、修改起來也要容易一些。 
    (4). 應盡量減少各個函數要求的數據和改變數據的元素個數。這也會便于 
編制測試程序和分析結果; 同樣便于閱讀、修改程序。并且還限制了出錯函數可 
能造成的巨大混亂的牽涉面, 便得能在一個調試節中多運行函數幾次。 
    (5). 要留心編寫程序中的公共函數, 或者說在其它程序中可再用的函數。 
編寫、調試一個一般性的函數通常要比編寫、調試兩個或更多的特殊函數要容易。 
  
 

    Turbo C編譯、連接和運行時的常見錯誤 
 

    一、編譯時的常見錯誤

    1. 數據類型錯誤。此類錯誤是初學者編程時的常見現象,  下面是一些要引 
起注意的錯誤: 
     (1) 所有變量和常量必須要加以說明。 
     (2) 變量只能賦給相同類型的數據。 
     (3) 對scanf()語句, 用戶可能輸入錯誤類型的數據項, 這將導致運行時出 
錯, 并報出錯信息。為避免這樣的錯誤出現, 你就提示用戶輸入正確類型的數據。 
     (4) 在執行算術運算時要注意: 
          a. 根據語法規則書寫雙精度數字。要寫0.5, 而不是寫.5; 要寫1.0, 
             而不是1。盡管C語言會自動地把整型轉換成雙精度型, 但書寫雙精 
             度型是個好習慣。讓C語言為你做強行轉換這是一種效率不高的程序 
             設計風格。 這有可能導致轉換產生錯誤。 
          b. 不要用0除。這是一個災難性的錯誤, 它會導致程序失敗,  不管C 
             語言的什么版本, 都是如此, 執行除法運算要特別小心。 
          c. 確保所有的雙精度數(包括那些程序輸入用的雙精度數) 是在實數 
             范圍之內。 
          d. 所有整數必須在整數允許的范圍內。這適用于所有計算結果,  包 
             括中間結果。

    2. 將函數后面的”;”忘掉。此時錯誤提示色棒將停在該語句下的一行, 并顯 
示: 
     Statement missing ; in function <函數名>

    3. 給宏指令如#include, #define等語句尾加了”;”號。

    4. “{“和”}”、”(“和”)”、”/*”和”*/”不匹配。 引時色棒將位于錯誤所在的 
行, 并提示出有關丟掉括號的信息。

    5. 沒有用#include指令說明頭文件,  錯誤信息提示有關該函數所使用的參 
數未定義。

    6. 使用了Turbo C保留關鍵字作為標識符, 此時將提示定義了太多數據類型。

    7. 將定義變量語句放在了執行語句后面。此時會提示語法錯誤。

    8. 使用了未定義的變量, 此時屏幕顯示: 
        Undefined symbol ‘<變量名>’ in function <函數名>

    9. 警告錯誤太多。忽略這些警告錯誤并不影響程序的執行和結果。編譯時 
當警告錯誤數目大于某一規定值時(缺省為100)便退出編譯器,  這時應改變集成 
開發環境Options/Compiler/Errors中的有關警告錯誤檢查開關為off。

    10. 將關系符”==”誤用作賦值號”=”。此時屏幕顯示: 
        Lvalue required in function <函數名>

    二、連接時的常見錯誤

    1. 將Turbo C庫函數名寫錯。這種情況下在連接時將會認為此函數是用戶自 
定義函數。此時屏幕顯示: 
       Undefined symbol ‘<函數名>’ in <程序名>

    2. 多個文件連接時, 沒有在”Project/Project name中指定項目文件 (.PRJ 
文件), 此時出現找不到函數的錯誤。

    3. 子函數在說明和定義時類型不一致。

    4. 程序調用的子函數沒有定義。

    三、運行時的常見錯誤

    1. 路徑名錯誤。在MS-DOS中, 斜杠()表示一個目錄名; 而在Turbo C 中斜 
杠是個某個字符串的一個轉義字符, 這樣, 在用Turbo C 字符串給出一個路徑名 
時應考慮””的轉義的作用。例如, 有這樣一條語句: 
          file=fopen(“c:newtbc.dat”, “rb”); 
目的是打開C盤中NEW目錄中的TBC.DAT文件, 但做不到。這里””后面緊接的分別 
是”n”及”t”, “n”及”t”將被分別編譯為換行及tab字符, DOS將認為它是不正確 
的文件名而拒絕接受, 因為文件名中不能和換行或tab字符。正確的寫法應為: 
          file=fopen(“c:\new\tbc.dat”, “rb”);

    2. 格式化輸入輸出時, 規定的類型與變量本身的類型不一致。例如: 
          float l; 
          printf(“%c”, l);

    3. scanf()函數中將變量地址寫成變量。例如: 
          int l; 
          scanf(“%d”, l);

    4. 循環語句中, 循環控制變量在每次循環未進行修改,  使循環成為無限循 
環。

    5. switch語句中沒有使用break語句。

    6. 將賦值號”=”誤用作關系符”==”。

    7. 多層條件語句的if和else不配對。

    8. 用動態內存分配函數malloc()或calloc()分配的內存區使用完之后,  未 
用free()函數釋放, 會導致函數前幾次調用正常, 而后面調用時發生死機現象, 
不能返回操作系統。其原因是因為沒用空間可供分配, 而占用了操作系統在內存 
中的某些空間。

    9. 使用了動態分配內存不成功的指針, 造成系統破壞。 
 

    10. 在對文件操作時, 沒有在使用完及時關閉打開的文件。 

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
内射爆草少妇精品视频| 欧美激情000ⅩXX同性| 一本久久A精品一区二区| 亚洲人成无码网站在线观看野花| 亚洲中文字幕无码专区| 中无码人妻丰满熟妇啪啪| CEKC老妇女CEA0| 办公室被绑奶头调教羞辱OL| 国产SM残忍打屁股调教视频| 国产真人无遮挡作爱免费视频| 暴躁老阿姨CSGO攻略大全| 成人免费777777被爆出| 乖我们换个姿态再来一遍吧的小说 | 日本高清无卡码一区二区| 私人影院家庭影院| 亚洲成AV人片一区二区三区| 永久免费AV网站可以直接看的| 亚洲产国偷v产偷v自拍浪潮AV| 亚洲中文字幕AV无码区| 999久久久国产精品消防器材| 亚洲综合成人婷婷五月在线观看 | 欧美精产国品一二三类产品特点 | 人妻AV综合天堂一区| 天堂AV旡码AV毛片毛片免费 | 少妇又紧又深又湿又爽视频| 亚洲AV无码一区东京热不卡| 中文字幕乱码人妻综合二区三区| 成人国产精品一区二区免费看 | 亚洲AV无码久久久久久精品同性 | 高潮潮喷奶水飞溅视频无码| 韩国亚洲精品a在线无码| 免费极品AV一视觉盛宴| 色婷婷综合久久久久中文| 亚洲精品天堂成人片AV在线播放| 99精品国产成人综合| 国产精品国色综合久久| 国产成人AV性色在线影院色戒| 精品国产一区二区三区性色AV | 久久97人人超人人超碰超国产| 皇上御花园HLH| 欧美精产国品一二三类产品 | 诱人的老师HD中字| 放荡爆乳女教师电影在线观看| 极品尤物一区二区三区| 秋霞人妻无码中文字幕| 亚洲国产美女精品久久久| XXXXX18日本人HDXX| 国精产品一品二品国精HTC| 欧美成人一区二区三区| 欧洲PAYPAL网站WWW| 亚洲AV日韩专区在线观看| AV无码电影一区二区三区| 99国精产品W灬源码1688| 国产精品国产自线拍免费| 免费无码高潮流白浆视频| 无遮挡粉嫩小泬久久久久久久久| 607080岁奶奶| 含羞草亚洲AV无码久久精品| 人妻久久久精品99系列A片| 亚洲国产精品久久久久蜜桃| 成人A片产无码免费视频在线观看| 久久99热精品免费观看牛牛| 少妇午夜啪爽嗷嗷叫视频| 中文字幕久久综合伊人| 无码一区二区三区在线观看| 人妻AV中文字幕无码专区| 亚洲国产成人精品无码区在线网站 | 欧美肥妇多毛BBW| 亚洲不卡无码WWW一区二区三区| 八戒八戒在线WWW观看| 久久精品国产精品久久久| 图片小说视频一区二区| 99久久精品国产波多野结衣 | 欧美人与人动人物2020| 亚洲久悠悠色悠在线播放| 大象一区一品精区搬运机器 | 91人妻超碰亚洲| 精品国产免费第一区二区三区| 熟妇人妻精品一区二区三区颏| 97超级碰碰碰久久久久APP| 精品久久久久久狼人社区| 熟女CHACHACHA性少妇| CEKC老妇女CEA0| 久久午夜夜伦鲁鲁片无码免费| 亚洲AV成人无码精品| 丁香五月婷激情综合第九色| 女人18片毛片60分钟630| 亚洲日韩激情无码一区| 国产免费一区二区三区不卡| 日日天干夜夜狠狠爱| 无码AV蜜臀AⅤ色欲在线| 亚洲国产精品久久一线不卡| 国产福利在线永久视频| 日本入室强伦姧BD在线观看| 18禁超污无遮挡无码免费动态图 | 天空影院手机免费观看在线| 啊~每一次都撞到最里面| 免费久久99精品国产自在现| 亚洲日韩中文字幕日本| 国产清纯白嫩大学生正在播放| 少妇内射高潮福利炮| 亚洲色大成网站WWW尤物| 国产强伦姧在线看无码| 天美传媒MV免费观看软件的特点| 宝贝乖女小芳小雪| 欧美成人午夜视频| 中文字幕久久波多野结衣AV| 久久性色欲AV免费精品观看| 亚洲人成无码网在线观看APP| 国产主播AV福利精品一区| 无码人妻精品一区二区蜜桃天美 | 四虎必出精品884| 成熟丰满熟妇AV无码| 久久不卡国产精品无码| 亚洲JIZZJIZZ中国妇女| 国产女人喷潮视频在线观看| 我和亲妺婷婷在浴室作爱经过| 丰满熟妇乱又伦在线无码视频| 日本熟妇色XXXXX日本老妇| ZZTT10.CCM黑料| 人妻激情另类乱人伦人妻| YW尤物AV无码国产在线观看| 欧美熟女一区二区三区| 亚洲国产成人乱码| 国内精品九九久久精品| 小嫩妇好紧好爽再快视频| 国产精品夜间视频香蕉| 午夜精品一区二区三区在线视 | 成人国产亚洲精品A区| 日本不良网站正能量入口大豆行情| YY111111少妇影院无码| 亲孑伦视频一区二区三区视频| MM131巨爆乳美女少妇动态图| 漂亮人妻洗澡被公强 日日躁| А√天堂8在线官网| 人妻熟女AⅤ中文字幕在线看| 被黑人捅入子宫射精小说| 日本乱人伦AⅤ精品潮喷| 东京热加勒比无码视频| 体验区试看120秒十八禁| 国产精品无码无卡在线观看久 | 色视频WWW在线播放国产人成| 丰满岳乱妇在线观看中字无码 | 日本丰满人妻熟妇BBBBB| 大战丰满人妻性色AV偷偷| 天天躁日日躁很很很躁| 国产乱子伦农村叉叉叉| 亚洲成A人片在线观看无遮挡| 精品国精品国产自在久国产应用 | 麻豆果冻传媒精品国产AV| 亚洲AV丁香五月六月婷婷| 国精产品一区二区三区糖心269| 亚洲人成无码网站在线观看野花| 久久亚洲色WWW成人网址| 97久久精品无码一区二区天美| 日本VPSWINDOWS怀孕| 国产成人AV综合亚洲色欲| 亚洲AV无码成人专区| 久久精品国产亚洲AV蜜桃| 中文字幕人成人乱码亚洲影| 全免费A级毛片免费看无码| 嗯~使劲~别停~高H漫画| 无码人妻一区二区三区免费N鬼沢 无码人妻一区二区三区免费AV | 无码人妻精品丰满熟妇区| 精品国产第一福利网站| 一本一道色欲综合网中文字幕| 欧美虐SM另类残忍视频| 高潮毛片无遮挡高清免费| 亚洲AV无码不卡在线播放| 久久天天躁夜夜躁狠狠| YY8090韩国理伦片在线| 乌克兰ZOOMKOOL| 久久精品无码一区二区三区不卡| 99精产国品一二三产区| 熟妇人妻一区二区三区四区 | 欧美极品少妇XXXX亚洲精品| 丰满少妇被猛烈进入高清播放| 亚洲AV性色在线观看| 麻豆精品传媒一二三区| 成人免费无码大片A毛片| 亚洲AV无码专区在线观看成人| 伦人伦XXXX国语对白| 第一次挺进苏雨萌| 亚洲国产精品无码第一区二区三区| 毛耸耸性XXXX毛耸耸| 丰满年经的继拇6| 亚洲欧洲国产码专区在线观看 | 八戒八戒视频在线WWW观看| 香蕉成人伊视频在线观看| 理论片午午伦夜理片久久| 俄罗斯6一12泑女精品| 亚洲欧美日本A∨在线观看 | 多毛小姐BGMBGMBGM| 亚洲成人av在线| 欧美无遮挡很黄裸交视频 | 性生生活色欲片性按摩| 男女无遮挡猛进猛出免费视频 | 人人妻人人澡人人爽欧美一区九九| 国产午夜精品一区二区三区漫画| 47147人文艺术欣赏|