關于我們
書單推薦
新書推薦
|
“十三五”普通高等教育規(guī)劃教材:C語言程序設計(第二版)
本書為河南省十二五普通高等教育規(guī)劃教材和河南省精品資源共享課程主講教材,是高等院校計算機基礎教育教材。全書共分14章,主要內容包括:C語言概述,VC 2010集成開發(fā)環(huán)境,基本數(shù)據(jù)類型、運算符與表達式,順序結構程序設計,選擇結構程序設計,循環(huán)結構程序設計,數(shù)組,函數(shù),編譯預處理,指針,結構體、共用體及枚舉類型,文件,VC 2010程序測試與調試,上機實驗內容等;各章后均附有大量習題。書后附有完整的ASCII代碼對照表、C語言中的關鍵字、運算符優(yōu)先級和結合方向、常用庫函數(shù)及C與C 的區(qū)別。 本書內容豐富、新穎,圖文并茂,通俗易懂,實用性強,適合作為高等學校非計算機專業(yè)的計算機基礎課教材,也可作為全國計算機等級考試(二級C語言)的參考書,還可作為計算機人員的學習參考書。
內容系統(tǒng)完整,案例典型豐富;訓練能力思維,掌握編程藝術。
前言(第二版) C語言是國際上廣泛流行的一種面向過程的計算機高級語言,其歷史悠久,發(fā)展相當迅速。后來發(fā)展起來的C 、Java、C#等語言,無不是在其基礎上進行擴充或改造的。C語言與其他高級語言相比,形式簡潔,數(shù)據(jù)類型豐富,表達能力強,運算豐富,程序設計靈活,可讀性和可移植性好,目標程序效率高。C語言既具有低級語言的特點,又具有完善的模塊化結構,體現(xiàn)了結構化程序設計的思想,適合于培養(yǎng)良好編程風格和優(yōu)秀程序設計技術的訓練。它是繼Pascal語言之后的又一門優(yōu)秀的課程教學語言,并且是教學需要與實際應用相結合的一門語言。C語言具有很強的處理功能,不僅用于開發(fā)系統(tǒng)軟件,也可用于開發(fā)應用軟件。 學習C語言,起初會覺得要記的東西太多,這是由于它太靈活了。但是學到一定程度,就會嘗到甜頭,就會體會出C語言的特色。C語言中的指針是一個核心,是今后開發(fā)工作中的得力助手,因為在使用C/C 的實際工作中指針無處不見,很多參數(shù)完全就是指針化的。雖然Java從安全性方面考慮摒棄了指針,但從性能上來說,卻得不償失。要學好C語言,就要透徹理解概念,并輔之以大量編程訓練和上機實驗。只靠看書學不好C語言,要積極實踐,善于思考,結合具體的項目(哪怕是很小的項目)學用相長。堅持下去,就會成功。 本書是根據(jù)教育部高等學校大學計算機課程教學指導委員會編制的《大學計算機基礎課程教學基本要求》編寫的。全書共分14章,第1章介紹了C語言的基本知識、算法及程序設計的一般方法;第2章介紹VC 2010集成開發(fā)環(huán)境;第3章介紹了C語言的基本數(shù)據(jù)類型、常量和變量、運算符以及表達式;第4章、第5章、第6章介紹了C語言進行結構化程序設計的基本方法,包括結構化程序的順序結構、選擇結構、循環(huán)結構及其設計方法;第7章介紹了數(shù)組;第8章介紹了函數(shù);第9章介紹了編譯預處理;第10章充分闡述了C語言的指針;第11章對結構體、共用體及枚舉類型作了較詳細的介紹;第12章對C語言文件操作進行了較詳細的闡述;第13章介紹了程序測試與調試;第14章提出了上機實驗總目的和要求,并為了配合理論教學介紹了各實驗的目的和要求、實驗內容及操作步驟。另外,每章都配有本章重點、難點和小結,并附有大量的習題,在書末還有附錄幫助大家學習。 本書的編寫人員均為河南理工大學多年從事計算機教學的教師,很早就從事C語言及計算機相關課程的教學實踐工作,曾多次編寫C語言講義、教輔資料、習題集。在此基礎上,經過認真討論,集思廣益,精心整理,編寫成了本教材。本書的上機環(huán)境由初期的Turbo C改成了VC 6.0,這一版又更新為VC 2010,理論知識及上機實驗內容也幾經易稿,形成了如今的書稿。本書在內容選取上既注重了先進性、科學性和系統(tǒng)性,又兼顧了實用性和趣味性;在文字敘述上力求做到深入淺出,通俗易懂,便于自學;同時用大量的典型實例化解各章的難點,充分展示了計算機解決問題的思想和方法,突出了程序設計基本方法的闡述,注意計算思維的訓練。另外,編者多年來一直參與全國計算機等級考試的組織、輔導工作,對全國計算機等級考試的大綱有透徹的理解,所以本書將大綱中二級C語言的要求貫穿其中。習題題型包含了等級考試的選擇題、程序填空題、程序修改題和程序設計題等。因此,本書除了可以作為普通高校各專業(yè)學生的教材外,還可以作為參加全國計算機等級考試(二級C語言)的參考用書,也可以供學習C語言的科技人員使用。 本書由賈宗璞、許合利任主編,趙珊、王利紅任副主編,崔志恒、喬應旭、鄭清潔參與編寫。具體編寫分工:賈宗璞編寫第1章、第7章,鄭清潔編寫第2章、第14章,許合利編寫第3章、第5章,趙珊編寫第4章、第10章,王利紅編寫第6章、第12章、第13章,崔志恒編寫第8章、第9章,喬應旭編寫第11章及附錄。在本書的編寫過程中,河南理工大學領導和教務處給予了大力支持,學校計算機科學與技術學院、現(xiàn)代教育技術中心的任課老師和實驗室老師給予了懇切的建議和幫助,在此向他們表示衷心 感謝。 由于編者水平有限,書中疏漏和不妥之處在所難免,敬請讀者批評指正。 編 者 2018年7月
賈宗璞,吉林大學博士,教授,河南省教育廳學術技術帶頭人,計算機應用技術省級重點學科帶頭人,F(xiàn)任河南理工大學計算機學院院長,軟件職業(yè)技術學院院長,中國煤炭工業(yè)協(xié)會信息化分會理事,教育部高等學校計算機科學與技術專業(yè)教學指導分委員會專家組成員,河南省計算機學會常務理事,河南省高校計算機教育研究會常務理事,河南省煤炭學會計算機通信專業(yè)委員會副主任,焦作市計算機學會理事長。許合利,碩士,教授,現(xiàn)任河南理工大學現(xiàn)代教育技術中心副主任,河南省信息化專家咨詢委員會專家,河南省計算機學會理事,焦作市計算機學會常務理事,河南省教育技術協(xié)會高校專業(yè)委員會常務理事。主要從事數(shù)據(jù)庫與管理信息系統(tǒng),計算機測控技術,計算機網絡等方面的研究,主持或參與科研項目20多項,獲得河南省科技進步二等獎1項,省部級三等獎2項,河南省信息技術教育優(yōu)秀成果一等獎1項,地廳級科技進步獎2項。發(fā)表論文30余篇,主編省部級規(guī)劃教材4部,參編教材2部,獲煤炭高等學校優(yōu)秀教材二等獎1項。
目 錄 第1章 C語言概述 .................................1 1.1 C語言的發(fā)展及特點 ..........................1 1.1.1 C語言的發(fā)展 ....................................1 1.1.2 C語言的特點 ....................................2 1.2 C語言程序的基本結構 ......................3 1.3 算法及其描述 .....................................5 1.3.1 算法的概念 ......................................5 1.3.2 算法的描述方法 ..............................7 1.4 程序設計方法 ...................................11 1.4.1 程序設計的一般步驟 ....................11 1.4.2 結構化程序設計方法 ....................12 小結 ............................................................13 習題 ............................................................14 第2章 VC 2010集成開發(fā)環(huán)境 ........15 2.1 自定義菜單和工具欄 .......................15 2.2 項目和解決方案 ...............................17 2.2.1 創(chuàng)建新項目 ....................................17 2.2.2 編輯已存在的項目 ........................21 2.3 生成和運行程序 ...............................21 2.4 設置VC 2010的選項 ....................23 小結 ............................................................26 習題 ............................................................27 第3章 基本數(shù)據(jù)類型、運算符與表達式 .................................28 3.1 C語言的數(shù)據(jù)類型 ............................28 3.2 常量和變量 .......................................29 3.2.1 常量 ................................................29 3.2.2 變量 ................................................31 3.3 整型數(shù)據(jù) ...........................................31 3.3.1 整型常量的表示 ............................31 3.3.2 整型變量 ........................................31 3.3.3 整型常量的類型 ............................33 3.4 實型數(shù)據(jù) ...........................................34 3.4.1 實型常量的表示 ............................34 3.4.2 實型變量 ........................................34 3.4.3 實型常量的類型 ............................35 3.5 字符型數(shù)據(jù) .......................................36 3.5.1 字符型常量 ....................................36 3.5.2 字符變量 ........................................38 3.6 算術運算符與算術表達式 ...............38 3.6.1 基本算術運算符 ............................38 3.6.2 算術表達式及算術運算符的優(yōu)先級和結合性 ............................39 3.6.3 自增、自減運算符 ........................40 3.7 賦值運算符與賦值表達式 ...............41 3.7.1 賦值運算符 ....................................41 3.7.2 復合賦值運算符 ............................41 3.7.3 賦值表達式 ....................................42 3.8 逗號運算符與逗號表達式 ...............42 3.9 位運算 ...............................................42 3.9.1 位運算符 ........................................42 3.9.2 位運算復合賦值運算符 ................44 3.10 數(shù)據(jù)類型轉換與計算類型長度運算符 .....................................44 3.10.1 自動類型轉換 ..............................45 3.10.2 強制類型轉換 ..............................46 3.10.3 計算類型長度運算符 ..................46 小結 ............................................................47 習題 ............................................................47 第4章 順序結構程序設計 ...................51 4.1 C語言語句概述 ................................51 4.1.1 簡單語句 ........................................51 4.1.2 復合語句 ........................................52 4.2 字符數(shù)據(jù)的輸入/輸出 ......................52 4.2.1 字符輸出函數(shù) ................................53 4.2.2 字符輸入函數(shù) ................................53 4.3 格式化輸入/輸出函數(shù) ......................54 4.3.1 格式輸出函數(shù) ................................54 4.3.2 格式輸入函數(shù) ................................57 4.4 順序結構程序設計舉例 ...................60 小結 ............................................................62 習題 ............................................................62 第5章 選擇結構程序設計 ...................51 5.1 關系運算符和關系表達式 ...............65 5.1.1 關系運算符 ....................................65 5.1.2 關系表達式 ....................................66 5.2 邏輯運算符和邏輯表達式 ...............67 5.2.1 邏輯運算符 ....................................67 5.2.2 邏輯表達式 ....................................67 5.3 if語句及其構成的選擇結構 ............68 5.3.1 if語句的形式 ..................................68 5.3.2 if語句的嵌套 ..................................70 5.3.3 條件運算符和條件表達式 ............72 5.4 switch語句及其構成的選擇結構 ....73 5.4.1 switch語句的形式 ..........................73 5.4.2 在switch語句中使用break語句 .....74 5.5 選擇結構程序設計舉例 ...................75 小結 ............................................................77 習題 ............................................................78 第6章 循環(huán)結構程序設計 ...................83 6.1 概述 ...................................................83 6.2 while語句 ..........................................84 6.3 do…while語句 ..................................86 6.4 for語句 ..............................................87 6.5 break語句和continue語句 ................89 6.5.1 break語句........................................89 6.5.2 continue語句 ...................................90 6.6 循環(huán)的嵌套 .......................................90 6.7 循環(huán)結構程序設計舉例 ...................91 小結 ............................................................94 習題 ............................................................95 第7章 數(shù)組 .......................................103 7.1 一維數(shù)組 .........................................103 7.1.1 一維數(shù)組的定義 ..........................103 7.1.2 一維數(shù)組元素的引用 ..................104 7.1.3 一維數(shù)組的存儲與初始化 ..........105 7.1.4 一維數(shù)組程序設計舉例 ..............106 7.2 二維數(shù)組與多維數(shù)組 .....................107 7.2.1 二維數(shù)組的定義 ..........................107 7.2.2 二維數(shù)組元素的引用 ..................108 7.2.3 二維數(shù)組的初始化 ......................109 7.2.4 二維數(shù)組程序設計舉例 ..............110 7.2.5 多維數(shù)組概述 ..............................111 7.3 字符數(shù)組與字符串 .........................111 7.3.1 字符數(shù)組的定義 ..........................111 7.3.2 字符數(shù)組的初始化 ......................111 7.3.3 字符數(shù)組元素的引用 ..................112 7.3.4 字符串與字符數(shù)組 ......................112 7.3.5 字符串處理函數(shù) ..........................115 7.3.6 字符數(shù)組程序設計舉例 ..............116 小結 ..........................................................119 習題 ..........................................................119 第8章 函數(shù) .......................................125 8.1 模塊化程序設計 .............................125 8.1.1 模塊化程序設計的概念 ..............125 8.1.2 函數(shù)概述 ......................................126 8.2 函數(shù)的定義 .....................................127 8.2.1 函數(shù)定義的一般形式 ..................127 8.2.2 函數(shù)的返回 ..................................128 8.3 函數(shù)的調用 ..................................... 128 8.3.1 函數(shù)調用的一般方式 ..................128 8.3.2 函數(shù)參數(shù)的傳遞 ..........................129 8.3.3 函數(shù)的聲明 ..................................130 8.3.4 函數(shù)的嵌套調用 ..........................131 8.4 函數(shù)的遞歸調用 ............................. 132 8.5 數(shù)組作為函數(shù)參數(shù) ......................... 134 8.5.1 數(shù)組元素作為函數(shù)實參 ..............134 8.5.2 數(shù)組名作為函數(shù)參數(shù) ..................135 8.5.3 多維數(shù)組名作為函數(shù)參數(shù) ..........136 8.6 變量的作用域 ................................. 137 8.6.1 局部變量 ......................................137 8.6.2 全局變量 ......................................138 8.7 變量的存儲類別 ............................. 139 8.7.1 變量的生存期 ..............................139 8.7.2 局部變量的存儲類別 ..................139 8.7.3 全局變量的存儲類別 ..................141 8.8 內部函數(shù)和外部函數(shù) ..................... 143 小結 .......................................................... 144 習題 .......................................................... 145 第9章 編譯預處理 ............................151 9.1 宏定義 ............................................. 151 9.1.1 無參宏定義 ..................................151 9.1.2 帶參宏定義 ..................................154 9.2 條件編譯 ......................................... 157 9.3 文件包含 ......................................... 159 小結 .......................................................... 161 習題 .......................................................... 161 第10章 指針.....................................163 10.1 地址和指針的概念 ....................... 163 10.2 指針變量 ....................................... 164 10.2.1 指針變量的定義與賦值 ............164 10.2.2 指針變量的引用 ........................165 10.3 指針與數(shù)組 ................................... 167 10.3.1 指針與一維數(shù)組 ........................167 10.3.2 指針與二維數(shù)組 ........................170 10.4 指針與字符串 ............................... 173 10.4.1 指向字符數(shù)組的指針變量 ........173 10.4.2 指向字符串常量的指針變量 ....174 10.5 指針與函數(shù) ................................... 175 10.5.1 指針作為函數(shù)的參數(shù) ................175 10.5.2 指向函數(shù)的指針(函數(shù)指針) ....179 10.5.3 返回指針值的函數(shù)(指針 函數(shù)) ............................................ 181 10.6 指針數(shù)組和多級指針 ................... 182 10.6.1 指針數(shù)組的定義 ........................182 10.6.2 指針數(shù)組與字符串 ....................183 10.6.3 多級指針 ....................................184 10.6.4 指針數(shù)組作為函數(shù)參數(shù) ............184 10.6.5 帶參main函數(shù) ............................185 小結 .......................................................... 186 習題 .......................................................... 187 第11章 結構體、共用體及枚舉類型 ...195 11.1 結構體變量的定義 ....................... 195 11.1.1 結構體類型的定義 .....................195 11.1.2 結構體變量的定義 .....................196 11.2 結構體變量的引用和初始化 ....... 197 11.2.1 結構體變量的引用 .....................197 11.2.2 結構體變量的初始化 .................198 11.3 結構體數(shù)組 ................................... 198 11.3.1 結構體數(shù)組的定義 .....................198 11.3.2 結構體數(shù)組的初始化 .................199 11.3.3 結構體數(shù)組的引用 .....................199 11.4 結構體指針變量 ........................... 200 11.4.1 指向結構體變量的指針 .............200 11.4.2 指向結構體數(shù)組的指針 .............202 11.5 結構體與函數(shù) ............................... 203 11.5.1 結構體變量作為函數(shù)參數(shù) .........203 11.5.2 返回結構體類型數(shù)據(jù)的函數(shù) .....203 11.5.3 結構體指針作為函數(shù)參數(shù) .........204 11.6 位段結構體 ................................... 205 11.6.1 位段結構體類型及其變量的 定義 .............................................205 11.6.2 位域的引用 .................................206 11.7 鏈表 ...............................................207 11.7.1 鏈表概述 .....................................207 11.7.2 內存動態(tài)管理 .............................207 11.7.3 創(chuàng)建鏈表 .....................................209 11.7.4 順序訪問鏈表中的結點 .............210 11.7.5 在鏈表中插入結點 .....................210 11.7.6 在鏈表中刪除結點 .....................212 11.8 共用體 ...........................................214 11.8.1 共用體類型及其變量的定義 .....214 11.8.2 共用體變量的引用 ....................215 11.9 枚舉類型 .......................................217 11.9.1 枚舉類型和枚舉變量的定義 .....217 11.9.2 枚舉類型變量的賦值和使用 .....217 11.10 用typedef定義類型 .....................218 小結 ..........................................................219 習題 ..........................................................220 第12章 文件.....................................225 12.1 文件概述 .......................................225 12.1.1 文件的概念 ................................225 12.1.2 文件的分類 ................................225 12.2 文件類型指針和文件位置指針 ...227 12.2.1 文件類型指針 ............................227 12.2.2 文件位置指針 ............................227 12.3 文件的打開和關閉 .......................227 12.3.1 文件打開函數(shù) ............................228 12.3.2 文件關閉函數(shù) ............................229 12.4 文件的讀/寫 ..................................230 12.4.1 讀/寫一個字符的函數(shù) ...............230 12.4.2 塊讀/寫函數(shù) ...............................231 12.4.3 其他讀/寫函數(shù) ..........................234 12.5 文件的定位和出錯檢測 ...............235 12.5.1 文件的定位函數(shù) ........................235 12.5.2 出錯檢測函數(shù) ............................236 小結 ..........................................................236 習題 ..........................................................237 第13章 VC 2010程序測試 與調試 .................................242 13.1 程序測試 .......................................242 13.2 程序調試 .......................................244 13.2.1 C語言程序常見錯誤 ..................244 13.2.2 基本調試操作 ............................245 13.2.3 添加調試代碼 ............................249 小結 ..........................................................250 習題 ..........................................................251 第14章 上機實驗內容 ......................252 14.1 上機實驗總目的和要求 ...............252 14.2 實驗1 基本數(shù)據(jù)類型、運算符與 表達式 ...........................................253 14.3 實驗2 順序和選擇程序設計 .....255 14.4 實驗3 循環(huán)程序設計 .................258 14.5 實驗4 數(shù)組 .................................260 14.6 實驗5 函數(shù)(1) ........................263 14.7 實驗6 函數(shù)(2)與編譯預處理 ...266 14.
你還可能感興趣
我要評論
|