本書特色
1.程式語言是一種語言,它有很多特性和我們的中文很像,本書由中文導入程式語言,讓學生不會覺得學習程式語言是一門全新的學問,而畏懼學習。
2.C語言的if、for、while敘述、陣列、函數和檔案處理是很多種程式語言共同有的內容,且很多領域只需要用到這些內容就足以應付其工作所需,有鑑於此,本書僅介紹這些語法,搭配充足的例子,讓讀者可以很容易地進入程式語言的領域。
3.本書還包含:筆者教授程式語言課時,學生所提出來的問題,例如:變數為何要宣告而標誌不用;若a為浮點數,為何不能寫成if(a==0.0)等等。
作者
林振義
現職
明新科技大學電機系副教授
獲獎
榮獲教育部105年度師鐸獎
第10屆(2022年)星雲教育獎
學歷
屏東高中
交通大學控制(電機)工程學系
交通大學計算機工程研究所碩士
交通大學資訊工程研究所博士
經歷
工業技術研究院機械所
中山科學研究院
國立空中大學學科委員
目錄
第一章 程式語言簡介
1.1 人類語言與程式語言
1.2 二進位系統
1.3 流程圖
1.4 結構化程式設計
1.5 撰寫程式
第一章習題
第二章 程式的基礎
2.1 變數和常數
2.2 變數的宣告
2.3 輸出入函數
2.4 define、sizeof
2.5 註解
第二章習題
第三章 直敘述程式
3.1 運算式
3.2 算術運算子與資料型態轉換
3.3 幾個直敘述程式範例
第三章習題
第四章 選擇性敘述
4.1 條件運算式
4.2 if敘述
4.3 switch敘述
4.4 goto敘述
第四章習題
第五章 重覆性敘述
5.1 for敘述
5.2 while敘述
5.3 do-while敘述
第五章習題
第六章 陣列
6.1 一維陣列
6.2 多維陣列
6.3 字串
第六章習題
第七章 函數
7.1 使用者自定函數
7.2 函數的參數傳遞方式
7.3 變數的種類
第七章習題
第八章 檔案處理
附錄一 ASCII碼
序/導讀
序
程式語言是電腦語言,是人類要求電腦依我們的想法去做事的語言,既然是一種語言,其學習的方法就和我們學中文、美語相似。我們在學中文或美語時,最重要的是要學會「聽、說、讀、寫」,而我們在學程式語言時,最重要的是要學會「讀、寫」。
我大學時所修的程式語言是Fortran,它是一學期3 小時的課,它的語法不多,老師的教學重點是強調大家要會寫程式,所以我的同學們幾乎都會寫程式。現在的程式語言,如C、C++、⋯⋯,其語法非常多,還是一學期3 小時的課,有些老師為了將全部的語法教完,大多數的上課時間都在教語法,而忽略學習程式語言最重要的是要會寫程式。現在很多程式語言的教科書也花很多篇幅在介紹語法,而最重要的程式範例卻很少,加上很多教科書都「教其然,不教其所以然」,例如:變數為何要宣告、程式為何要這樣寫、⋯⋯。以至於現在很多學生學完一學期的程式語言課還是不會寫程式,這就好像英文系畢業的學生不會講英文一樣,白學了。
我教我們系上程式語言課時,就是大量的做練習,發現很多學生使用if 敘述還能得心應手,但到了for 敘述時,使用起來就有點障礙了,學不會就是要多練習。我上課不要求把全部的語法教完,而是要求要會寫程式,要求多練習寫程式,學生普遍反應良好。
C語言是很早就被提出來的程式語言,由於它有很多的優點,以至於到現在還沒被淘汰,且有很多的程式語言是以C語言為基礎發展出來的。C語言的if、for、while敘述、陣列、函數和檔案處理是很多種程式語言共同有的內容,且很多領域只需要用到這些內容就足以應付其工作所需。
有鑑於此,本書僅介紹這些語法,搭配充足的例子,「寫其然,亦寫其所以然」, 再由「中文的用法」導入「程式語言的語法」,來讓讀者可以很容易地進入程式語言的領域。「凡事起頭難」,只要讀者學會這些內容,要再看其他程式語言的內容,相信就能很快地進入狀況。
最後,非常感謝五南圖書股份有限公司對此書的肯定,此書才得以出版。本書雖一再校正,但錯誤在所難免,尚祈各界不吝指教。
林振義 謹誌