“十三五”高等職業(yè)教育規(guī)劃教材:C語言程序設(shè)計
定 價:32 元
- 作者:[中國]羅劍;代崴;邢翠
- 出版時間:2019/7/1
- ISBN:9787113260514
- 出 版 社:中國鐵道出版社
- 中圖法分類:TP312C
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書采用“理論講解+應(yīng)用示例+項目實踐”的內(nèi)容組織思路進行編寫,每個知識點都配有相應(yīng)的示例,并為示例添加了視頻,方便學(xué)生學(xué)習(xí)。全書共分10 章,主要內(nèi)容包括:開發(fā)C 語言的基礎(chǔ)與開發(fā)工具講解、使用各種數(shù)據(jù)類型聲明變量并結(jié)合運算符進行表達式計算、應(yīng)用順序結(jié)構(gòu)設(shè)計程序解決簡單實際問題、應(yīng)用選擇結(jié)構(gòu)設(shè)計程序?qū)崿F(xiàn)分支判斷、應(yīng)用循環(huán)結(jié)構(gòu)設(shè)計程序?qū)崿F(xiàn)重復(fù)操作、應(yīng)用數(shù)組設(shè)計程序?qū)崿F(xiàn)批量數(shù)據(jù)處理、應(yīng)用函數(shù)設(shè)計程序?qū)崿F(xiàn)模塊化設(shè)計、定義結(jié)構(gòu)體和枚舉類型實現(xiàn)復(fù)雜的數(shù)據(jù)結(jié)構(gòu)描述并使用結(jié)構(gòu)體數(shù)組、使用C語言的指針實現(xiàn)靈活的數(shù)據(jù)訪問和函數(shù)調(diào)用。各章配有項目實踐以提升學(xué)生對結(jié)構(gòu)化程序設(shè)計和模塊化的程序設(shè)計的理解,項目實踐采用“西游記”游戲項目貫穿第1~8章。本書適合作為高等職業(yè)院校程序設(shè)計課程的教材,也可作為等級考試、各類培訓(xùn)班的教材及技能設(shè)計大賽和廣大計算機愛好者的自學(xué)參考用書。
(1)每個知識點都配有相應(yīng)的示例,并為示例添加了視頻。(2)采用“西游記”游戲貫穿第1~8章的項目實踐,注重銜接。
隨著計算機技術(shù)的飛速發(fā)展,計算機在各個學(xué)科和領(lǐng)域得到了廣泛應(yīng)用,而這些應(yīng)用都需要編寫程序去解決各種現(xiàn)實生活中的問題。C語言是一門面向過程、抽象化的通用程序設(shè)計語言,廣泛應(yīng)用于底層開發(fā)。C語言是不需要任何運行環(huán)境支持便能運行的高效率程序設(shè)計語言。盡管C語言提供了許多低級處理的功能,但仍然保持著跨平臺的特性,以標準規(guī)格寫出的C語言程序可在包括一些類似嵌入式處理器以及超級計算機等作業(yè)平臺的許多計算機平臺上進行編譯。C語言在很多領(lǐng)域都是首選的編程語言,運用非常廣泛,也是非常適合初學(xué)者入門的程序設(shè)計語言。C語言程序設(shè)計是非常重要的一門專業(yè)基礎(chǔ)課,是學(xué)習(xí)面向?qū)ο蟪绦蛟O(shè)計、數(shù)據(jù)結(jié)構(gòu)和算法的基礎(chǔ)。通過本課程的學(xué)習(xí),學(xué)生能夠使用編程思維去思考與解決問題,為研制開發(fā)各種系統(tǒng)和應(yīng)用軟件奠定理論和實踐基礎(chǔ)。該課程的學(xué)習(xí)效果不僅關(guān)系到后續(xù)課程的學(xué)習(xí),而且直接關(guān)系到軟件設(shè)計水平的提高和專業(yè)素養(yǎng)的培養(yǎng),在理工科基礎(chǔ)教育中有非常重要的作用。本課程考慮到大部分學(xué)生都是初次接觸編程語言,使用程序解決問題思路還不明確,基于此問題,本書采用“理論講解+應(yīng)用示例+項目實踐”的方式,重點提升學(xué)生解決問題的能力和項目開發(fā)能力。每個知識點都配有相應(yīng)的示例,并為示例添加了視頻。本書具有如下特點:(1)由淺入深、逐步深入。每個知識點首先介紹基本語法,然后通過示例講解知識點的用法,最后通過項目實踐應(yīng)用知識點。(2)項目貫穿、注重銜接。本書項目實踐采用“西游記”游戲貫穿第1~8章,課程中將“西游記”游戲分解到每個章節(jié)中,學(xué)完一章完成項目的部分內(nèi)容,所有章節(jié)完成,項目結(jié)束,提升學(xué)生的學(xué)習(xí)成就感。(3)注重總結(jié)、項目提升。在學(xué)完循環(huán)后,會對C語言基礎(chǔ)知識進行總結(jié),并配合“萬年歷”項目,提升學(xué)生基礎(chǔ)編程能力。學(xué)習(xí)完指針后,會對數(shù)組、結(jié)構(gòu)體、函數(shù)、指針進行總結(jié),配合“電話訂餐系統(tǒng)”項目,提升學(xué)生的模塊化編程能力。全書分為10章,內(nèi)容安排如下:第1 章:介紹C 語言的發(fā)展史和開發(fā)工具,并通過一個簡單的C 程序示例,介紹學(xué)習(xí)C 語言的入門知識,主要包括開發(fā)工具的使用、C程序的基本結(jié)構(gòu)以及運行、調(diào)試C程序的方法。第2章:介紹變量存儲程序中的臨時數(shù)據(jù),包括數(shù)據(jù)類型、變量的聲明與初始化以及運算符和表達式等內(nèi)容。PREFACE 前 言第3 章:介紹三大程序結(jié)構(gòu)中的選擇結(jié)構(gòu),包括if 語句、if…else 語句、多重if 語句和嵌套if、對比多重if和switch語句解決多選擇的問題、跳轉(zhuǎn)語句的使用。第4 章:介紹三大控制結(jié)構(gòu)中的“循環(huán)結(jié)構(gòu)”,分別使用for、while、do…while 語句實現(xiàn)循環(huán),其中理解循環(huán)的執(zhí)行流程是本章的重點,在循環(huán)中使用跳轉(zhuǎn)語句break 和continue 是本章的難點。第5章:講解使用數(shù)組存儲多個數(shù)據(jù),主要包括數(shù)組的聲明、賦值、使用,以及使用數(shù)組和循環(huán)結(jié)合解決批量操作的問題。第6章:介紹自定義數(shù)據(jù)類型中的結(jié)構(gòu)體和枚舉數(shù)據(jù)類型,主要包括結(jié)構(gòu)體的定義、使用,枚舉類型的定義和使用、結(jié)構(gòu)體數(shù)組的應(yīng)用。第7章:通過函數(shù)實現(xiàn)模塊化編程,主要包括函數(shù)的定義、函數(shù)的調(diào)用。本章要掌握函數(shù)定義和調(diào)用的語法,能夠使用函數(shù)實現(xiàn)對復(fù)雜問題的分解,實現(xiàn)模塊化的程序設(shè)計。第8章:介紹指針的概念和使用。讀者將會在這一章中了解指針的含義,如何使用指針訪問變量、數(shù)組的元素,以及調(diào)用以指針作為形參的函數(shù)。第9章:對C語言基礎(chǔ)、變量、數(shù)據(jù)類型、運算符、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)進行復(fù)習(xí)總結(jié),對各個知識模塊進行梳理,完成電子萬年歷的綜合項目。第10 章:復(fù)習(xí)C 語言的難點內(nèi)容,包括數(shù)組、結(jié)構(gòu)體、函數(shù)和指針等內(nèi)容,完成電話訂餐系統(tǒng)的綜合項目。本書由羅劍、代崴、邢翠任主編,高欣、趙傳氐任副主編。其中,羅劍編寫第6、7、9、10章,代崴編寫第4、5、8章,邢翠編寫第1章,趙傳氐編寫第2章,高欣編寫第3章。本書在編寫過程中得到了信息工程系蔡明主任和王中剛副主任的大力支持,在編寫和出版過程得到了中國鐵道出版社有限公司的支持,同時得到了武漢信息傳播職業(yè)技術(shù)學(xué)院信息工程系領(lǐng)導(dǎo)的支持,在此深表感謝。由于作者水平所限,加上計算機學(xué)科的發(fā)展迅速,書中難免有不妥之處,懇請讀者批評指正。羅劍2019年4月
羅劍、代崴、邢翠
第1 章 C 語言基礎(chǔ).............................. 11.1 C 語言簡介........................................ 11.1.1 C 語言的發(fā)展歷史...................... 11.1.2 C 語言發(fā)展現(xiàn)狀.......................... 21.1.3 如何學(xué)習(xí)C 語言......................... 21.2 開發(fā)工具........................................... 31.2.1 安裝Visual Studio 2010 Express.... 31.2.2 開始使用Visual Studio 2010Express ........................................ 51.3 開發(fā)C 程序....................................... 81.3.1 添加源文件................................. 81.3.2 編寫代碼.................................... 91.3.3 運行程序.................................. 101.4 C 程序的組成.................................. 111.4.1 注釋.......................................... 111.4.2 main()函數(shù)................................ 121.4.3 return 語句................................ 131.4.4 聲明與賦值............................... 131.4.5 #include 與頭文件.................... 141.4.6 printf()函數(shù)................................ 141.5 C 語言程序編譯的基本過程........... 161.6 項目實踐......................................... 161.6.1 任務(wù)1:游戲介紹與菜單......... 171.6.2 任務(wù)2:游戲角色介紹............. 17小結(jié) ....................................................... 18作業(yè) ....................................................... 19第2 章 變量與數(shù)據(jù)類型..................... 212.1 變量與常量..................................... 212.1.1 變量.......................................... 212.1.2 常量.......................................... 222.1.3 標識符....................................... 222.2 數(shù)據(jù)類型.......................................... 222.2.1 基本數(shù)據(jù)類型........................... 232.2.2 派生數(shù)據(jù)類型........................... 252.3 使用變量.......................................... 252.4 使用printf()函數(shù).............................. 262.4.1 使用printf()函數(shù)打印數(shù)值的語法........................................... 262.4.2 格式命令................................... 272.5 表達式.............................................. 272.5.1 表達式概述............................... 272.5.2 運算符....................................... 272.6 類型轉(zhuǎn)換.......................................... 292.7 調(diào)試C 程序...................................... 302.7.1 進入調(diào)試模式........................... 302.7.2 設(shè)置斷點................................... 322.7.3 單步跟蹤查看變量的值............ 332.7.4 逐語句調(diào)試............................... 352.8 項目實踐.......................................... 352.8.1 任務(wù)1:使用變量存儲角色的信息........................................... 352.8.2 任務(wù)2:計算與比較游戲角色的攻擊力和防御力........................ 36小結(jié) ........................................................37作業(yè) ........................................................38第3 章 選擇結(jié)構(gòu)............................... 393.1 流程圖與程序結(jié)構(gòu).......................... 393.1.1 流程圖....................................... 393.1.2 程序結(jié)構(gòu)................................... 403.2 scanf()函數(shù)....................................... 41目 錄CONTENTSIIC語言程序設(shè)計3.2.1 為什么需要scanf()函數(shù)............ 413.2.2 scanf()函數(shù)................................ 413.3 if 語句.............................................. 443.3.1 條件語句.................................. 443.3.2 單分支if 語句........................... 443.3.3 if…else 語句............................. 453.3.4 嵌套if 語句.............................. 473.3.5 多重if 語句.............................. 493.4 switch 語句...................................... 503.5 項目實踐......................................... 513.5.1 任務(wù)1:完成菜單選擇的功能... 513.5.2 任務(wù)2:實現(xiàn)玩家登錄功能..... 52小結(jié) ....................................................... 53作業(yè) ....................................................... 53第4 章 循環(huán)結(jié)構(gòu)............................... 554.1 理解循環(huán)的使用場景...................... 554.1.1 為什么要使用循環(huán)................... 554.1.2 什么是循環(huán)............................... 554.2 三種循環(huán)結(jié)構(gòu).................................. 564.2.1 for 循環(huán)..................................... 564.2.2 while 循環(huán)................................. 594.2.3 do...while 循環(huán).......................... 624.3 三種結(jié)構(gòu)的互相轉(zhuǎn)換...................... 644.4 關(guān)鍵字break 和continue 的用法.... 654.4.1 break 語句................................. 654.4.2 continue 語句............................ 674.5 嵌套循環(huán)......................................... 694.6 死循環(huán)............................................. 714.7 綜合運用......................................... 724.8 項目實踐......................................... 784.8.1 任務(wù)1:使用循環(huán)優(yōu)化菜單..... 784.8.2 任務(wù)2:使用循環(huán)打小怪......... 79小結(jié) ....................................................... 81作業(yè) ....................................................... 82第5 章 數(shù)組...................................... 855.1 了解數(shù)組的使用場景...................... 855.2 使用一維數(shù)組.................................. 865.2.1 一維數(shù)組的定義........................ 865.2.2 一維數(shù)組的初始化.................... 865.2.3 訪問數(shù)組元素........................... 875.3 使用二維數(shù)組.................................. 885.3.1 二維數(shù)組的定義........................ 885.3.2 二維數(shù)組的初始化.................... 895.3.3 訪問數(shù)組元素........................... 905.4 使用字符串與字符數(shù)組................... 925.5 項目實踐.......................................... 945.5.1 任務(wù)1:使用數(shù)組存儲小怪信息........................................... 945.5.2 任務(wù)2:使用數(shù)組存儲玩家的裝備信息................................... 94小結(jié) ........................................................96作業(yè) ........................................................96第6 章 結(jié)構(gòu)體和枚舉........................ 986.1 結(jié)構(gòu)體概述...................................... 986.2 結(jié)構(gòu)體定義...................................... 996.3 結(jié)構(gòu)體變量.................................... 1006.3.1 結(jié)構(gòu)體變量聲明...................... 1006.3.2 結(jié)構(gòu)體變量賦值...................... 1006.4 結(jié)構(gòu)體數(shù)組.................................... 1036.4.1 定義結(jié)構(gòu)體數(shù)組...................... 1036.4.2 初始化結(jié)構(gòu)體數(shù)組.................. 1036.4.3 結(jié)構(gòu)體數(shù)組元素的引用.......... 1036.5 枚舉............................................... 1046.5.1 枚舉類型的定義...................... 1056.5.2 枚舉類型變量的定義.............. 1056.6 項目實踐........................................ 1066.6.1 任務(wù)1:定義玩家角色結(jié)構(gòu)體......................................... 1066.6.2 任務(wù)2:使用結(jié)構(gòu)體數(shù)組存儲產(chǎn)生的妖怪............................. 107小結(jié) ...................................................... 109作業(yè) ...................................................... 109目 錄III第7 章 函數(shù).................................... 1117.1 函數(shù)簡介........................................1117.1.1 系統(tǒng)函數(shù).................................1127.1.2 用戶自定義函數(shù)......................1137.2 自定義函數(shù)....................................1137.2.1 返回值類型..............................1137.2.2 函數(shù)名.....................................1147.2.3 參數(shù)列表.................................1147.2.4 函數(shù)體.....................................1147.3 函數(shù)調(diào)用........................................1147.3.1 函數(shù)調(diào)用的一般形式..............1157.3.2 函數(shù)調(diào)用的方式......................1157.3.3 函數(shù)聲明和函數(shù)原型..............1167.4 函數(shù)應(yīng)用........................................1167.4.1 無返回值函數(shù)..........................1167.4.2 有返回值函數(shù)..........................1177.5 變量的作用域.................................1187.5.1 什么是變量的作用域..............1187.5.2 變量的訪問類型......................1187.6 項目實踐........................................1217.6.1 任務(wù)1:使用函數(shù)封裝購買裝備的過程..............................1217.6.2 任務(wù)2:使用函數(shù)封裝斬妖除魔的過程..............................122小結(jié) ..................................................... 125作業(yè) ..................................................... 125第8 章 指針.................................... 1278.1 了解指針的含義.............................1278.1.1 內(nèi)存.........................................1278.1.2 指針......................................... 1298.2 使用指針........................................ 1308.2.1 指針的定義............................. 1308.2.2 訪問指針所指的內(nèi)存:“*”運算符............................. 1318.2.3 使用指針訪問數(shù)組.................. 1338.3 在函數(shù)的形參中使用指針............. 1348.3.1 傳址調(diào)用................................. 1348.3.2 使用字符串處理函數(shù).............. 1368.4 使用calloc()、free()動態(tài)申請、釋放內(nèi)存........................................ 1388.5 項目實踐........................................ 1408.5.1 任務(wù)1:定義裝備數(shù)組指針......................................... 1408.5.2 任務(wù)2:管理玩家的裝備信息......................................... 142小結(jié) ...................................................... 144作業(yè) ...................................................... 144第9 章 項目實戰(zhàn)1:電子萬年歷...... 1469.1 知識點回顧與總結(jié)........................ 1469.2 項目能力提升................................ 1489.2.1 項目分析................................. 1489.2.2 項目任務(wù)與編碼...................... 149第10 章 項目實踐2:電話訂餐系統(tǒng)... 15310.1 知識點回顧與總結(jié)....................... 15310.2 項目能力提升.............................. 15410.2.1 項目分析............................... 15410.2.2 項目任務(wù)與編碼.................... 155