版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
智能小車C語言程序控制秦磊
梁爽
主編第六章
制作小夜燈目錄CONTENTS1選擇語句2相關(guān)案例介紹6.1PARTONE選擇語句6.1.1基本if語句
基本if語句的格式如下:if(表達(dá)式){語句1;語句2;…語句n;}基本if語句的執(zhí)行過程。(1)首先對if后面括號里的表達(dá)式進(jìn)行判斷。(2)如果表達(dá)式的值為真或者非0,則執(zhí)行表達(dá)式后面的語句1至語句n。(3)如果表達(dá)式的值為假或者0,則跳過if語句執(zhí)行下一條語句。行業(yè)PPT模板/hangye/(1)“if(表達(dá)式)”后面沒有分號。(2)if語句中的表達(dá)式可以是關(guān)系表達(dá)式、邏輯表達(dá)式或數(shù)值表達(dá)式。(3)如果大括號中只有一條語句,那么大括號可以省略,本書建議不要省略大括號。小貼士【例6-1-1】打開C語言編譯器,輸入下列代碼。行業(yè)PPT模板/hangye/程序運行結(jié)果【例6-1-2】從鍵盤輸入兩個整數(shù),按照由大到小的順序輸出這兩個數(shù)。行業(yè)PPT模板/hangye/程序運行結(jié)果【例6-1-3】輸入三個數(shù)a、b、c,要求按由小到大的順序輸出這三個數(shù)。行業(yè)PPT模板/hangye/程序運行結(jié)果行業(yè)PPT模板/hangye/
輸入一個字符,判斷它是否為大寫字母,若是則將其轉(zhuǎn)換成小寫字母,若不是則不轉(zhuǎn)換,然后輸出最后得到的字符。練一練6.1.2if-else語句基本if語句是單分支選擇結(jié)構(gòu),if-else語句是雙分支選擇結(jié)構(gòu)。在雙分支選擇結(jié)構(gòu)中,if語句對表達(dá)式進(jìn)行判斷,當(dāng)表達(dá)式的值為真時執(zhí)行if后面的語句1至語句n,為假則執(zhí)行else后面的語句1至語句n,格式如右邊所示:if(表達(dá)式){ 語句1; 語句2; … 語句n;}else{ 語句1; 語句2; … 語句n;}行業(yè)PPT模板/hangye/(1)在if-else語句中,如果if或else后面只有一條語句,那么可以省略大括號。(2)在C語言中“==”是關(guān)系運算符,而“=”表示賦值,如a=0表示將0賦給a,而a==0表示a的值是否為0的布爾運算。小貼士【例6-1-4】用鍵盤輸入一個數(shù)字,如果輸入的數(shù)字為0,就顯示“你好”,否則顯示“hello”。行業(yè)PPT模板/hangye/程序運行結(jié)果【例6-1-5】用鍵盤輸入當(dāng)前溫度,如果大于或等于30℃就提示開啟空調(diào),如果小于30℃則提示不開啟空調(diào)。行業(yè)PPT模板/hangye/程序運行結(jié)果【例6-1-6】小明跟著媽媽去逛超市,總共花費m元,小明給了超市收銀員n元,請問超市收銀員需要給小明找多少零錢,請設(shè)計一個程序幫助小明。行業(yè)PPT模板/hangye/程序運行結(jié)果拓展行業(yè)PPT模板/hangye/通過鍵盤輸入兩個數(shù)a和b,輸出兩個數(shù)中較大的數(shù)。程序如下:拓展行業(yè)PPT模板/hangye/能不能用條件表達(dá)式將上述程序簡化一下呢?簡化后的程序如下:拓展行業(yè)PPT模板/hangye/下面的語句和語句max=(a>b)?a:b;等效。if(a>b){ max=a;}else{max=b;}條件表達(dá)式的一般形式如下:表達(dá)式1?表達(dá)式2:表達(dá)式3如果表達(dá)式1成立就執(zhí)行表達(dá)式2,否則執(zhí)行表達(dá)式3。行業(yè)PPT模板/hangye/
請編寫一個程序,從鍵盤輸入一個整數(shù),判斷該數(shù)是否為偶數(shù)。練一練6.1.3嵌套if語句如果程序的邏輯判斷關(guān)系比較復(fù)雜,可以采用嵌套if語句,即在if語句中又包含一個或多個if語句,其一般形式如右所示:if(表達(dá)式){ if(表達(dá)式){ 語句塊} else{ 語句塊}}else{ if(表達(dá)式){ 語句塊} else{ 語句塊}}【例6-1-7】有一個函數(shù)y=
,要求編寫一個程序,輸入一個自變量整數(shù)x,程序輸出一個因變量y。行業(yè)PPT模板/hangye/程序運行結(jié)果【例6-1-8】在一個房間中如果傳感器采集到的溫度大于或等于30℃,并且房間內(nèi)有人,則提示空調(diào)打開,否則提示空調(diào)關(guān)閉。注意:在程序中輸入0表示無人,輸入其他數(shù)字表示有人,采集的溫度為人工模擬輸入溫度。行業(yè)PPT模板/hangye/程序運行結(jié)果拓展行業(yè)PPT模板/hangye/圖2-6-10和圖2-6-11中的兩個程序功能相同,都是實現(xiàn)對輸入的三個數(shù)進(jìn)行升序排列。在編寫程序時應(yīng)盡量實現(xiàn)單出口,以便后續(xù)程序調(diào)用其中的變量。行業(yè)PPT模板/hangye/
小貼士
在嵌套if語句中,每個else與離它最近且沒有其他else與之對應(yīng)的if相配對,如果if與else的數(shù)目不一樣,可以加大括號來確定配對關(guān)系。建議在if或else后面使用大括號,即使只有一條語句。
練一練
從鍵盤輸入兩個數(shù)a和b,編寫一個程序判斷a與b的關(guān)系(大于、小于、等于)。
6.1.4if-else-if語句采用嵌套if語句是為了實現(xiàn)多分支選擇,但程序結(jié)構(gòu)不夠清晰,所以一般情況下較少使用if語句的嵌套結(jié)構(gòu),而使用if-else-if語句來實現(xiàn)多分支選擇。【例6-1-9】有一個函數(shù)y=
,要求編寫一個程序,輸入一個自變量整數(shù)x,程序輸出一個因變量y。行業(yè)PPT模板/hangye/程序運行結(jié)果【例6-1-10】根據(jù)溫度判斷天氣舒適度。行業(yè)PPT模板/hangye/程序運行結(jié)果拓展行業(yè)PPT模板/hangye/if-else-if語句解決了if嵌套語句中代碼編排的問題和多出口問題。為了保證程序結(jié)構(gòu)清晰,通常提倡將程序?qū)懗射忼X形式,復(fù)雜的if嵌套語句會導(dǎo)致代碼往右縮進(jìn)嚴(yán)重,不便于屏幕顯示,而級聯(lián)if語句可以讓代碼更好地適應(yīng)屏幕要求,讓程序更便于閱讀。拓展行業(yè)PPT模板/hangye/if-else-if的級聯(lián)if語句和并列if語句的結(jié)果不同。如圖2-6-14和圖2-6-15所示,這兩個程序的運行結(jié)果不一樣。兩個程序的不同之處就是圖2-6-15所示程序把第二次和第三次的if判斷換成了else-if判斷。這兩個程序都沒有編譯錯誤,但是圖2-6-14所示程序能正確輸出排列結(jié)果,而圖2-6-15所示程序輸出結(jié)果如圖2-6-16所示,這是因為它的第二次判斷是在第一次判斷的基礎(chǔ)上進(jìn)行的,第二次判斷的條件是a<=b且a>c,執(zhí)行完此次判斷后a<=b且a<=c,第三次判斷是在a<=b且a<=c的基礎(chǔ)上比較b和c的大小,執(zhí)行完結(jié)果是a<=b、a<=c且b<=c,但是這個程序?qū)>b這種情況沒有進(jìn)行判斷,所以會出現(xiàn)圖2-6-16所示的情況,即只比較了a和b的大小。拓展行業(yè)PPT模板/hangye/行業(yè)PPT模板/hangye/
小貼士
級聯(lián)if語句中else-if中的else也是if語句的一部分,它與離它最近且沒有其他else與之對應(yīng)的if相配對。
練一練
編寫一個程序?qū)崿F(xiàn)從鍵盤輸入一個整數(shù),判斷輸入的整數(shù)是正整數(shù)、負(fù)整數(shù)還是零。
6.1.5switch語句多分支選擇結(jié)構(gòu)使用if-else-if語句時,程序顯得復(fù)雜冗長,可讀性較差,所以C語言提供了另外一種用于多分支選擇的語句—switch語句,它能使程序變得簡潔。switch語句的一般形式如下:switch(表達(dá)式){ case常量1:語句1;break; case常量2:語句2;break; … case常量n:語句n;break; default:語句n+1;}6.1.5switch語句switch后面的表達(dá)式是選擇條件,可以是單個變量,也可以是變量組合成的表達(dá)式,其最終的結(jié)果必須是一個整數(shù)。大括號內(nèi)的所有內(nèi)容是switch語句的主體,包含多個case分支,判斷值必須是常量,case分支根據(jù)判斷值標(biāo)識條件的入口。可以將switch語句看成一種基于計算的跳轉(zhuǎn),計算控制表達(dá)式的值后,程序會跳轉(zhuǎn)到相匹配的case分支。在執(zhí)行完分支中的最后一條語句后,如果后面沒有break,就會順序執(zhí)行下面的case分支,直至遇到break,或者switch語句結(jié)束為止?!纠?-1-11】根據(jù)輸入的月份顯示該月份對應(yīng)的英文。行業(yè)PPT模板/hangye/程序運行結(jié)果【例6-1-12】請編寫程序,由鍵盤輸入成績的等級,該程序能夠根據(jù)成績的等級輸出百分制分?jǐn)?shù)段,A等為90分以上,B等為80~89分,C等為70~79分,D等為60~69分,E等為60分以下。行業(yè)PPT模板/hangye/程序運行結(jié)果行業(yè)PPT模板/hangye/
小貼士
(1)switch后面表達(dá)式的結(jié)果只能是整數(shù)。case后面的常量可以是常數(shù),也可以是常數(shù)計算的表達(dá)式。(2)在每個case后面帶一個break才能跳出switch選擇結(jié)構(gòu),否則會執(zhí)行下一條case語句。
行業(yè)PPT模板/hangye/
小貼士
switch語句的執(zhí)行過程如下。(1)首先計算“表達(dá)式”的值,假設(shè)為a。(2)從第一個case開始,比較“常量1”和a,如果“常量1”和a不相等,就跳過冒號后面的“語句1”,繼續(xù)比較第二個case、第三個case等。如果它們相等,就執(zhí)行冒號后面的語句,一旦遇到break,就跳出switch語句。假設(shè)a和“常量5”相等,那么就會從“語句5”一直執(zhí)行到“語句n+1”。(3)如果直到“常量n”都沒有找到相等的數(shù)值,那么就執(zhí)行default后的“語句n+1”。
練一練
請用switch語句編寫一個程序,根據(jù)用戶輸入的駕照類型,輸出他可以駕駛的車輛類型。
6.1.6選擇結(jié)構(gòu)的應(yīng)用項目案例數(shù)字猜猜猜小游戲是一個經(jīng)典小游戲,在本文中,猜數(shù)字小游戲主要的功能如下所示:1、登入猜數(shù)字小游戲系統(tǒng),顯示小時歡迎界面。2、用戶猜的數(shù)字有系統(tǒng)隨機在1-30之間生成。3、用戶可以有5次機會猜這個隨機生成的數(shù)字。4、若用戶猜大了,則系統(tǒng)會顯示猜大了,并提示還有多少猜數(shù)字的機會。5、若5次都沒有猜中系統(tǒng)隨機生成的數(shù)字,則游戲結(jié)束。該游戲首先定義select變量,根據(jù)用戶輸入的值,給變量select賦值,根據(jù)輸入的select值,進(jìn)入switch分支語句進(jìn)行判斷實現(xiàn)開始游戲或退出游戲選擇。使用if-else-if語句實現(xiàn)游戲猜測判斷以及剩余次數(shù)提醒。}6.2PARTTWO相關(guān)案例介紹6.2.1用計算機指令控制LED本案例通過控制計算機輸入的指令來控制LED的亮滅。硬件清單如下:(1)Arduino開發(fā)板1塊。(2)發(fā)光二極管1個。(3)限流電阻1個。本案例的實物連接圖如圖2-6-19所示。6.2.1用計算機指令控制LED6.2.2用按鍵控制LED本案例用一個按鍵控制一個LED,用選擇語句編寫程序。按鍵屬于開關(guān)量(數(shù)字量)元件,按下時為閉合(導(dǎo)通)狀態(tài)。本案例要用到的硬件清單如下:(1)Arduino開發(fā)板1塊。(2)按鍵1個。(3)發(fā)光二極管1個。(4)限流電阻1個(配合發(fā)光二極管使用,本案例使用330Ω電阻)。(5)限流電阻1個(配合按鍵使用,本案例使用10kΩ電阻)。(6)面包板1塊。(7)面包板導(dǎo)線若干。將按鍵接到開發(fā)板7號引腳,LED接到開發(fā)板11號引腳,按圖2-6-23連接好電路。6.2.2用按鍵控制LED6.2.2用按鍵控制LED6.2.2用按鍵控制LED6.2.3制作神奇小夜燈本案例主要介紹如何利用Arduino開發(fā)板制作神奇小夜燈。這個小夜燈神奇在何處呢?它能自動感應(yīng)光線,只有光線暗淡時才會亮起。本案例中用LED模擬小夜燈。如圖2-6-27所示,光線充足時LED不亮。如圖2-6-28所示,用筆帽對光敏電阻進(jìn)行遮擋,模擬光線暗淡的情況,這時LED點亮。6.2.3制作神奇小夜燈本案例需要的硬件清單如下:(1)Arduino開發(fā)板1塊。(2)發(fā)光二極管1個。(3)限流電阻1個(配合LED使用,本案例使用330電阻)。(4)面包板1塊。(5)面包板導(dǎo)線若干。(6)5528光敏電阻1個。(7)分壓電阻1個(10k,配合5528光敏電阻使用)。6.2.3制作神奇小夜燈6.2.3制作神奇小夜燈行業(yè)PPT模板/hangye/
串口通信屬于異步串行通信,串行通信是將數(shù)據(jù)按位在一條傳輸線上依次傳輸,每一位為1或0。在本章Arduino案例中使用USB線建立串口連接。波特率是指一個設(shè)備在一秒鐘內(nèi)發(fā)送(或接收)了多少比特的數(shù)據(jù),它反映了設(shè)備發(fā)送(或接收)數(shù)據(jù)的快慢。為了保證串行通信順利進(jìn)行,數(shù)據(jù)發(fā)送方發(fā)送數(shù)據(jù)的速率與數(shù)據(jù)接收方接收數(shù)據(jù)的速率要保持一致。串口通信的常用函數(shù)如下:(1)Serial.begin(speed)用于開啟通信接口并設(shè)置波特率,比如Serial.begin(9600)是指將通信接口波特率設(shè)置為9600。speed表示波特率,一般選擇9600。(2)Serial.available(void)用于判斷串口緩沖器是否有數(shù)據(jù)輸入。(3)Serial.read(void)用于讀取串口數(shù)據(jù)。(4)Serial.print(val)用于寫入字符串?dāng)?shù)據(jù)到串口,val表示要打印的數(shù)據(jù)。(5)Serial.println(val)用于寫入字符串?dāng)?shù)據(jù)+換行到串口,val表示要打印的數(shù)據(jù)。
拓展行業(yè)PPT模板/hangye/
(1)在本章的三個案例中,數(shù)字接口和模擬接口可以根據(jù)需要進(jìn)行更改。(2)案例中的按鍵有四個引腳,兩兩相通,安裝時應(yīng)注意方向問題。
小貼士1.器材準(zhǔn)備(1)首先識讀電路,選擇所需的電路元件,記錄其型號、規(guī)格、數(shù)量。逐個檢驗各個元件規(guī)格和質(zhì)量是否正確合格。填寫表2-6-1。(2)把檢測好的器材整齊地放在工作臺上,準(zhǔn)備下一步安裝接線。
6.2.4任務(wù)實施及效果2.職業(yè)素養(yǎng)在任務(wù)實施過程中能夠按照操作規(guī)范進(jìn)行文明生產(chǎn),任務(wù)實施過程中的,填寫表2-6-2。
6.2.4任務(wù)實施及效果3.電路的安裝按照實例中的電路原理圖和實物接線圖在接線板上布置元件并安裝接線。并填寫表2-6-3。
6.2.4任務(wù)實施
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度婚慶司儀婚禮現(xiàn)場化妝造型服務(wù)合同6篇
- 人教版初中歷史與社會七年級上冊 2.1.2 海洋對人類的影響說課稿及反思
- 人教版七年級歷史與社會上冊 2.2《自然黃靜》之氣象萬千、風(fēng)光迥異 說課稿
- 2025版快遞業(yè)務(wù)數(shù)據(jù)處理與信息安全保密合同2篇
- 湖北省黃岡市普通高中2024-2025學(xué)年高二上學(xué)期11月階段性聯(lián)考語文試卷(含答案)
- 2025年環(huán)保設(shè)施安裝與運營服務(wù)合同3篇
- 湖北恩施市2024-2025學(xué)年九年級上學(xué)期語文期末考試題卷(含答案)
- 河南省南陽市(2024年-2025年小學(xué)六年級語文)統(tǒng)編版小升初模擬(上學(xué)期)試卷及答案
- 2025高考數(shù)學(xué)二輪復(fù)習(xí)-微培優(yōu)7 數(shù)列中的情境創(chuàng)新與數(shù)學(xué)文化【課件】
- Unit 7 第3課時 Section B (1a-2b)2024-2025學(xué)年新教材七年級英語上冊同步說課稿(人教版2024)河北專版
- 翻譯美學(xué)理論
- 15J403-1-樓梯欄桿欄板(一)
- 中國傳統(tǒng)樂器蕭介紹
- 2024屆華中師范大學(xué)新高三第一次聯(lián)考試題
- 小學(xué)食堂食品添加劑管理制度
- 職業(yè)技術(shù)學(xué)院汽車專業(yè)人才需求調(diào)研報告
- 第3章《物態(tài)變化》大單元教學(xué)設(shè)計- 2023-2024學(xué)年人教版八年級物理上冊
- 領(lǐng)導(dǎo)對述職報告的點評詞
- DL∕T 5210.4-2018 電力建設(shè)施工質(zhì)量驗收規(guī)程 第4部分:熱工儀表及控制裝置
- YYT 0661-2017 外科植入物 半結(jié)晶型聚丙交酯聚合物和共聚物樹脂
- HG+20231-2014化學(xué)工業(yè)建設(shè)項目試車規(guī)范
評論
0/150
提交評論