C語言處理功能豐富,表達能力強,使用靈活方便,執(zhí)行程序效率高,可移植性強;具有豐富的數(shù)據(jù)類型和運算符,語句非常簡單,源程序簡潔清晰,可以直接處理硬件系縮和對外圍設各接口進行控制。C語言是一種結(jié)構(gòu)化的程序設計語言,支持自頂向下、逐步求精的結(jié)構(gòu)化程序設計技術。本書詳細介紹了C語言程序設計的基本原理和方法。全書共分14章,主要介紹了程序設計的基礎知識,C語言的語法基礎,程序的控制結(jié)構(gòu),函數(shù)的概念及使用要點,數(shù)組、結(jié)構(gòu)、聯(lián)合、鏈表等復合數(shù)據(jù)結(jié)構(gòu)的使用,數(shù)據(jù)文件的使用以及位運算等內(nèi)容。本書適合作為高等學校各專業(yè)程序設計課程教材,也可供自學的讀者使用。
(1)本書是河南省一流本科課程(線上線下混合式一流課程)配套教材,編者有著豐富的C語言教學經(jīng)驗。(2)章節(jié)結(jié)構(gòu)合理,內(nèi)容層次分明,從認識、了解、掌握、應用等幾個層次精心組織內(nèi)容,由淺入深,循序漸進,便于學習者掌握知識要點。
(3)書中的實例都是經(jīng)過編者精心挑選和設計的,具有新穎性、代表性、典型性,并且全部在 Microsoft Visual Studio 2019下調(diào)試通過。
C語言從誕生之日起就一直保持著旺盛的生命力,并且不斷地發(fā)展壯大、日臻完善,已經(jīng)成為目前使用廣泛的編程語言之一。與其他高級語言相比,C 語言處理功能豐富,表達能力強,使用靈活方便,執(zhí)行程序效率高,可移植性強; 具有豐富的數(shù)據(jù)類型和運算符,語句非常簡單,源程序簡潔清晰;可以直接處理硬件系統(tǒng)和對外圍設備接口進行控制。C 語言是一種結(jié)構(gòu)化的程序設計語言,支持自頂向下、逐步求精的結(jié)構(gòu)化程序設計技術。另外,C語言程序的函數(shù)結(jié)構(gòu)也為實現(xiàn)程序的模塊化設計提供了強有力的保障。因此,縱然有C 、Java和 Python 這樣的后繼者,但到目前為止,它們依然沒有取代C的跡象。
本書的編者全部是一直工作于高等學校教學一線,承擔"C語言程序設計"課程教學多年的大學教師,有豐富的教學經(jīng)驗,,長期從事 C語言編程工作,并有著將自己積累的"C語言程序設計"經(jīng)驗介紹給大家的強烈愿望。編者單位鄭州輕工業(yè)大學的"程序設計技術(C語言)"課程在2020 年5月被認定為首批河南省一流本科課程(線上線下混合式一流課程)。在教學實踐中,編者感受深的就是,學習者普遍反映 C語言難學難懂,而事實上,學習者感覺難的部分往往并不是 C語言的核心內(nèi)容。學習的過程就是一個學習者與教師、學習者與教材交互的過程,有一本好的教材,再遵照一定的學習規(guī)律,這個交互過程就能很好地完成。本書參考多個高等院校程序設計課程教學大綱,與教育部高等學校大學計算機課程教學指導委員會的要求保持高度一致,章節(jié)結(jié)構(gòu)合理,內(nèi)容層次分明,從認識、了解、掌握、應用等幾個層次精心組織內(nèi)容,由淺入深,循序漸進,便于學習者掌握知識要點。書中的實例都是經(jīng)過編者精心挑選和設計的,具有新穎性、代表性、典型性,并且全部在 Microsoft Visual Studio 2019下調(diào)試通過。本書在介紹核心語法的基礎上,以培養(yǎng)編程能力為首要目標,把那些煩瑣的細節(jié)問題留待以后慢慢研究。
本書共分14 章,將 C語言的內(nèi)容由淺入深、層次分明地給讀者娓娓道來。每個章節(jié)既有邏輯清晰的語法講解,又有豐富的編程實例,非常適合編程初學者思維模式的培養(yǎng)及訓練。
本書主要內(nèi)容如下∶
第1章"程序設計基礎"介紹了程序設計的基本知識、結(jié)構(gòu)化程序設計方法以及軟件編制步驟等,使讀者對軟件的編制有一個概念上的認識和理解,并能將這些方法應用于后續(xù)章節(jié)的學習中。
第 2章"C語言的基本數(shù)據(jù)類型"介紹了 C語言的基本知識,重點闡述了各數(shù)據(jù)類型的特點及變量的聲明方法,使讀者掌握變量、地址、存儲數(shù)據(jù)之間的關系。
第3章"運算符與表達式"介紹了C語言的各類運算符及表達式的語法要求及運算規(guī)則,使讀者能在編程時選用適合的表達式。
第4 章"編譯預處理與標準庫函數(shù)"介紹了C語言中編譯預處理的相關命令,包括宏定義、文件包含、條件編譯,以及C語言標準的庫函數(shù)分類和常用的數(shù)學庫函數(shù)、隨機函數(shù)等。
第5 章選擇結(jié)構(gòu)介紹了選擇結(jié)構(gòu)的相關語法及應用實例,使讀者能夠使用選擇結(jié)構(gòu)解決編程時所涉及的相關問題。
第6 章循環(huán)結(jié)構(gòu)介紹了循環(huán)結(jié)構(gòu)的相關語法及應用實例,使讀者能夠靈活使用循環(huán)結(jié)構(gòu)解決編程時所涉及的相關問題。
第7 章函數(shù)介紹了函數(shù)的相關知識,重點介紹了函數(shù)的基本使用方法、函數(shù)參數(shù)的傳值調(diào)用和傳址調(diào)用,使讀者能夠綜合使用函數(shù)參數(shù)的傳值調(diào)用和傳址調(diào)用來解決實際問題。
第8 章數(shù)組介紹了 C 語言中數(shù)值型一維數(shù)組和二維數(shù)組的相關知識,使讀者能夠在編程中熟練使用數(shù)組解決相關問題。
第9 章字符數(shù)組與字符串介紹了字符數(shù)組與字符串的相關知識,使讀者能夠處理與字符 數(shù)組和字符串相關的問題。
第10 章結(jié)構(gòu)與聯(lián)合介紹了結(jié)構(gòu)和聯(lián)合的基本概念,使讀者能夠綜合使用數(shù)組、指針以 及結(jié)構(gòu)和聯(lián)合來解決一些實際問題。
第11 章文件介紹了文件的概念以及處理文件問題所涉及的函數(shù),使讀者在掌握常用文件函數(shù)的基礎上來解決一些實際問題。
第12 章指針與鏈表介紹了指針的高級使用,使讀者能夠處理涉及指針數(shù)組、函數(shù)指針和指針函數(shù)的相關問題,同時,介紹了鏈表的概念、創(chuàng)建、輸出等,使讀者學會用鏈表來解決一 些實際問題。
第13 章位運算介紹了位運算的相關知識,使讀者能夠?qū)ξ贿\算有一個較為系統(tǒng)的認識,并能夠使用所學的位運算知識解決相關問題。
第 14 章從 C 到 C 介紹 C 和 C 在基本操作上的區(qū)別,使讀者對 C 的基本操作有初步的了解。以上各部分都可以獨立教學,自成體系,教師可根據(jù)情況適當取舍。
在本書的編寫過程中參考了許多同行的著作,在此一并表達感謝之情。感謝鄭州輕工業(yè)大學和中國鐵道出版社有限公司的大力支持,感謝各位編輯的辛苦工作,正是由于各位的幫助和支持,
才使本書得以出版。
本書由鄭州輕工業(yè)大學尚展壘、陳嫄玲、王鵬遠、蘇虹、程靜、張凱和李萍編著。各章編寫分工如下:第 1、6 章由陳嫄玲編寫,第 2、3 章由蘇虹編寫,第 4、7 章由程靜編寫,第 5、11 章
李萍編寫,第 10、12 章由尚展壘編寫,第 8、14 章和附錄由王鵬遠編寫,第 9、13 章由張凱編寫。 在組織編寫過程中,尚展壘負責本書的架構(gòu)計劃,陳嫄玲和王鵬遠負責本書的統(tǒng)稿工作。
如果您能夠愉快地讀完本書,并告知身邊的朋友,原來 C 語言并不難學,那就是編者的欣慰。盡管編者盡了努力,也有良好而負責任的態(tài)度,但是由于學識所限,加之時間倉促,書中難免存在不妥和疏漏之處,懇請各位讀者批評指正,以便再版時更正。
編 者
尚展壘,鄭州輕工業(yè)大學教授,工程訓練中心副主任。 陳嫄玲,中共黨員,鄭州輕工業(yè)大學副教授。目前是程序設計技術(C語言)的課程負責人。 王鵬遠,碩士研究生,鄭州輕工業(yè)大學講師,計算機基礎教學部主任。