第4章-選擇結(jié)構(gòu)_第1頁(yè)
第4章-選擇結(jié)構(gòu)_第2頁(yè)
第4章-選擇結(jié)構(gòu)_第3頁(yè)
第4章-選擇結(jié)構(gòu)_第4頁(yè)
第4章-選擇結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論