C語言入門教學分享
發布者:網上發布
??在實際教學過程中,有不少同學覺得C語言學習比較困難,就我的理解,主要有兩點原因。第*,C語言的語法知識太多、太瑣碎;第二,反復地做算法類的編程練習,不感興趣,不愿寫程序,進而覺得入門困難。
??想學習C語言,首先就要了解什么是C語言!C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
??盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的C語言程序可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平臺。
??二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標準局為C語言訂定了一套完整的國際標準語法,稱為ANSI C,作為C語言最初的標準。
??C語言的特點可概括如下:
??(1)簡潔、緊湊、靈活。C語言的核心內容很少,只有32個關鍵字,9種控制語句;程序書寫格式自由,壓縮了一切不必要的成分。
??(2)表達方式簡練、實用。C語言有一套強有力的運算符,達44種,可以構造出多種形式的表達式,用一個表達式就可以實現其他語言可能需要多條語句才能實現的功能。
??(3)數據類型豐富。數據類型越多,數據的表達能力就越強。C語言具有多種數據類型,如字符型、整型、實型、數組、指針、結構體和共用體等,可以實現諸如鏈表、棧、隊列、樹等各種復雜的數據結構。其中的指針類型使得參數的傳遞簡單并且迅速,同時節省內存空間。
??(4)具有低級語言的特點。C語言具有與匯編語言相近的功能和描述方法,如地址運算和二進制數位運算等,還可以對硬件端口等資源進行直接操作,充分使用計算機的資源。C語言既具有高級語言便于學習和掌握的特點,又具有機器語言或匯編語言對硬件的操作能力。因此,C語言既可以作為系統描述語言,又可以作為通用的程序設計語言。
??(5)C語言是一種結構化語言,適合于大型程序的模塊化設計。C語言提供了編寫結構化程序的基本控制語句,如if-else語句、switch語句、while語句和do-while語句等。C語言是函數的集合,函數是構成C語言程序的基本單位,每個函數具有獨立的功能,函數之間通過參數傳遞數據。程序員可以編寫自己的函數。同時,不同操作系統的編譯器都為程序員提供了大量的標準庫函數,如輸入/輸出函數、數學函數和字符串處理函數等。靈活地使用標準庫函數可以簡化程序設計,提高編寫程序效率。
??(6)各種版本的編譯器都提供了預處理命令和預處理程序。預處理擴展了C語言的功能,提高了程序的可移植性,為大型程序的調試提供了方便。
??(7)可移植性好。程序從一個環境不經改動或稍加改動就可以移植到另一個完全不同的環境中運行。這是因為標準庫函數和預處理程序將可能出現的與機器有關的因素與源程序分割開來,使得針對不同的計算機硬件環境,可以重新定義有關的內容。
??8)生成的目標代碼質量高。由C源程序編譯和鏈接得到的目標代碼的運行效率比用匯編語言編寫的也不過只低10%~20%,可充分發揮機器的效率。
??(9)C語言語法限制不嚴,程序設計自由度大。C語言程序在運行時不做諸如數組下標越界和變量類型兼容性等檢查,而是由編程者自己保證程序的正確性。C語言幾乎允許所有的數據類型的轉換,字符型和整型可以自由混合使用,所有類型均可作邏輯型,可自己定義新的類型,還可以把某類型強制轉換為指定的類型。實際上,這使編程者有了更大的自主性,能編寫出靈活、優質的程序,同時也給初學者增加了一定的難度。所以,只有在熟練掌握C語言程序設計之后,才能體會到其靈活性。