C語言程序設計入門學習六步曲

2021-02-15 跟遲老師學C語言

初學者遇到最多的困惑是:上課也能聽懂,書上的例題也能看明白,可是到自己動手做編程時,卻不知道如何下手。發生這種現象的原因有三個:

一、所謂的看懂聽明白,只是很膚淺的語法知識,而我們編寫的程序或軟體是要根據要解決問題的實際需要控制程序的流程,如果你沒有深刻地理解C語言的語句的執行過程(或流程),你怎麼會編寫程序解決這些實際問題呢?

二、用C語言編程解決實際問題,所需要的不僅僅是C語言的編程知識,還需要相關的專業知識。例如,如果你不知道長方形的面積公式,即使C語言學得再好你也編不出求長方形的面積的程序來。

三、C語言程序設計是一門實踐性很強的課程,「紙上談兵」式的光學不練是學不好C語言的。例如,大家都看過精彩自行車雜技表演,假如,你從來沒有騎過自行車,光聽教練講解相關的知識、規則、技巧,不要說上臺表演、就是上路你恐怕都不行。

出現問題原因清楚了,那麼如何學習呢?請你看「C語言學習六步曲」

特別提醒:在使用本方法之前一定要先閱讀C語言的相關內容,要初步掌握相關知識的要點,然後按下述方法學習,可以達到理解、鞏固、提高C語言知識和提高程序調式能力的目的。  

第一步驗證性練習

在這一步要求按照教材上的程序實例進行原樣輸入,運行一下程序是否正確。在這一步基本掌握C語言編程軟體的使用方法(包括新建、打開、保存、關閉C程序,熟練地輸入、編輯C程序;初步記憶新學章節的知識點、養成良好的C語言編程風格)。

初學者最容易犯的錯誤是:

1、沒有區分開教材上的數字1和字母l,字母o和數字0的區別,造成變量未定義的錯誤。另一個易錯點是將英文狀態下的逗號,分號;括號()雙引號""輸入出入成中文狀態下的逗號,分號;括號(),雙引號「」造成非法字符錯誤。

2、C語言初學者易犯語法錯誤:使用未定義的變量、標示符(變量、常量、數組、函數等)不區分大小寫、漏掉「;」、「{」與「}」、「(」與「)」不匹配、控制語句(選擇、分支、循環)的格式不正確、調用庫函數卻沒有包含相應的頭文件、調用未聲明的自定義函數、調用函數時實參與形參不匹配、數組的邊界超界等。

3、修改C語言語法錯誤時要注意以下兩點:

(1)由於C語言語法比較自由、靈活,因此錯誤信息定位不是特別精確。例如,當提示第10行發生錯誤時,如果在第10行沒有發現錯誤,從第10行開始往前查找錯誤並修改之。

(2)、條語句錯誤可能會產生若干條錯誤信息只要修改了這條錯誤,其他錯誤會隨之消失。特別提示:一般情況下,第一條錯誤信息最能反映錯誤的位置和類型,所以調試程序時務必根據第一條錯誤信息進行修改,修改後,立即運行程序,如果還有很多錯誤,要一個一個地修改,即,每修改一處錯誤要運行一次程序。

第二步照葫蘆畫瓢

在第一步輸入的C程序的基礎上進行試驗性的修改,運行一下程序看一看程序結果發生了什麼變化,分析結果變化的原因,加深新學知識點的理解。事實上這和第一步時同步進行的,實現「輸入」加深知識的記憶,「修改」加深對知識的理解。記憶和理解是相輔相成的,相互促進。

例如:將最簡單的HelloWorld!程序

#include "stdio.h"

int main()

{

   printf("Hello World!\n");

   return 0;

}

中的printf("HelloWorld!\n");中的Hello World!改成你的姓名,運行一下程序,看有什麼變化?

再如求1+2+3...+100的和的程序

#include <stdio.h>

main()

{

   int i,sum=0;

   for(i=1;i<=100;i++)

       {

            sum=sum+i;

         }

         printf("sum=%d\n",sum);

    }

第1次將for(i=1;i<=100;i++)中的100改成50,運行一下程序,看有什麼變化?

第2次將for(i=1;i<=100;i++)中的i++改成i=i+2,運行一下程序,看有什麼變化?

找出程序結果變化的原因,就加深了對C語句的理解。 

第三步不看教材看是否能將前兩步的程序進行正確地輸入並運行。

在這一步要求不看教材,即使程序不能運行,看能否將其改正,使其能正確運行。目的是對前兩步的記憶、理解進一步強化。

第四步、增強程序的調試能力

教材附錄中有C語言初學者易犯的錯誤,按照易出錯的類型,將教材中的正確的程序改成錯誤的程序,運行一下程序,看出現的錯誤信息提示,並記下錯誤信息,再將程序改成正確的,運行一下程序。這樣反覆修改,就能夠學習C語言程序發生錯誤的原因和修改錯誤的能力。

