版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
高級語言程序設計模塊二程序設計基礎任務2.3選擇結構的使用C語言程序設計基礎與實踐課程組04技能點拓展03技能點詳解02技能點分析目錄CONTENTS任務2.3選擇結構的使用01問題引入05技能點檢測一問題引入
大千世界,茫茫人海。變幻的世界,讓我們在人生的旅途中不斷地選擇,其實,人的一生就是在不斷地選擇。每當我們站在人生的十字路口時,交警是我們自己,自己選擇要去的方向。人生綻放光彩,總是在我們做出完美的選擇時。在計算機的世界里,我們需要根據某些條件來選擇執(zhí)行指定的操作,這就需要選擇結構。04技能點拓展03技能點詳解02技能點分析目錄CONTENTS01問題引入05技能點檢測任務2.3選擇結構的使用二技能點分析1.了解實現(xiàn)選擇結構的兩種語句:if語句和switch語句2.掌握if語句和switch語句的語法3.能夠使用這兩種語句進行選擇結構編程學習目標1.什么是選擇結構?實現(xiàn)選擇結構的語句有哪些?2.if語句的使用形式有哪些?3.什么情況下使用嵌套if語句?4.switch語句的使用注意事項有哪些?學期預習04技能點拓展03技能點詳解02技能點分析目錄CONTENTS01問題引入05技能點檢測任務2.3選擇結構的使用三技能點詳解選擇結構要求程序員指定一個或多個要評估或測試的條件,以及條件為“真”時要執(zhí)行的語句(必需的)和條件為“假”時要執(zhí)行的語句(可選的)。C語言把任何非零和非空的值假定為“真”,把零或null假定為“假”。下面是大多數(shù)編程語言中典型的選擇語句的流程圖:圖2.3.1選擇語句流程圖三技能點詳解常用選擇語句對應關系,如表2.3.1所示:表2.3.1選擇語句描述對照表三技能點詳解——1
if語句1.if語句一個if語句由一個布爾表達式后跟一個或多個語句組成。C語言中if語句的語法:如果布爾表達式為“真”,則if語句內的代碼塊將被執(zhí)行。如果布爾表達式為“假”,則if語句結束后的第一組代碼將被執(zhí)行。C語言把任何非零和非空的值假定為“真”,把零或null假定為“假”。if語句流程圖如圖2.3.2所示:圖2.3.2if語句流程圖三技能點詳解——2
if...else語句2.if...else語句一個if語句后可跟一個可選的else語句,else語句在布爾表達式為“假”時執(zhí)行。C語言中if...else語句的語法:三技能點詳解——2
if...else語句如果布爾表達式為“真”,則執(zhí)行if塊內的代碼。如果布爾表達式為“假”,則執(zhí)行else塊內的代碼。C語言把任何非零和非空的值假定為“真”,把零或null假定為“假”。if...else語句流程圖如圖2.3.3所示:圖2.3.3if...else語句流程圖三技能點詳解——3
if...elseif...else3.if...elseif...else語句一個if語句后可跟一個可選的elseif...else語句,這可用于測試多種條件。當使用if...elseif...else語句時,以下幾點需要注意:一個if后可跟零個或一個else,else必須在所有elseif之后。一個if后可跟零個或多個elseif,elseif必須在else之前。一旦某個elseif匹配成功,其他的elseif或else將不會被測試。
三技能點詳解——3
if...elseif...elseC語言中的if...elseif...else語句的語法:三技能點詳解——3
if...elseif...elseif...elseif...else語句流程圖如圖2.3.4所示:圖2.3.4if...elseif...else語句流程圖三技能點詳解——4
C嵌套if語句4.C嵌套if語句在C語言中,嵌套if-else語句是合法的,這意味著您可以在一個if或elseif語句內使用另一個if或elseif語句。C語言中嵌套if語句的語法:您可以嵌套elseif...else,方式與嵌套if語句相似。嵌套if語句流程圖如圖2.3.5所示:圖2.3.5嵌套if語句流程圖三技能點詳解——5
switch語句5.switch語句一個switch語句允許測試一個變量等于多個值時的情況。每個值稱為一個case,且被測試的變量會對每個case進行檢查。C語言中switch語句的語法:三技能點詳解——5
switch語句switch語句必須遵循下面的規(guī)則:1)switch語句中的表達式是一個常量表達式,必須是一個整型或枚舉類型。2)在一個switch中可以有任意數(shù)量的case語句。每個case后跟一個要比較的值和一個冒號。3)case后的常量必須與switch中的變量具有相同的數(shù)據類型,且必須是一個整數(shù)或字符常量。4)當被測試的變量等于case中的常量時,case后跟的語句將被執(zhí)行,直到遇到break語句為止。5)當遇到break語句時,switch終止,控制流將跳轉到switch語句后的下一行。6)不是每一個case都需要包含break。如果case語句不包含break,控制流將會繼續(xù)后續(xù)的case,直到遇break為止。7)一個switch語句可以有一個可選的defaultcase,出現(xiàn)在switch的結尾。defaultcase可用于在上面所有case都不為“真”時執(zhí)行一個任務。defaultcase中的break語句不是必需的。三技能點詳解——5
switch語句switch...case語句流程圖如圖2.3.6所示:圖2.3.6switch...case語句流程圖三技能點詳解——6嵌套switch語句6.嵌套switch語句您可以把一個switch作為一個外部switch的語句序列的一部分,即可以在一個switch語句內使用另一個switch語句。即使內部和外部switch的case常量包含共同的值,也沒有矛盾。C語言中嵌套switch語句的語法:案例2.3.1if語句在這個案例中,我們要先定義一個整型變量,并對其賦值,然后判斷其值是否小于20,如果是則輸出“a小于20”,再輸出它的值。/****************************************內容簡述:判斷輸入的值是否小于20。
***************************************/#include
<stdio.h>
//頭函數(shù)
intmain(void){
inta=10;//變量賦值
if(a<20)//條件判斷 { printf("a小于20\n"); }
printf("a的值是%d\n",a);//輸出變量a
return0;}三技能點詳解——案例案例2.3.2if...else語句在這個案例中,我們要先定義一個整型變量,并對其賦值,然后判斷其值是否小于20,如果是則輸出“a小于20”,否則輸出“a大于20”再輸出它的值。/*********************************內容簡述:判斷a值的大小。
*********************************/#include
<stdio.h>
//頭文件
intmain(void){
inta=100;//定義a值
if(a<20)//小于20 { printf("a小于20\n"); }
else
//不小于20 { printf("a大于20\n"); }
printf("a的值是%d\n",a);
return0;}三技能點詳解——案例案例2.3.3if...elseif...elseif...else語句我們要先定義一個整型變量,并對其賦值,然后判斷其值是否為10,20或者30,并輸出相應的結果,如果都不是則輸出“沒有匹配的值”,最后再輸出它的值。/***************************************內容簡述:輸入數(shù)值,與設定值進行數(shù)值匹配
***************************************/#include
<stdio.h>intmain(void){
inta=100;//定義變量值
if(a==10)//判斷是否與10相等{printf("a的值是10\n");}
else
if(a==20)//判斷是否與20相等{printf("a的值是20\n");}
else
if(a==30)//判斷是否與30相等{printf("a的值是30\n");}
else
//以上都不匹配{printf("沒有匹配的值\n");
}printf("a的準確值是%d\n",a);
return0;}三技能點詳解——案例案例2.3.4嵌套if語句在這個案例中,我們先定義兩個整型變量,并對它們各自賦值,然后先判斷第一個變量的值是否滿足條件,在滿足條件的情況下再去判斷第二個變量的值是否也滿足條件,如果兩個變量的值都滿足條件,則輸出一句話,說明兩個變量的值是多少,最后再輸出這兩個變量的值加以驗證。/***************************************內容簡述:判斷兩個條件都滿足時候的條件
***************************************/#include
<stdio.h>
//頭文件
intmain(void){
inta=100;//定義變量值
intb=200;
if(a==100)//條件1滿足 {
if(b==200)//條件2滿足 { printf("a的值是100且b的值是200\n"); } }
printf("a的準確值是%d\n",a); printf("b的準確值是%d\n",b);
return0;}三技能點詳解——案例案例2.3.5switch語句我們要根據某學生考試所得成績去輸出相應的結果提示,最后再輸出其成績。三技能點詳解——案例/***************************************************內容簡述:根據某學生考試所得成績去輸出相應的結果提示
***************************************************/#include
<stdio.h>
//頭文件
intmain(void){
chargrade='B';//分數(shù)等級
switch(grade) {
case'A'://如果是A等級 printf("很棒\n");break;
case'B'://如果是B等級
case'C'://如果是C等級 printf("做得好\n");break;
case'D'://如果是D等級 printf("您通過了\n");break;
case'E'://如果是E等級 printf("最好再試一下\n");break;
default://以上等級都不是 printf("無效的成績\n"); }
printf("您的成績是:%c\n",grade);
return0;}三技能點詳解——案例案例2.3.6嵌套switch語句的應用在這個案例中,我們先定義兩個整型變量,并對它們各自賦值,然后先用一個switch...case語句去判斷a的值,在此case分支內再去嵌套一個switch...case去判斷b的值,最后再輸出這兩個變量的值加以驗證。三技能點詳解——案例/***************************************************內容簡述:根據某學生考試所得成績去輸出相應的結果提示
***************************************************/#include
<stdio.h>
intmain(void){
inta=100;//定義變量值
intb=200;
switch(a)//根據a的值進行選擇{
case100:printf("a的值是100。\n");
switch(b)//根據b的值進行選擇 {
case200:printf("a的值是100,且b的值是200。\n");break;
default:printf("沒有找到符合b的值。\n");}
break;
default:printf("沒有找到符合a的值。\n");}
printf("a的準確值是%d\n",a);printf("b的準確值是%d\n",b);
return0;}三技能點詳解——案例04技能點拓展03技能點詳解02技能點分析目錄CONTENTS01問題引入05技能點檢測任務2.3選擇結構的使用四技能點拓展——1?:運算符(三元運算符)我們已經在前面的章節(jié)中講解了條件運算符?:,可以用來替代if...else語句。它的一般形式如下:Exp1?Exp2:Exp3;其中,Exp1、Exp2和Exp3是表達式。請注意,冒號的使用和位置。?表達式的值是由Exp1決定的。如果Exp1為“真”,則計算Exp2的值,結果即為整個?表達式的值。如果Exp1為“假”,則計算Exp3的值,結果即為整個?表達式的值。其執(zhí)行示意圖如圖2.3.13所示:圖2.3.13三元運算符執(zhí)行示意圖四技能點拓展——1?:運算符(三元運算符)以下實例通過輸入一個數(shù)字來判斷它是否為奇數(shù)或偶數(shù)四技能點拓展——1?:運算符(三元運算符)輸出結果為:四技能點拓展——2If語句和switch語句的區(qū)別if語句和switch語句可以從使用的效率上來進行區(qū)別,也可以從實用性角度區(qū)分。如果從使用效率上區(qū)分:在對同一個變量在不同值做條件判斷時,可以使用switch語句,也可以使用if語句,使用switch語句的效率更高一些尤其是判斷的分支越多越明顯。如果從語句的實用性的角度去區(qū)分,那switch語句肯定不如if條件語句。if條件語句是應用最廣泛和最實用的語句。在程序開發(fā)的過程中,具體如何使用if和switch語句哦,需要根據實際的情況來定,應盡量做到物盡其用,不要因為switch語句的效率高就一味的使用,也不要因為if語句常用就不應用switch語句,根據實際情況,具體問題具體分析,使用最適合的條件語句。一般情況下,對于判斷條件較少的,可以使用if條件語句,但是在實現(xiàn)一些多條件的判斷中,就應該使用switch語句。04技能點拓展03技能點詳解02技能點分析目錄CONTENTS01問題引入05技能點檢測任務2.3選擇結構的使用五技能點檢測1)以下if語句書寫正確的是(
)。A)if(x=0;)B)if(x>0)
printf(“%f”,x);{x=x+1;printf(“%f”,x);}
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版建筑安裝工程節(jié)能評估合同模板2篇
- 二零二五年機關單位勞動合同續(xù)簽與解約操作指南3篇
- 二零二五版海洋工程船舶維修保險合同3篇
- 二零二五年度教育培訓機構借款合同范本:助力教育產業(yè)發(fā)展3篇
- 二零二五年紅提葡萄品牌推廣與銷售代理合同3篇
- 二零二五版股權投資合作終止后的股權轉讓合同2篇
- 二零二五版保育員家庭服務與職業(yè)發(fā)展合同3篇
- 二零二五年度文化創(chuàng)意產業(yè)勞動保障監(jiān)察與管理規(guī)范合同3篇
- 二零二五版地下管廊鋼筋施工分包合同范本3篇
- 二零二五年海上貨物運輸保險合同與貨物索賠快速處理協(xié)議3篇
- 奶茶督導述職報告
- 山東萊陽核電項目一期工程水土保持方案
- 白熊效應(修訂版)
- 小學數(shù)學知識結構化教學
- 視頻監(jiān)控維保項目投標方案(技術標)
- 社會組織能力建設培訓
- 立項報告蓋章要求
- 2022年睪丸腫瘤診斷治療指南
- 被執(zhí)行人給法院執(zhí)行局寫申請范本
- 主變壓器試驗報告模板
- 安全防護通道施工方案
評論
0/150
提交評論