本書是江蘇省高等學校十三五重點教材,根據(jù)江蘇省高等職業(yè)院校重點專業(yè)群智能 控制應用技術(shù)專業(yè)群平臺課程改革與建設(shè)成果編寫而成。 本書以培養(yǎng)電子信息類專業(yè)軟件編程能力為目標,以C語言基礎(chǔ)知識體系為線索,選取電 子產(chǎn)品或電子產(chǎn)品實現(xiàn)技術(shù)典型案例組織教學內(nèi)容。本書共分8個案例,每個案例由多個任務(wù)組 成,每個任務(wù)包含任務(wù)描述、學習目標、預備知識、任務(wù)實現(xiàn)、程序?qū)ёx、任務(wù)拓展等。通過 對各個案例的學習,讀者不僅能提高C語言程序設(shè)計能力,還可以了解C語言在電子信息類專業(yè) 的典型應用,增強讀者的學習興趣。 與本書配套的微課視頻和習題精講視頻讀者可以通過掃描書中的二維碼觀看。本書配套的PPT、任務(wù)源程序、任務(wù)拓展參考程序和附錄C趣味案例集錦源程序等,讀者可以從中國鐵道出 版社有限公司網(wǎng)站免費下載。 本書重點突出,結(jié)構(gòu)嚴謹,案例通俗易懂,貼近實際,適合作為高等學校電子信息類C語 言程序設(shè)計教材,也可作為相關(guān)科技人員及自學者的參考用書。
本書重點突出,結(jié)構(gòu)嚴謹,案例通俗易懂,貼近實際,適合作為高等學校電子信息類C語 言程序設(shè)計教材,也可作為相關(guān)科技人員及自學者的參考用書。
前 言
編寫本書的目的
C 語言程序設(shè)計是電子信息類專業(yè)的基礎(chǔ)課程,旨在訓練學生計算思
維,培養(yǎng)學生程序編寫能力。目前,多數(shù)C 語言程序設(shè)計教材,以計算機類專
業(yè)學生為讀者對象,C 語言的講解非常細致、全面,涵蓋了C 語言中全部的語
法規(guī)則及常用的算法邏輯。對于電子類的專業(yè)來說,有些知識點是用不上或者
很少被使用的,況且過多的知識點只會讓初學編程的人望而生畏。當然,市面
上還有一批以《51 單片機C 語言程序設(shè)計教程》為代表的C 語言教材,它們
是基于類似于Keil Vision 程序設(shè)計平臺和Proteus 硬件仿真平臺,設(shè)計C 語
言程序案例的。這些教材側(cè)重于硬件接口編程,任務(wù)過于依賴于硬件,學生在
學習時需要具備一定電子技術(shù)基礎(chǔ)知識,程序內(nèi)容糾纏于繁雜的硬件引腳細節(jié),
弱化了計算思維的訓練。
2012 年,南通職業(yè)大學成功申報了江蘇省高職院校智能控制應用技術(shù)
重點專業(yè)群。C 語言程序設(shè)計作為專業(yè)群的一門平臺課程,2014 年課程組
開始重點建設(shè)。在課程建設(shè)過程中,針對專業(yè)群學生的知識基礎(chǔ)和學習能力,
決定開發(fā)既能訓練計算思維,又能服務(wù)硬件底層開發(fā)的C 語言教材。
課題組在編寫本書時,以知識夠用,能力復合為宗旨,教材的項目和
任務(wù)都以電子產(chǎn)品或電子技術(shù)為應用場景,且不過度依賴于電子硬件知識,適
合作為電子類專業(yè)群多個專業(yè)教學需要的高職高專類C 語言教材。
教學內(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ù)描述、學習目標、預備知識、任務(wù)實現(xiàn)、程序?qū)ёx、任
務(wù)拓展6 個部分。任務(wù)描述描述任務(wù)的主要內(nèi)容,告訴讀者要做什么;學習目
標告訴讀者完成這項任務(wù)后要達到的學習目標;預備知識是讀者完成此項任務(wù)
需要具備的C 語言的基礎(chǔ)知識,讀者可以在課前預習;任務(wù)實現(xiàn)包括任務(wù)分析、
算法流程以及實現(xiàn)此任務(wù)的源程序;程序?qū)ёx是對程序重點和難點的進一步解
析;任務(wù)拓展則是任務(wù)功能擴展,可以引導讀者進一步思考,也可作為讀者實訓、
練習使用。
此外,在每一個案例后以任務(wù)為單位附有習題,可供讀者課后鞏固練習。
在本書附錄C 中還附有趣味案例集錦,供讀者自學或綜合實訓使用。
本書主要特色
(1)任務(wù)選取貼近工程實踐
任務(wù)選取既包含了C 語言的大部分知識點,又貼近工程實踐和實際生活,確
保讀者學到的知識和實際接軌。在具體案例設(shè)置時考慮了與后繼課程間的聯(lián)系。
例如,任務(wù)3.3 模擬單個字符的移動輸出和任務(wù)3.6 手機號碼的滾屏輸出,都
來源于LED 顯示屏輸出,在生活中隨處可見,與群內(nèi)的專業(yè)息息相關(guān),同時
又貼合了C 語言知識點的主線,生動有趣,讓課堂教學充滿活力。
(2)教材兼具通用性和專用性
本書案例既沒有局限于具體的單片機型號和硬件平臺,又能為電子產(chǎn)品的
底層開發(fā)提供知識技能保障;既滿足專業(yè)群內(nèi)跨專業(yè)的教學需要,又適于編程
愛好者入門學習。
本書習題中有一部分鞏固了案例中涉及的知識和技能,另一部分則對未觸
及的知識點和技能點進行了補充,整個習題的設(shè)置呈現(xiàn)出清晰而完整的知識體
系結(jié)構(gòu),基本能滿足計算機等級考試(二級C)的要求。
(3)本書為信息化立體教材,適應泛在學習趨勢
本書的案例和任務(wù)都有很濃的原始性,配套開發(fā)的微課、習題精講視
頻等共享資源庫,可以有效提高案例的復用性和傳播性,擴大了立體化教材的
受眾范圍,可滿足部分讀者在線學習或遠程學習的需要。
致謝
本書由許秀林、王瓊瑤、陽俐君任主編,負責本書的總體設(shè)計,董楊琴、束慧、
孟領(lǐng)剛?cè)胃敝骶。其中,許秀林負責本書的統(tǒng)稿及緒論的編寫,王瓊瑤負責編
寫案例3、5、8,陽俐君負責編寫案例2、4、7,董楊琴、束慧共同編寫案
例1 和附錄C ;孟領(lǐng)剛負責編寫案例6。書中配套的微課、習題精講視頻等共
享資源庫由陽俐君、王瓊瑤、董楊琴制作完成。在本書的編寫過程中,還得到
陳衛(wèi)兵、劉建峰、吳素全、宋玉鋒等老師和企業(yè)專家的大力支持和幫助,他們
提出了許多寶貴意見和建議,在此表示衷心的感謝。
由于時間倉促,編者水平有限,書中難免存在疏漏與不妥之處,懇請讀者
批評指正。
編者
2020 年6 月
許秀林,男,院長,主講課程:《C語言與數(shù)據(jù)結(jié)構(gòu)》、《軟件工程》等。 曾獲教學、科研主要獎勵情況: (1)江蘇省教學成果一等獎:基于區(qū)域產(chǎn)業(yè)結(jié)構(gòu)調(diào)整的高職專業(yè)設(shè)置與動態(tài)調(diào)整機制研究與實踐,2017年; (2)南通市教學成果二等獎:基于地區(qū)產(chǎn)業(yè)結(jié)構(gòu)調(diào)整的高職專業(yè)動態(tài)調(diào)整機制研究與探索,2015年; (3)江蘇省現(xiàn)代教育技術(shù)研究十二五規(guī)劃課題:C語言輔助教學系統(tǒng)的設(shè)計與實現(xiàn),2011年度立項,2013年結(jié)題并獲得省級一等獎。 (4)南通職業(yè)大學第四屆教學名師,2012年 (5) 南通市自然科學優(yōu)秀論文獎三等獎,南通市人民政府,
2009年,排名。 王瓊瑤,女,教研室副主任,主講課程:《C語言程序設(shè)計》、《C#程序設(shè)計》、《C語言與數(shù)據(jù)結(jié)構(gòu)》、《計算機導論》等。 曾獲教學、科研主要獎勵情況: (1) 江蘇省微課比賽三等獎, 2016年,排名第二; (2) 藍橋杯全國軟件與信息技術(shù)大賽優(yōu)秀指導教師,全國二等獎, 2012年~2016年,排名; (3) 江蘇省職院校技能大賽三等獎, 2014、2016、2017年。 (4) 校優(yōu)秀教學成果一等獎,2013年,排名第五; 陽俐君,女,教師,主講課程:《C語言程序設(shè)計》、《C與數(shù)據(jù)結(jié)構(gòu)》等,同時是這兩門課的課程負責人。 曾獲教學、科研主要獎勵情況: (1)南通市第十屆自然科學優(yōu)秀學術(shù)論文三等獎,2017年,排名; (2)江蘇省微課比賽三等獎, 2016年,排名; (3) 省高等職業(yè)院校信息化教學大賽三等獎,2017年,排名第二; (4)年江蘇省高等學校本專科優(yōu)秀畢業(yè)設(shè)計(論文)團隊獎指導老師,2014年,排名第二; (5)藍橋杯全國軟件與信息技術(shù)大賽優(yōu)秀指導教師,省一等獎、全國三等獎, 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
習題.................................................................................. 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
習題.................................................................................. 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
習題 ....................................................................................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
習題 ..................................................................................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
習題 ..................................................................................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
習題 ..................................................................................144
案例7簡易位置檢測系統(tǒng) ..................................................................... 147
任務(wù)7.1 小車基本信息 .............................................................148
任務(wù)7.2模擬顯示小車位置 ......................................................154
任務(wù)7.3 遠距離求取 .............................................................158
任務(wù)7.4 有效位置檢測 .............................................................161
小結(jié)................................................................................ 166
習題................................................................................ 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
習題 ..................................................................................199
附錄A運算符及其優(yōu)先級和結(jié)合性 ....................................................... 204
附錄B常用字符與ASCII 編碼對照表................................................... 205
附錄C趣味案例集錦 ............................................................................ 206