版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
智能小車C語言程序控制秦磊
梁爽
主編第六章
制作小夜燈目錄CONTENTS1選擇語句2相關案例介紹6.1PARTONE選擇語句6.1.1基本if語句
基本if語句的格式如下:if(表達式){語句1;語句2;…語句n;}基本if語句的執(zhí)行過程。(1)首先對if后面括號里的表達式進行判斷。(2)如果表達式的值為真或者非0,則執(zhí)行表達式后面的語句1至語句n。(3)如果表達式的值為假或者0,則跳過if語句執(zhí)行下一條語句。行業(yè)PPT模板/hangye/(1)“if(表達式)”后面沒有分號。(2)if語句中的表達式可以是關系表達式、邏輯表達式或數值表達式。(3)如果大括號中只有一條語句,那么大括號可以省略,本書建議不要省略大括號。小貼士【例6-1-1】打開C語言編譯器,輸入下列代碼。行業(yè)PPT模板/hangye/程序運行結果【例6-1-2】從鍵盤輸入兩個整數,按照由大到小的順序輸出這兩個數。行業(yè)PPT模板/hangye/程序運行結果【例6-1-3】輸入三個數a、b、c,要求按由小到大的順序輸出這三個數。行業(yè)PPT模板/hangye/程序運行結果行業(yè)PPT模板/hangye/
輸入一個字符,判斷它是否為大寫字母,若是則將其轉換成小寫字母,若不是則不轉換,然后輸出最后得到的字符。練一練6.1.2if-else語句基本if語句是單分支選擇結構,if-else語句是雙分支選擇結構。在雙分支選擇結構中,if語句對表達式進行判斷,當表達式的值為真時執(zhí)行if后面的語句1至語句n,為假則執(zhí)行else后面的語句1至語句n,格式如右邊所示:if(表達式){ 語句1; 語句2; … 語句n;}else{ 語句1; 語句2; … 語句n;}行業(yè)PPT模板/hangye/(1)在if-else語句中,如果if或else后面只有一條語句,那么可以省略大括號。(2)在C語言中“==”是關系運算符,而“=”表示賦值,如a=0表示將0賦給a,而a==0表示a的值是否為0的布爾運算。小貼士【例6-1-4】用鍵盤輸入一個數字,如果輸入的數字為0,就顯示“你好”,否則顯示“hello”。行業(yè)PPT模板/hangye/程序運行結果【例6-1-5】用鍵盤輸入當前溫度,如果大于或等于30℃就提示開啟空調,如果小于30℃則提示不開啟空調。行業(yè)PPT模板/hangye/程序運行結果【例6-1-6】小明跟著媽媽去逛超市,總共花費m元,小明給了超市收銀員n元,請問超市收銀員需要給小明找多少零錢,請設計一個程序幫助小明。行業(yè)PPT模板/hangye/程序運行結果拓展行業(yè)PPT模板/hangye/通過鍵盤輸入兩個數a和b,輸出兩個數中較大的數。程序如下:拓展行業(yè)PPT模板/hangye/能不能用條件表達式將上述程序簡化一下呢?簡化后的程序如下:拓展行業(yè)PPT模板/hangye/下面的語句和語句max=(a>b)?a:b;等效。if(a>b){ max=a;}else{max=b;}條件表達式的一般形式如下:表達式1?表達式2:表達式3如果表達式1成立就執(zhí)行表達式2,否則執(zhí)行表達式3。行業(yè)PPT模板/hangye/
請編寫一個程序,從鍵盤輸入一個整數,判斷該數是否為偶數。練一練6.1.3嵌套if語句如果程序的邏輯判斷關系比較復雜,可以采用嵌套if語句,即在if語句中又包含一個或多個if語句,其一般形式如右所示:if(表達式){ if(表達式){ 語句塊} else{ 語句塊}}else{ if(表達式){ 語句塊} else{ 語句塊}}【例6-1-7】有一個函數y=
,要求編寫一個程序,輸入一個自變量整數x,程序輸出一個因變量y。行業(yè)PPT模板/hangye/程序運行結果【例6-1-8】在一個房間中如果傳感器采集到的溫度大于或等于30℃,并且房間內有人,則提示空調打開,否則提示空調關閉。注意:在程序中輸入0表示無人,輸入其他數字表示有人,采集的溫度為人工模擬輸入溫度。行業(yè)PPT模板/hangye/程序運行結果拓展行業(yè)PPT模板/hangye/圖2-6-10和圖2-6-11中的兩個程序功能相同,都是實現(xiàn)對輸入的三個數進行升序排列。在編寫程序時應盡量實現(xiàn)單出口,以便后續(xù)程序調用其中的變量。行業(yè)PPT模板/hangye/
小貼士
在嵌套if語句中,每個else與離它最近且沒有其他else與之對應的if相配對,如果if與else的數目不一樣,可以加大括號來確定配對關系。建議在if或else后面使用大括號,即使只有一條語句。
練一練
從鍵盤輸入兩個數a和b,編寫一個程序判斷a與b的關系(大于、小于、等于)。
6.1.4if-else-if語句采用嵌套if語句是為了實現(xiàn)多分支選擇,但程序結構不夠清晰,所以一般情況下較少使用if語句的嵌套結構,而使用if-else-if語句來實現(xiàn)多分支選擇?!纠?-1-9】有一個函數y=
,要求編寫一個程序,輸入一個自變量整數x,程序輸出一個因變量y。行業(yè)PPT模板/hangye/程序運行結果【例6-1-10】根據溫度判斷天氣舒適度。行業(yè)PPT模板/hangye/程序運行結果拓展行業(yè)PPT模板/hangye/if-else-if語句解決了if嵌套語句中代碼編排的問題和多出口問題。為了保證程序結構清晰,通常提倡將程序寫成鋸齒形式,復雜的if嵌套語句會導致代碼往右縮進嚴重,不便于屏幕顯示,而級聯(lián)if語句可以讓代碼更好地適應屏幕要求,讓程序更便于閱讀。拓展行業(yè)PPT模板/hangye/if-else-if的級聯(lián)if語句和并列if語句的結果不同。如圖2-6-14和圖2-6-15所示,這兩個程序的運行結果不一樣。兩個程序的不同之處就是圖2-6-15所示程序把第二次和第三次的if判斷換成了else-if判斷。這兩個程序都沒有編譯錯誤,但是圖2-6-14所示程序能正確輸出排列結果,而圖2-6-15所示程序輸出結果如圖2-6-16所示,這是因為它的第二次判斷是在第一次判斷的基礎上進行的,第二次判斷的條件是a<=b且a>c,執(zhí)行完此次判斷后a<=b且a<=c,第三次判斷是在a<=b且a<=c的基礎上比較b和c的大小,執(zhí)行完結果是a<=b、a<=c且b<=c,但是這個程序對a>b這種情況沒有進行判斷,所以會出現(xiàn)圖2-6-16所示的情況,即只比較了a和b的大小。拓展行業(yè)PPT模板/hangye/行業(yè)PPT模板/hangye/
小貼士
級聯(lián)if語句中else-if中的else也是if語句的一部分,它與離它最近且沒有其他else與之對應的if相配對。
練一練
編寫一個程序實現(xiàn)從鍵盤輸入一個整數,判斷輸入的整數是正整數、負整數還是零。
6.1.5switch語句多分支選擇結構使用if-else-if語句時,程序顯得復雜冗長,可讀性較差,所以C語言提供了另外一種用于多分支選擇的語句—switch語句,它能使程序變得簡潔。switch語句的一般形式如下:switch(表達式){ case常量1:語句1;break; case常量2:語句2;break; … case常量n:語句n;break; default:語句n+1;}6.1.5switch語句switch后面的表達式是選擇條件,可以是單個變量,也可以是變量組合成的表達式,其最終的結果必須是一個整數。大括號內的所有內容是switch語句的主體,包含多個case分支,判斷值必須是常量,case分支根據判斷值標識條件的入口??梢詫witch語句看成一種基于計算的跳轉,計算控制表達式的值后,程序會跳轉到相匹配的case分支。在執(zhí)行完分支中的最后一條語句后,如果后面沒有break,就會順序執(zhí)行下面的case分支,直至遇到break,或者switch語句結束為止?!纠?-1-11】根據輸入的月份顯示該月份對應的英文。行業(yè)PPT模板/hangye/程序運行結果【例6-1-12】請編寫程序,由鍵盤輸入成績的等級,該程序能夠根據成績的等級輸出百分制分數段,A等為90分以上,B等為80~89分,C等為70~79分,D等為60~69分,E等為60分以下。行業(yè)PPT模板/hangye/程序運行結果行業(yè)PPT模板/hangye/
小貼士
(1)switch后面表達式的結果只能是整數。case后面的常量可以是常數,也可以是常數計算的表達式。(2)在每個case后面帶一個break才能跳出switch選擇結構,否則會執(zhí)行下一條case語句。
行業(yè)PPT模板/hangye/
小貼士
switch語句的執(zhí)行過程如下。(1)首先計算“表達式”的值,假設為a。(2)從第一個case開始,比較“常量1”和a,如果“常量1”和a不相等,就跳過冒號后面的“語句1”,繼續(xù)比較第二個case、第三個case等。如果它們相等,就執(zhí)行冒號后面的語句,一旦遇到break,就跳出switch語句。假設a和“常量5”相等,那么就會從“語句5”一直執(zhí)行到“語句n+1”。(3)如果直到“常量n”都沒有找到相等的數值,那么就執(zhí)行default后的“語句n+1”。
練一練
請用switch語句編寫一個程序,根據用戶輸入的駕照類型,輸出他可以駕駛的車輛類型。
6.1.6選擇結構的應用項目案例數字猜猜猜小游戲是一個經典小游戲,在本文中,猜數字小游戲主要的功能如下所示:1、登入猜數字小游戲系統(tǒng),顯示小時歡迎界面。2、用戶猜的數字有系統(tǒng)隨機在1-30之間生成。3、用戶可以有5次機會猜這個隨機生成的數字。4、若用戶猜大了,則系統(tǒng)會顯示猜大了,并提示還有多少猜數字的機會。5、若5次都沒有猜中系統(tǒng)隨機生成的數字,則游戲結束。該游戲首先定義select變量,根據用戶輸入的值,給變量select賦值,根據輸入的select值,進入switch分支語句進行判斷實現(xiàn)開始游戲或退出游戲選擇。使用if-else-if語句實現(xiàn)游戲猜測判斷以及剩余次數提醒。}6.2PARTTWO相關案例介紹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,用選擇語句編寫程序。按鍵屬于開關量(數字量)元件,按下時為閉合(導通)狀態(tài)。本案例要用到的硬件清單如下:(1)Arduino開發(fā)板1塊。(2)按鍵1個。(3)發(fā)光二極管1個。(4)限流電阻1個(配合發(fā)光二極管使用,本案例使用330Ω電阻)。(5)限流電阻1個(配合按鍵使用,本案例使用10kΩ電阻)。(6)面包板1塊。(7)面包板導線若干。將按鍵接到開發(fā)板7號引腳,LED接到開發(fā)板11號引腳,按圖2-6-23連接好電路。6.2.2用按鍵控制LED6.2.2用按鍵控制LED6.2.2用按鍵控制LED6.2.3制作神奇小夜燈本案例主要介紹如何利用Arduino開發(fā)板制作神奇小夜燈。這個小夜燈神奇在何處呢?它能自動感應光線,只有光線暗淡時才會亮起。本案例中用LED模擬小夜燈。如圖2-6-27所示,光線充足時LED不亮。如圖2-6-28所示,用筆帽對光敏電阻進行遮擋,模擬光線暗淡的情況,這時LED點亮。6.2.3制作神奇小夜燈本案例需要的硬件清單如下:(1)Arduino開發(fā)板1塊。(2)發(fā)光二極管1個。(3)限流電阻1個(配合LED使用,本案例使用330電阻)。(4)面包板1塊。(5)面包板導線若干。(6)5528光敏電阻1個。(7)分壓電阻1個(10k,配合5528光敏電阻使用)。6.2.3制作神奇小夜燈6.2.3制作神奇小夜燈行業(yè)PPT模板/hangye/
串口通信屬于異步串行通信,串行通信是將數據按位在一條傳輸線上依次傳輸,每一位為1或0。在本章Arduino案例中使用USB線建立串口連接。波特率是指一個設備在一秒鐘內發(fā)送(或接收)了多少比特的數據,它反映了設備發(fā)送(或接收)數據的快慢。為了保證串行通信順利進行,數據發(fā)送方發(fā)送數據的速率與數據接收方接收數據的速率要保持一致。串口通信的常用函數如下:(1)Serial.begin(speed)用于開啟通信接口并設置波特率,比如Serial.begin(9600)是指將通信接口波特率設置為9600。speed表示波特率,一般選擇9600。(2)Serial.available(void)用于判斷串口緩沖器是否有數據輸入。(3)Serial.read(void)用于讀取串口數據。(4)Serial.print(val)用于寫入字符串數據到串口,val表示要打印的數據。(5)Serial.println(val)用于寫入字符串數據+換行到串口,val表示要打印的數據。
拓展行業(yè)PPT模板/hangye/
(1)在本章的三個案例中,數字接口和模擬接口可以根據需要進行更改。(2)案例中的按鍵有四個引腳,兩兩相通,安裝時應注意方向問題。
小貼士1.器材準備(1)首先識讀電路,選擇所需的電路元件,記錄其型號、規(guī)格、數量。逐個檢驗各個元件規(guī)格和質量是否正確合格。填寫表2-6-1。(2)把檢測好的器材整齊地放在工作臺上,準備下一步安裝接線。
6.2.4任務實施及效果2.職業(yè)素養(yǎng)在任務實施過程中能夠按照操作規(guī)范進行文明生產,任務實施過程中的,填寫表2-6-2。
6.2.4任務實施及效果3.電路的安裝按照實例中的電路原理圖和實物接線圖在接線板上布置元件并安裝接線。并填寫表2-6-3。
6.2.4任務實施
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025論土地承包經營合同
- 關于承包農田合同范例
- 學校采購床品合同范例
- 內部交易合同范例
- 銅仁學院《足球運動訓練》2023-2024學年第一學期期末試卷
- 銅陵學院《身邊的化學》2023-2024學年第一學期期末試卷
- 第十冊第四單元《分數的基本性質》說課稿
- 通化醫(yī)藥健康職業(yè)學院《銀行業(yè)務模擬實訓》2023-2024學年第一學期期末試卷
- 長沙2024年湖南瀏陽市金陽醫(yī)院招聘66人歷年參考題庫(頻考版)含答案解析
- 鐵嶺衛(wèi)生職業(yè)學院《微電子制造技術》2023-2024學年第一學期期末試卷
- GB/T 43782-2024人工智能機器學習系統(tǒng)技術要求
- 中考語文復習:謙辭和敬辭+教學設計
- 北師大版三年級上《心理健康》第5課《合作互助好處多》
- 結構方程模型及測其量方法
- 城市綜合體消防技術標準 DG-TJ08-2408-2022
- 銀行線上線下一體化營銷
- 高一上學期期末教學質量統(tǒng)一檢測語文試題(A卷)(解析版)
- 六年級上冊求陰影部分面積期末重點必考50道題
- 面試答辯述職報告
- 能效評估報告
- 四年級上冊數學乘法豎式
評論
0/150
提交評論