注意:每次只改錯一個地方,目的是顯示發生該錯誤的真正原因,避免一次改動多個地方,搞清發生錯誤的真正原因,切記!!!!

注意:上機調試程序時要帶一個記錄本,記下英文錯誤提示信息和解決該錯誤問題的方法,積累程序調試經驗,避免在編程犯同樣的錯誤,切記!!!!

例如,將HelloWorld程序中語句printf("HelloWorld!\n");中的;改成中文的分號;運行一下程序,看有什麼結果?

C語言的錯誤信息的形式:(下面例子是VisualC++6.0 錯誤信息,如圖2)

文件名                   行號 冒號 錯誤代碼   冒號      錯誤內容

↓                       ↓   ↓       ↓      ↓         ↓

e:\wintc\wintc\frist.c ( 5 ) : error C2143 : syntax error : missing ')' before';'

調試程序是一種實踐性很強的事,光紙上談兵是是沒用的,就像遊泳運動員只聽教練講解示範,而不親自下水練習,是永遠學不會遊泳的。即使在優秀的程式設計師編寫程序也會犯錯誤的,可能事最低級的語法錯誤,但他能快速發現錯誤並改正錯誤,而我們C語言初學者面對錯誤提示,不知道發生了什麼錯誤,如何改正,這就是差別。

第五步研究典型的C語言程序,提高程序設計能力

經過上述過程的學習,我們已經學會了C語言各種語句的流程(即計算機是如何執行這些語句的過程),然後就可以研讀別人編寫C語言經典程序,看懂別人是如何解決問題的,學習解決問題的方法和程序設計技巧,提高自己的程序設計能力。

第六步、研究課程設計源程序,提高C語言程序設計的能力。

C語言課程設計的目的:是讓學生綜合利用所學的C語言知識,解決一些接近實際問題題目,提高程序設計和調試較大程序的能力,為進一步進行軟體開發打下堅實的基礎。

最後送C語言初學者一句話來共勉:首先要相信自己是有能力學好C語言的,然後不惜一切代價把這種能力表現出來,你就成功了。做任何事,何嘗不是這樣呢?興趣是學習C語言的最大動力,學習方法給你指明努力的方向,讓你事半功倍。

