版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第4章選擇結(jié)構(gòu)掌握if語句和switch語句掌握嵌套程序設(shè)計掌握選擇結(jié)構(gòu)程序應(yīng)用if和switch語句使用選擇結(jié)構(gòu)編寫程序任務(wù)1判斷奇數(shù)偶數(shù)任務(wù)2判斷某年是否閏年任務(wù)3求一元二次方程ax2+bx+c=0的解教學(xué)目標(biāo)1教學(xué)重點2教學(xué)方法:任務(wù)驅(qū)動3
引入if條件語句分為3種基本形式。ifif…elseif…elseif1)if語句
說明:表達(dá)式的值為1或0,必須用()括住。注意表達(dá)式后不加分號。語句有多條時,用{}括住,構(gòu)成復(fù)合語句。4.1if條件語句if(表達(dá)式)
語句;4.1if條件語句
例4-1:求數(shù)的平方根#include<stdio.h>#include<math.h>voidmain(){ floatx; printf("請輸入x的值:"); scanf("%f",&x); if(x>=0) printf("x的平方根是:%.2f\n",sqrt(x));}4.1if條件語句2)雙分支if…else語句執(zhí)行過程:如果滿足表達(dá)式的值執(zhí)行語句1否則執(zhí)行語句2。
if(表達(dá)式)語句1;else語句2;4.1if條件語句
例4-2:輸入兩個數(shù),比較其大小,將較大的數(shù)輸出。#include<stdio.h>#include<math.h>voidmain(){floata,b;scanf("%f%f",&a,&b);if(a>b)printf("%f",a);elseprintf("%f",b);}4.1if條件語句3)多分支if…elseif語句執(zhí)行過程:
依次判斷if后表達(dá)式的值,如果為真,則執(zhí)行其后的語句塊,并跳過其他語句塊。如果沒有一個表達(dá)式的值為真,則執(zhí)行最后一個else中的語句塊(n+1)。無論哪個語句塊執(zhí)行完后都直接退出if多分支結(jié)構(gòu)。if(表達(dá)式1)語句塊1elseif(表達(dá)式2)語句塊2…elseif(表達(dá)式n)語句塊nelse語句塊(n+1)4.1if條件語句
例4-3:對學(xué)生的考試成績進(jìn)行等級劃分。>=90:優(yōu);80分-89分:良好;60分-79分:中;<60分:差#include<stdio.h>voidmain(){ floatscore; scanf("%f",&score);//輸入學(xué)生成績 if(score>=90) printf("該成績的等級為優(yōu)\n elseif(score>=80) printf("該成績的等級為良好\n"); elseif(score>=60) printf("該成績的等級為中\(zhòng)n"); elseprintf("該成績的等級為差\n}4.1if條件語句4)條件語句的嵌套if(表達(dá)式1)if(表達(dá)式2)語句塊1else語句塊2elseif(表達(dá)式3)語句塊3else語句塊44.1if條件語句
例4-4:條件語句嵌套示例。#include<stdio.h>main(){floatx,y;scanf("%f",&x);if(x<=0)if(x<=-10)y=2*x;elsey=2+x;elseif(x<=10)y=x-2;elsey=x/10;printf("y=%f",y);}4.1if條件語句if~else配對原則if語句的嵌套遵循“就近原則”,即else總是與其前面最近的尚未配對的if結(jié)合。例:if(a==b)if(b==c)printf(“a==b==c”);elseprintf(“a!=b”);修改:if(a==b){if(b==c)printf(“a==b==c”);}elseprintf(“a!=b”);實現(xiàn)if~else正確配對方法:加{}4.1if條件語句思考題?1.有一函數(shù):當(dāng)x<1時,y=x;當(dāng)x>=1且x<10時,y=2x-1;當(dāng)x>=10時,y=3x-11,寫一程序,輸入x,輸出y值2.輸入4個整數(shù),要求按從小到大的順序輸出4.2switch條件語句
if語句是根據(jù)表達(dá)式的值是否為0來判斷執(zhí)行哪一分支的。某些情況下,要根據(jù)表達(dá)式的不同值來判斷執(zhí)行哪一分支,如表達(dá)式的值為1,2,3時,分別執(zhí)行不同的操作。雖然也可以用多條if語句來完成這一工作,但c語言中提供了一條switch語句,可以更方便的完成。4.2switch條件語句switch(表達(dá)式){case常量表達(dá)式1:
語句塊1;break;case常量表達(dá)式2:
語句塊2;break;…….case常量表達(dá)式n:
語句塊n;break;[default:
語句塊n+1
;]}switch表達(dá)式語句塊1語句塊2語句塊n語句塊n+1式1式ncase式2default說明:switch后面表達(dá)式的值只能是整型、字符型或枚舉型。case常量起語句標(biāo)號的作用,必須用break跳出。case后只能是常量或常量表達(dá)式,其值必須互不相同。case和default出現(xiàn)的次序不影響選擇結(jié)果。若多個case后的執(zhí)行語句是一樣的,則該執(zhí)行語句只需書寫一次即可。所有的語句塊都不需要帶“{}”。4.2switch條件語句
例4-5:對學(xué)生的考試成績進(jìn)行等級劃分(switch)。>=90:優(yōu);80分-89分:良好;60分-79分:中;<60分:差分析:
設(shè)score為整型變量,在score≥90的范圍內(nèi),score可取90、91、……99,100等數(shù)值。若把這些值都列出來,太繁瑣了。我們可以采取簡單策略:利用整數(shù)相除結(jié)果自動取整的特性,將score與10相除。當(dāng)score≥90時,score/10只可能取9和10兩個值。4.2switch條件語句#include<stdio.h>voidmain(){ intgrade,score; printf("請輸入合法的分?jǐn)?shù):\n"); scanf("%d",&score);//輸入學(xué)生成績 grade=score/10; switch(grade) { case10: case9:printf("該成績的等級為優(yōu)\n");break case8:printf("該成績的等級為良好\n");break; case7: case6:printf("該成績的等級為中\(zhòng)n");break; default:printf(“該成績的等級為差\n");break; }}4.3選擇結(jié)構(gòu)程序舉例
任務(wù)1輸入一個數(shù),判斷奇偶并輸出。#include<stdio.h>#include<math.h>voidmain(){intnum; printf("請輸入一個數(shù):"); scanf("%d",&num); if(num%2==0)//判斷條件成立,num被2整除 { printf("%d是一個偶數(shù)\n",num); } else { printf("%d是一個奇數(shù)\n",num); }}4.3順序結(jié)構(gòu)程序舉例
任務(wù)2:輸入年號,判斷它是否為閏年。#include<stdio.h>voidmain(){
intyear,leap; scanf("%d",&year); if((year%400==0)||(year%4==0&&year%100!=0)) leap=1; elseleap=0; if(leap==1)printf("%d年是閏年\n",year); elseprintf("%d年是不閏年\n",year);} 4.3順序結(jié)構(gòu)程序舉例
任務(wù)3:求方程ax2+bx+c=0的實數(shù)解#include<stdio.h>voidmain(){inta,b,c; floatx1,x2; scanf("%d%d%d",&a,&b,&c); if(a==0)printf("不是二次方程\n"); elseif(b*b-4*a*c>0) {
溫馨提示
- 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é)議書
- 惠華社區(qū)協(xié)議書
- 裝飾拆遷合同范本
- 小說閱讀協(xié)議書
- 2025黑龍江省中醫(yī)藥科學(xué)院哈爾濱市南崗區(qū)曲線社區(qū)衛(wèi)生服務(wù)中心招聘婦保醫(yī)生1人考試重點題庫及答案解析
- 責(zé)任權(quán)利協(xié)議書
- 銷售石料合同范本
- 展會費合同范本
- 巡邏補貼協(xié)議書
- 2025年二級建造師繼續(xù)教育考試題庫及答案
- 泵站、水閘混凝土施工實施細(xì)則
- (一模)2025年嘉興市2026屆高三教學(xué)測試思想政治試卷(含答案)
- 招生地推團(tuán)隊培訓(xùn)大綱
- 2023年秦皇島輔警招聘考試真題及答案詳解(新)
- 暖通工程調(diào)試及試運行總結(jié)報告
- 2025年廣西公需科目試題1卷
- 2026屆高考一輪復(fù)習(xí)全5冊課內(nèi)作文素材
- 鋼軌探傷工勞動安全培訓(xùn)課件
- 《勸學(xué)》課件+2025-2026學(xué)年統(tǒng)編版高一語文必修上冊
- 紅樓夢史湘云講解
評論
0/150
提交評論