本書是江蘇省高等學(xué)校十三五重點教材,根據(jù)江蘇省高等職業(yè)院校重點專業(yè)群智能 控制應(yīng)用技術(shù)專業(yè)群平臺課程改革與建設(shè)成果編寫而成。 本書以培養(yǎng)電子信息類專業(yè)軟件編程能力為目標,以C語言基礎(chǔ)知識體系為線索,選取電 子產(chǎn)品或電子產(chǎn)品實現(xiàn)技術(shù)典型案例組織教學(xué)內(nèi)容。本書共分8個案例,每個案例由多個任務(wù)組 成,每個任務(wù)包含任務(wù)描述、學(xué)習(xí)目標、預(yù)備知識、任務(wù)實現(xiàn)、程序?qū)ёx、任務(wù)拓展等。通過 對各個案例的學(xué)習(xí),讀者不僅能提高C語言程序設(shè)計能力,還可以了解C語言在電子信息類專業(yè) 的典型應(yīng)用,增強讀者的學(xué)習(xí)興趣。 與本書配套的微課視頻和習(xí)題精講視頻讀者可以通過掃描書中的二維碼觀看。本書配套的PPT、任務(wù)源程序、任務(wù)拓展參考程序和附錄C趣味案例集錦源程序等,讀者可以從中國鐵道出 版社有限公司網(wǎng)站免費下載。 本書重點突出,結(jié)構(gòu)嚴謹,案例通俗易懂,貼近實際,適合作為高等學(xué)校電子信息類C語 言程序設(shè)計教材,也可作為相關(guān)科技人員及自學(xué)者的參考用書。
本書重點突出,結(jié)構(gòu)嚴謹,案例通俗易懂,貼近實際,適合作為高等學(xué)校電子信息類C語 言程序設(shè)計教材,也可作為相關(guān)科技人員及自學(xué)者的參考用書。
前 言
編寫本書的目的
C 語言程序設(shè)計是電子信息類專業(yè)的基礎(chǔ)課程,旨在訓(xùn)練學(xué)生計算思
維,培養(yǎng)學(xué)生程序編寫能力。目前,多數(shù)C 語言程序設(shè)計教材,以計算機類專
業(yè)學(xué)生為讀者對象,C 語言的講解非常細致、全面,涵蓋了C 語言中全部的語
法規(guī)則及常用的算法邏輯。對于電子類的專業(yè)來說,有些知識點是用不上或者
很少被使用的,況且過多的知識點只會讓初學(xué)編程的人望而生畏。當(dāng)然,市面
上還有一批以《51 單片機C 語言程序設(shè)計教程》為代表的C 語言教材,它們
是基于類似于Keil Vision 程序設(shè)計平臺和Proteus 硬件仿真平臺,設(shè)計C 語
言程序案例的。這些教材側(cè)重于硬件接口編程,任務(wù)過于依賴于硬件,學(xué)生在
學(xué)習(xí)時需要具備一定電子技術(shù)基礎(chǔ)知識,程序內(nèi)容糾纏于繁雜的硬件引腳細節(jié),
弱化了計算思維的訓(xùn)練。
2012 年,南通職業(yè)大學(xué)成功申報了江蘇省高職院校智能控制應(yīng)用技術(shù)
重點專業(yè)群。C 語言程序設(shè)計作為專業(yè)群的一門平臺課程,2014 年課程組
開始重點建設(shè)。在課程建設(shè)過程中,針對專業(yè)群學(xué)生的知識基礎(chǔ)和學(xué)習(xí)能力,
決定開發(fā)既能訓(xùn)練計算思維,又能服務(wù)硬件底層開發(fā)的C 語言教材。
課題組在編寫本書時,以知識夠用,能力復(fù)合為宗旨,教材的項目和
任務(wù)都以電子產(chǎn)品或電子技術(shù)為應(yīng)用場景,且不過度依賴于電子硬件知識,適
合作為電子類專業(yè)群多個專業(yè)教學(xué)需要的高職高專類C 語言教材。
教學(xué)內(nèi)容安排
本書由8 個案例組成,以C 語言知識體系為主線,以典型電子產(chǎn)品或電子產(chǎn)
品實現(xiàn)技術(shù)為模擬對象,通過C 語言編程實現(xiàn)其功能。典型電子產(chǎn)品有數(shù)字時鐘、
計時器、電子計算器,電子產(chǎn)品實現(xiàn)技術(shù)有滾屏輸出技術(shù)、字模打印技術(shù)、動態(tài)
圖像顯示技術(shù)、車輛定位系統(tǒng)信息處理技術(shù)以及溫控系統(tǒng)中數(shù)值處理技術(shù)等。
每個案例中又由多個任務(wù)組成,每個任務(wù)是相互關(guān)聯(lián)的。例如,案例1 為
簡易數(shù)字時鐘的模擬,共設(shè)計了6 個任務(wù),任務(wù)1.1 和任務(wù)1.2 為基本任務(wù),實
現(xiàn)顯示時間和換算時間,即如何按時、分、秒的格式顯示時間;任務(wù)1.3~ 任務(wù)1.6
則是數(shù)字時鐘功能的延伸和擴展,具體包括計算時間間隔、判斷整點時間的合
法性、求短耗時、求短時長等功能。
每個任務(wù)包含任務(wù)描述、學(xué)習(xí)目標、預(yù)備知識、任務(wù)實現(xiàn)、程序?qū)ёx、任
務(wù)拓展6 個部分。任務(wù)描述描述任務(wù)的主要內(nèi)容,告訴讀者要做什么;學(xué)習(xí)目
標告訴讀者完成這項任務(wù)后要達到的學(xué)習(xí)目標;預(yù)備知識是讀者完成此項任務(wù)
需要具備的C 語言的基礎(chǔ)知識,讀者可以在課前預(yù)習(xí);任務(wù)實現(xiàn)包括任務(wù)分析、
算法流程以及實現(xiàn)此任務(wù)的源程序;程序?qū)ёx是對程序重點和難點的進一步解
析;任務(wù)拓展則是任務(wù)功能擴展,可以引導(dǎo)讀者進一步思考,也可作為讀者實訓(xùn)、
練習(xí)使用。
此外,在每一個案例后以任務(wù)為單位附有習(xí)題,可供讀者課后鞏固練習(xí)。
在本書附錄C 中還附有趣味案例集錦,供讀者自學(xué)或綜合實訓(xùn)使用。
本書主要特色
(1)任務(wù)選取貼近工程實踐
任務(wù)選取既包含了C 語言的大部分知識點,又貼近工程實踐和實際生活,確
保讀者學(xué)到的知識和實際接軌。在具體案例設(shè)置時考慮了與后繼課程間的聯(lián)系。
例如,任務(wù)3.3 模擬單個字符的移動輸出和任務(wù)3.6 手機號碼的滾屏輸出,都
來源于LED 顯示屏輸出,在生活中隨處可見,與群內(nèi)的專業(yè)息息相關(guān),同時
又貼合了C 語言知識點的主線,生動有趣,讓課堂教學(xué)充滿活力。
(2)教材兼具通用性和專用性
本書案例既沒有局限于具體的單片機型號和硬件平臺,又能為電子產(chǎn)品的
底層開發(fā)提供知識技能保障;既滿足專業(yè)群內(nèi)跨專業(yè)的教學(xué)需要,又適于編程
愛好者入門學(xué)習(xí)。
本書習(xí)題中有一部分鞏固了案例中涉及的知識和技能,另一部分則對未觸
及的知識點和技能點進行了補充,整個習(xí)題的設(shè)置呈現(xiàn)出清晰而完整的知識體
系結(jié)構(gòu),基本能滿足計算機等級考試(二級C)的要求。
(3)本書為信息化立體教材,適應(yīng)泛在學(xué)習(xí)趨勢
本書的案例和任務(wù)都有很濃的原始性,配套開發(fā)的微課、習(xí)題精講視
頻等共享資源庫,可以有效提高案例的復(fù)用性和傳播性,擴大了立體化教材的
受眾范圍,可滿足部分讀者在線學(xué)習(xí)或遠程學(xué)習(xí)的需要。
致謝
本書由許秀林、王瓊瑤、陽俐君任主編,負責(zé)本書的總體設(shè)計,董楊琴、束慧、
孟領(lǐng)剛?cè)胃敝骶帯F渲,許秀林負責(zé)本書的統(tǒng)稿及緒論的編寫,王瓊瑤負責(zé)編
寫案例3、5、8,陽俐君負責(zé)編寫案例2、4、7,董楊琴、束慧共同編寫案
例1 和附錄C ;孟領(lǐng)剛負責(zé)編寫案例6。書中配套的微課、習(xí)題精講視頻等共
享資源庫由陽俐君、王瓊瑤、董楊琴制作完成。在本書的編寫過程中,還得到
陳衛(wèi)兵、劉建峰、吳素全、宋玉鋒等老師和企業(yè)專家的大力支持和幫助,他們
提出了許多寶貴意見和建議,在此表示衷心的感謝。
由于時間倉促,編者水平有限,書中難免存在疏漏與不妥之處,懇請讀者
批評指正。
編者
2020 年6 月
許秀林,男,院長,主講課程:《C語言與數(shù)據(jù)結(jié)構(gòu)》、《軟件工程》等。 曾獲教學(xué)、科研主要獎勵情況: (1)江蘇省教學(xué)成果一等獎:基于區(qū)域產(chǎn)業(yè)結(jié)構(gòu)調(diào)整的高職專業(yè)設(shè)置與動態(tài)調(diào)整機制研究與實踐,2017年; (2)南通市教學(xué)成果二等獎:基于地區(qū)產(chǎn)業(yè)結(jié)構(gòu)調(diào)整的高職專業(yè)動態(tài)調(diào)整機制研究與探索,2015年; (3)江蘇省現(xiàn)代教育技術(shù)研究十二五規(guī)劃課題:C語言輔助教學(xué)系統(tǒng)的設(shè)計與實現(xiàn),2011年度立項,2013年結(jié)題并獲得省級一等獎。 (4)南通職業(yè)大學(xué)第四屆教學(xué)名師,2012年 (5) 南通市自然科學(xué)優(yōu)秀論文獎三等獎,南通市人民政府,
2009年,排名。 王瓊瑤,女,教研室副主任,主講課程:《C語言程序設(shè)計》、《C#程序設(shè)計》、《C語言與數(shù)據(jù)結(jié)構(gòu)》、《計算機導(dǎo)論》等。 曾獲教學(xué)、科研主要獎勵情況: (1) 江蘇省微課比賽三等獎, 2016年,排名第二; (2) 藍橋杯全國軟件與信息技術(shù)大賽優(yōu)秀指導(dǎo)教師,全國二等獎, 2012年~2016年,排名; (3) 江蘇省職院校技能大賽三等獎, 2014、2016、2017年。 (4) 校優(yōu)秀教學(xué)成果一等獎,2013年,排名第五; 陽俐君,女,教師,主講課程:《C語言程序設(shè)計》、《C與數(shù)據(jù)結(jié)構(gòu)》等,同時是這兩門課的課程負責(zé)人。 曾獲教學(xué)、科研主要獎勵情況: (1)南通市第十屆自然科學(xué)優(yōu)秀學(xué)術(shù)論文三等獎,2017年,排名; (2)江蘇省微課比賽三等獎, 2016年,排名; (3) 省高等職業(yè)院校信息化教學(xué)大賽三等獎,2017年,排名第二; (4)年江蘇省高等學(xué)校本?苾(yōu)秀畢業(yè)設(shè)計(論文)團隊獎指導(dǎo)老師,2014年,排名第二; (5)藍橋杯全國軟件與信息技術(shù)大賽優(yōu)秀指導(dǎo)教師,省一等獎、全國三等獎, 2013年、2015年,排名。
目 錄
緒論 ............................................................................................. 1
案例1簡易數(shù)字時鐘的模擬...................................................................... 3
任務(wù)1.1 顯示時間 ......................................................................
4
任務(wù)1.2 換算時間 .....................................................................10
任務(wù)1.3 計算時間間隔...............................................................13
任務(wù)1.4 判斷整點時間的合法性 ..................................................17
任務(wù)1.5 求短耗時 ..................................................................19
任務(wù)1.6 求短時長................................................................. 22
小結(jié).................................................................................. 25
習(xí)題.................................................................................. 25
案例2溫控系統(tǒng)中的數(shù)值處理 ................................................................ 31
任務(wù)2.1 華氏溫度轉(zhuǎn)攝氏溫度 .................................................... 32
任務(wù)2.2 溫度采樣中的濾波處理................................................. 36
任務(wù)2.3 算術(shù)平均濾波算法處理溫度采樣 .................................... 38
任務(wù)2.4 滑動平均濾波采樣 ....................................................... 43
任務(wù)2.5 求溫度和平均溫度 ................................................. 47
小結(jié).................................................................................. 51
習(xí)題.................................................................................. 51
案例3模擬滾屏輸出 .............................................................................. 56
任務(wù)3.1 字母的輸入/ 輸出及轉(zhuǎn)換 .............................................. 57
任務(wù)3.2 簡易電子產(chǎn)品菜單顯示 ................................................. 62
任務(wù)3.3 模擬單個字符的移動輸出 .............................................. 66
任務(wù)3.4 按指定格式輸出手機號碼 ...............................................71
任務(wù)3.5 手機號碼的整體性輸入及輸出 ....................................... 74
任務(wù)3.6 手機號碼的滾屏輸出 .................................................... 78
小結(jié) ....................................................................................81
習(xí)題 ....................................................................................81
案例4模擬字模打印 .............................................................................. 86
任務(wù)4.1 模擬字模打印指定數(shù)字 ................................................. 87
任務(wù)4.2模擬字模打印任意數(shù)字 ..................................................91
任務(wù)4.3 橫向排版輸出英文單詞 ................................................. 95
任務(wù)4.4 橫向排版輸出任意時間 ................................................. 98
任務(wù)4.5高效存儲字模 .............................................................105
小結(jié) ..................................................................................109
習(xí)題 ..................................................................................110
案例5模擬計時器 .................................................................................113
任務(wù)5.1 簡易秒表計時 .............................................................114
任務(wù)5.2 模擬手機秒表計時 ......................................................116
任務(wù)5.3 模擬賽場分段計時 ......................................................118
任務(wù)5.4 模擬手機倒計時 .........................................................121
任務(wù)5.5 用字模實現(xiàn)倒計時輸出 ................................................123
小結(jié) ..................................................................................127
習(xí)題 ..................................................................................127
案例6模擬電子計算器 ......................................................................... 130
任務(wù)6.1 求2 的次冪 ................................................................131
任務(wù)6.2十進制轉(zhuǎn)二進制 .........................................................133
任務(wù)6.3 求子網(wǎng)網(wǎng)絡(luò)號和子網(wǎng)主機號..........................................135
任務(wù)6.4 簡易位運算計算器 ......................................................139
小結(jié) ..................................................................................143
習(xí)題 ..................................................................................144
案例7簡易位置檢測系統(tǒng) ..................................................................... 147
任務(wù)7.1 小車基本信息 .............................................................148
任務(wù)7.2模擬顯示小車位置 ......................................................154
任務(wù)7.3 遠距離求取 .............................................................158
任務(wù)7.4 有效位置檢測 .............................................................161
小結(jié)................................................................................ 166
習(xí)題................................................................................ 166
案例8動態(tài)顯示圖像 ............................................................................ 169
任務(wù)8.1 模擬紅綠燈變換 .........................................................170
任務(wù)8.2模擬流水燈................................................................178
任務(wù)8.3 顯示心形圖案 .............................................................182
任務(wù)8.4 跳動的心 ...................................................................188
任務(wù)8.5模擬交通信號燈.........................................................192
小結(jié) ..................................................................................198
習(xí)題 ..................................................................................199
附錄A運算符及其優(yōu)先級和結(jié)合性 ....................................................... 204
附錄B常用字符與ASCII 編碼對照表................................................... 205
附錄C趣味案例集錦 ............................................................................ 206