相關焦點

  • C語言程序設計入門學習六步曲(菜鳥福利哦!)
    請你看【C語言學習六步曲】  特別提醒:在使用本方法之前一定要先閱讀C語言的相關內容,要初步掌握相關知識的要點,然後按下述方法學習,可以達到理解、鞏固、提高C語言知識和提高程序調式能力的目的。    第一步、驗證性練習在這一步要求按照教材上的程序實例進行原樣輸入,運行一下程序是否正確。
  • 程序設計入門——C語言
    【課程簡介】:程序設計是一門基礎課程。對於計算機相關專業而言,程序設計是專業基礎知識,是進一步學習其他專業知識的第一步階梯;對於非計算機專業而言,程序設計的學習有助於理解計算機的能力所在,理解哪些是計算機擅長解決的問題,怎樣的方式方法是計算機擅長的手段,從而能更好地利用計算機來解決本專業領域內的問題。
  • 程序設計入門—Java語言 免費學習教程
    教程介紹         程序設計是一門基礎課程。對於計算機相關專業而言,程序設計是專業基礎知識,是進一步學習其他專業知識的第一步階梯;對於非計算機專業而言,程序設計的學習有助於理解計算機的能力所在,理解哪些是計算機擅長解決的問題,怎樣的方式方法是計算機擅長的手段,從而能更好地利用計算機來解決本專業領域內的問題。
  • 入門C語言!
    也許有很多同學想學習C語言,卻不知道從什麼地方入手。或者有一些同學,學了一些基礎,太簡單的覺得枯燥無趣,有點複雜的又靜不下心來細細琢磨,也就是所謂的瓶頸時期,如果過了這個時期,C語言的學習就會順暢很多,高度也會大幅度提升。
  • C 語言程序設計---入門篇
    ,一起來學習 C,最終的目的:熟練使用 C 進行項目開發,符合公司級別的 C 標準水平推薦C語言方面的一些書籍和視頻:新手入門:機械工業出版社的《C程序設計語言》C強化進階:《C缺陷與陷阱》、《C專家編程》、《C和指針》C視頻:郝斌的 C 視頻,51CTO 上面也有不錯的 C 視頻學習 C
  • 學習C語言必看的最經典書籍
    來源:互動出版網學習c語言必看的最經典書籍推薦一:《新概念51單片機C語言教程--入門
  • C語言入門學習視頻教程(完整版)
    免費C語言入門學習視頻教程,C語言是一種通用的、過程式的程式語言,廣泛用於系統與應用軟體的開發
  • c語言入門之安裝code::blocks
    C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用於底層開發。
  • C 語言程序設計---結構化程序設計
    ,再將技術進行橫向的擴展,由易入難,由深入廣的打法一個核心觀點:我們寫的程序,通過指令,轉換為機器能識別的是 0 和 1,機器是嚴格的按照指令執行,最終實現我們預期的任務三步走戰略1、當我們面對一個編程問題,不要急於動手去敲,三步走:輸入 + 處理 + 輸出
  • c語言入門教程
    導讀:隨著微型計算機的日益普及,C語言成為世界上最流行、使用最廣泛的高級程序設計語言之一。下面我們就一起來了解一下C語言的世界是什麼樣子的吧。本文引用地址:http://www.eepw.com.cn/article/272684.htm  C語言是一種電腦程式設計語言,它既具有高級語言的特點,又具有彙編語言的特點。它由美國貝爾研究所的D.M.Ritchie於1972年推出,它可以作為工作系統設計語言,編寫系統應用程式。
  • 「C語言從入門到入土」必備C語言基礎筆記整理
    一、C語言1、什麼是C語言?C語言是人寫機器看的一種語言。C語言是高級語言中的低級語言。C語言貼近硬體。C語言的入門學習比較簡單。編輯:首先是編輯,就是在編譯器中輸入原始碼,後綴名是.c||編譯:然後是對目標程序進行編譯,如果源程序沒有錯誤,得到目標程序,後綴.obj(VS編譯快捷鍵方式是Ctrl+F7)|
  • 程序設計(C語言)
    選項:A:C語言程序將從源程序中第一個函數開始執行B:可以在程序中由用戶指定任意一個函數作為主函數,程序將從此開始執行C:C語言規定必須用main作為主函數名,程序將從此開始執行,在此結束D:main可作為用戶標識符,用以命名任意一個函數作為主函數答案: 【C語言規定必須用main作為主函數名,程序將從此開始執行,在此結束】7、單選題:
  • C語言簡明教程(四)選擇程序設計
    >(四)選擇程序設計實驗內容前面講述了順序結構設計,同時在裡面穿插了 C 語言的數據類型和運算符等內容。這節課程我們將開始學習選擇結構的程序設計。在順序結構設計中,每個語句都是按照自上而下的順序執行的,執行完成一個語句就自動執行下一個語句,是無條件的,不必作任何判斷。但是生活中很多情況下,需要根據某個條件是否滿足來決定是否執行相應的操作。比如說遇到紅燈需要等待,遇到綠燈直接前行,這就是一個判斷。這節課我們就要學習這些內容。
  • C語言簡明教程(七)模塊化程序設計
    >(七)模塊化程序設計實驗簡介我們現在已經能夠編寫很多簡單的 C 語言程序了,但是如果程序的功能比較多的話,規模比較大,把所有的程序代碼都寫在一個主函數--main() 函數中,就會使主函數變得龐雜,閱讀和維護都會很困難。
  • 【C語言】02.第一個C語言程序
    三、連結程序四、運行程序五、總結六、學習建議七、clang指令匯總前言前面已經嘮叨了這麼多理論知識,從這講開始,就要通過接觸代碼來學習C語言的語法。學習任何一門語言,首先要掌握的肯定是語法。學習C語言語法的目的:就是能夠利用C語言編寫程序,然後運行程序跟硬體(計算機、手機等硬體設備)進行交互。由於我們的最終目的是學習iOS開發,學習iOS開發的話必須在Mac系統下,因此我就在Mac系統環境下開發C語言程序,而不是在Windows環境下。
  • 學習c語言,知道這三個資源就行了
    c語言作為目前最熱門的程式語言之一,一直是學生、程式設計師必須學習的課程之一,但目前許多學校的課程太過老舊,教材和教程也參差不齊,這裡就給大家推薦幾個比較好的學習c語言的資源。第一個推薦的就是《C Primer Plus》,作為一本廣受大家認可的工具書,書中詳細地講解了C語言的基本概念和編程技巧,並且包含了許多習題和例子,可以有效的幫助初學者建立對於C語言的知識體系,是一本對小白比較友好,且內容全面的入門教材。
  • C語言入門學習精華:這樣學習C語言最有效
    學習C語言,乃至學習所有的語言,都講究一個動手——不是動手打人,而是動手編程序。你必須通過編寫程序來熟悉知識、理解知識。倘若只學不編,只看別人的程序,自己不動手寫,是不能從入門到精通的。要知道,在計算機界,只說不練的人很欠揍。
  • 用C語言程序比大小及C語言程序的結構
    今天讓我們學習用C語言編寫比較兩個數大小的程序例:求兩個整數中的較大者
  • C語言入門教程-Scanf
    打開APP C語言入門教程-Scanf 佚名 發表於 2009-07-29 10:44:04 scanf函數使用的佔位符和printf的相同: int用%d float用%f char用%c 字符串(後面會討論)用%s 在使用scanf時,您必須在其變量前加上&。為什麼要這麼做的原因,在您學習指針後會很清楚。
  • C語言入門教程(一)
    C語言入門教程(一):輸入輸出函數、程序中的數據實驗環境Ubuntu 16.04 終端gcc