




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1第4章選擇結(jié)構(gòu)程序設(shè)計(jì)2第四章選擇結(jié)構(gòu)程序設(shè)計(jì)一、關(guān)系運(yùn)算符和關(guān)系表達(dá)式二、邏輯運(yùn)算符和邏輯表達(dá)式三、使用if語(yǔ)句實(shí)現(xiàn)的選擇結(jié)構(gòu)四、條件運(yùn)算符和條件表達(dá)式五、switch語(yǔ)句六、選擇結(jié)構(gòu)程序舉例主要內(nèi)容3關(guān)系運(yùn)算符<<=>>===!=(6種)第四章選擇結(jié)構(gòu)程序設(shè)計(jì)優(yōu)先級(jí)賦值<關(guān)系(后2<前4)<算術(shù)關(guān)系表達(dá)式用關(guān)系運(yùn)算符將兩個(gè)表達(dá)式連接起來(lái)的式子.算術(shù)、關(guān)系、邏輯、賦值、字符。值真(1)假(0)5>3一、關(guān)系運(yùn)算符和關(guān)系表達(dá)式4219舉例已知a=5,b=4,c=3,d=7求下列表達(dá)式的值a+b==c*da>b>ca!=b<ca+b==c*d0a>b>c10a!=b<c01算術(shù)運(yùn)算符的優(yōu)先級(jí)高于關(guān)系運(yùn)算符不能用于判斷b的值是否在a與c之間“<”運(yùn)算符的優(yōu)先級(jí)高于“!=”5邏輯運(yùn)算符!(邏輯非)&&(邏輯與)||(邏輯或)運(yùn)算規(guī)則優(yōu)先次序賦值<||<&&<關(guān)系<算術(shù)<!第四章選擇結(jié)構(gòu)程序設(shè)計(jì)(1)!:取邏輯值的相反值。(2)&&:參加運(yùn)算的兩個(gè)邏輯值都為真時(shí),結(jié)果為真(1)。(3)||:參加運(yùn)算的兩個(gè)邏輯值都為假時(shí),結(jié)果為假(0)。邏輯表達(dá)式用邏輯運(yùn)算符將關(guān)系表達(dá)式和邏輯量連接起來(lái)的式子。舉例已知:(a=1b=0)1a||b&&0!a&&(5>3)||b0雙目單目二、邏輯運(yùn)算符和邏輯表達(dá)式6第四章選擇結(jié)構(gòu)程序設(shè)計(jì)二、邏輯運(yùn)算符和邏輯表達(dá)式第五章選擇結(jié)構(gòu)程序設(shè)計(jì)舉例5>3&&8<4-!00(5>3)&&(8<(4-!0))4&&5>3||(a=6)1邏輯運(yùn)算符兩側(cè)的運(yùn)算對(duì)象不但可以是0和1,也可以是0或非0的整數(shù),也可是任何類型的數(shù)據(jù)。系統(tǒng)判定標(biāo)準(zhǔn):0為假;非0為真。當(dāng)“與運(yùn)算”的左側(cè)為0,或者“或運(yùn)算”的左側(cè)為1時(shí),右側(cè)的表達(dá)式不再進(jìn)行計(jì)算。短路現(xiàn)象#include<stdio.h>voidmain(){inta=1,b=1;if(a>1&&(b=5))a=4;printf(“%d,%d”,a,b);}1,17第四章選擇結(jié)構(gòu)程序設(shè)計(jì)三、使用if語(yǔ)句實(shí)現(xiàn)的選擇結(jié)構(gòu)88案例1y=0x≤01x>0不成立(假)x≤0成立(真)y=1輸入x輸出yy=0if(表達(dá)式){
語(yǔ)句組1}else{
語(yǔ)句組2}x
<=
0y=0;y=1;9案例2x=-xx<0xx≥0不成立(假、0)x<0x=-x成立(真、1)輸入x輸出xif(表達(dá)式){
語(yǔ)句組1}else{
語(yǔ)句組2}x
<
0x=-x;x=x;10案例3y=-1x<01x>00x=0不成立(假)x
<
0成立(真)輸入x輸出yy=-1x
=
0不成立(假)成立(真)y=0y=1if(表達(dá)式){
語(yǔ)句組1}else{
語(yǔ)句組2}x
<
0y=-1;if(x=0)y=0;elsey=1;if(x==0)y=0;elsey=1;11選擇結(jié)構(gòu)單分支雙分支if(表達(dá)式){語(yǔ)句組}多分支if(表達(dá)式){語(yǔ)句組1}
else{語(yǔ)句組2}if(表達(dá)式1){語(yǔ)句組1}elseif(表達(dá)式2){語(yǔ)句組2}……else{語(yǔ)句組n}if語(yǔ)句的嵌套switch語(yǔ)句第四章選擇結(jié)構(gòu)程序設(shè)計(jì)選擇結(jié)構(gòu)的分類12編程實(shí)現(xiàn)分段函數(shù)。練習(xí)輸入xx<=0是否y=0否0<x<10是y=1/xx==10是否y=2.0/3*x+1x>10是否y=sqrt(5*x-1)0<x&&x<10x<10y=sqrt(5*x-1)if(x<=0)y=0;else
if(x<10)y=1/x;else
if(x==10)y=2.0/3*x+1;else
y=sqrt(5*x-1);輸出yy=0x≤01/x0<x<10x>10x+1x=10
13#include<stdio.h>#include<math.h>intmain(){floatx,y;
scanf("%f",&x);
if(x<=0)y=0;
elseif(x<10)y=1/x;
elseif(x==10)y=2.0/3*x+1;
elsey=sqrt(5*x-1);printf("x=%.2f,y=%.2f\n",x,y);return0;}第一次運(yùn)行:5
x=5.00,y=0.2010
x=10.00,y=7.67第二次運(yùn)行:程序如下:y=0x≤01/x0<x<10x>10x+1x=10
14編程實(shí)現(xiàn)分段函數(shù)——換一種判斷順序舉例輸入xx<10是否y=1/x否x<=0是y=0x==10是否y=2.0/3*x+1y=sqrt(5*x-1)if(x<10)
if(x<=0)y=0;
elsey=1/x;else
if(x==10)y=2.0/3*x+1;
else
y=sqrt(5*x-1);輸出yif(x<10)if(x<=0)y=0;elsey=1/x;elseif(x==10)y=2.0/3*x+1;elsey=sqrt(5*x-1);y=0x≤01/x0<x<10x>10x+1x=10
15if語(yǔ)句的嵌套第四章選擇結(jié)構(gòu)程序設(shè)計(jì)if(表達(dá)式1)
if(表達(dá)式2)語(yǔ)句1
[else語(yǔ)句2][else
if(表達(dá)式3)語(yǔ)句3
[else語(yǔ)句4]]注意if與else的配對(duì)原則:從else入手,找它上面最近的未配對(duì)的if配對(duì)。if語(yǔ)句嵌套結(jié)構(gòu)16練習(xí)第四章選擇結(jié)構(gòu)程序設(shè)計(jì)已知a=3b=4c=5d=0,d=?if(a>b)
d=a;else
if(c>b)d=c;elsed=b;if(a>b)
if(c>b)d=c;elsed=b;if(a>b)
{if(c>b)d=c;}elsed=b;if(a>b)
if(c>b)d=c;elsed=b;elsed=a;d=5d=3d=0d=417使用if語(yǔ)句中應(yīng)注意的問(wèn)題在if關(guān)鍵字之后的括弧內(nèi)為表達(dá)式,該表達(dá)式通常是邏輯表達(dá)式或關(guān)系表達(dá)式,但也可以是其它任何合法的C表達(dá)式
條件判斷表達(dá)式必須用括弧括起來(lái),后面沒(méi)有分號(hào)。但在語(yǔ)句之后必須加分號(hào)。如果希望在滿足/不滿足條件時(shí)執(zhí)行一組(多個(gè))語(yǔ)句,則必須把這一組語(yǔ)句用{}括起來(lái)組成一個(gè)復(fù)合語(yǔ)句#include<stdio.h>intmain(){floata,b,c,p,s;scanf(“%f%f%f”,&a,&b,&c);if(a+b>c&&a+c>b&&b+c>a)
{
p=(a+b+c)/2;s=sqrt(p*(p-a)*(p-b)*(p-c));printf(“s=%7.2f\n”,s);
}elseprintf(“Notatriangle!\n”);return0;}18條件運(yùn)算符條件表達(dá)式舉例if(a>b)max=a;elsemax=b;第四章選擇結(jié)構(gòu)程序設(shè)計(jì)表達(dá)式1?表達(dá)式2:表達(dá)式3max=(a>b)?a:b;條件運(yùn)算符的使用條件若if語(yǔ)句中,在表達(dá)式為“真”和“假”時(shí),都只執(zhí)行一個(gè)賦值語(yǔ)句給同一個(gè)變量賦值,則可以用簡(jiǎn)單的條件運(yùn)算符來(lái)處理。取值表達(dá)式1為真,則取值為表達(dá)式2的值;表達(dá)式1為假,則取值為表達(dá)式3的值。四、條件運(yùn)算符和條件表達(dá)式右結(jié)合方向19使用條件表達(dá)式求兩個(gè)數(shù)的較大值。(自己看)#include"stdio.h"intmain(){floatnum1,num2,max=0;scanf("%f,%f",&num1,&num2);max=(num1>num2)?num1:num2;printf("%5.2f\n",max);return0;}例4.14第一次運(yùn)行:3.2,4
4.00第二次運(yùn)行:4,3.2
4.0020開(kāi)關(guān)語(yǔ)句第四章選擇結(jié)構(gòu)程序設(shè)計(jì)switch(表達(dá)式){case常量表達(dá)式1:語(yǔ)句組1case常量表達(dá)式2:語(yǔ)句組2case常量表達(dá)式3:語(yǔ)句組3……case常量表達(dá)式n:語(yǔ)句組n
default:語(yǔ)句組n+1}五、switch語(yǔ)句實(shí)現(xiàn)多分支break;執(zhí)行過(guò)程定位入口、依次執(zhí)行、遇break跳出只能是整型或字符型21例4.17#include<stdio.h>intmain(){chargrade;printf(“請(qǐng)輸入考試等級(jí)A~D:”);scanf(“%c”,&grade);switch(grade){case‘A’:printf(“80~100\n”);case‘B’:printf(“70~79\n”);case‘C’:printf(“60~69\n”);case‘D’:printf(“<60\n”);default:printf(“error\n”);}return0;}B
根據(jù)輸入的考試成績(jī)等級(jí)打印出百分制分?jǐn)?shù)段。A:80~100B:70~79C:60~69D:<60說(shuō)明:應(yīng)在每一個(gè)printf后加break語(yǔ)句第四章選擇結(jié)構(gòu)程序設(shè)計(jì)70~7960~69<60Error22#include<stdio.h>intmain(){chargrade;printf(“請(qǐng)輸入考試等級(jí)A~D:”);scanf(“%c”,&grade)switch(grade){case‘A’:printf(“80~100\n”);break;case‘B’:printf(“70~79\n”);break;case‘C’:printf(“60~69\n”);break;case‘D’:printf(“<60\n”);break;default:printf(“error\n”);}return0;}B
70~79最后一行的break可以省略。第四章選擇結(jié)構(gòu)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025企業(yè)管理資料范本短期合同工協(xié)議
- 2025年學(xué)校食堂食材采購(gòu)合同
- 綠色生態(tài)園面試題及答案
- 結(jié)腸息肉考試題目及答案
- 三基考試試題及答案護(hù)士
- 小學(xué)課程與教學(xué)論A試題及答案
- 巴士撞車測(cè)試題及答案解析
- 初級(jí)班蛙泳測(cè)試題及答案
- 股份合同協(xié)議書(shū)真實(shí)圖片
- 編導(dǎo)校招筆試題目及答案
- 《電力變壓器有載分接開(kāi)關(guān)機(jī)械特性的聲紋振動(dòng)分析法》
- 中國(guó)稅制-稅收與百姓生活智慧樹(shù)知到期末考試答案章節(jié)答案2024年云南師范大學(xué)
- 中醫(yī)培訓(xùn)課件:《李氏砭法(虎符銅砭刮痧)》
- 醫(yī)院安保工作實(shí)施方案
- 娃哈哈事件看公司治理-案例分析
- SN-T0273-2014出口商品運(yùn)輸包裝木箱檢驗(yàn)檢疫規(guī)程
- 電氣基礎(chǔ)知識(shí)考試題庫(kù)(測(cè)試題)
- 特種作業(yè)高處作業(yè)培訓(xùn)課件
- 校服投標(biāo)文件技術(shù)方案
- 《物流運(yùn)輸實(shí)務(wù)》課件
- 工程水文學(xué)-第7章習(xí)題-流域產(chǎn)匯流計(jì)算附答案
評(píng)論
0/150
提交評(píng)論