下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1第五講選擇結(jié)構(gòu)程序設(shè)計(jì)2一、關(guān)系運(yùn)算符和關(guān)系表達(dá)式二、邏輯運(yùn)算符和邏輯表達(dá)式三、實(shí)現(xiàn)選擇結(jié)構(gòu)的控制語句四、選擇結(jié)構(gòu)程序舉例主要內(nèi)容3一、關(guān)系運(yùn)算符和關(guān)系表達(dá)式關(guān)系運(yùn)算符<<=>>===!=(6種)優(yōu)先級(jí)賦值<關(guān)系(后2<前4)<算術(shù)關(guān)系表達(dá)式用關(guān)系運(yùn)算符將兩個(gè)表達(dá)式連接起來的式子.值真(1)假(0)舉例已知:(a=3b=2c=1d=0)0a==b>cd==a>b+c15>3?算術(shù)、關(guān)系、邏輯、賦值、字符。4二、邏輯運(yùn)算符和邏輯表達(dá)式邏輯運(yùn)算符!&&||運(yùn)算規(guī)則優(yōu)先次序賦值<
&&和||
<關(guān)系<算術(shù)<!(1)!:取邏輯值的相反值。(2)&&:參加運(yùn)算的兩個(gè)邏輯值都為真時(shí),結(jié)果為真(1)。(3)||:參加運(yùn)算的兩個(gè)邏輯值都為假時(shí),結(jié)果為假(0)。邏輯表達(dá)式用邏輯運(yùn)算符將關(guān)系表達(dá)式和邏輯量連接起來的式子。舉例已知:(a=1b=0)1a||b&&0!a&&(5>3)||b05舉例5>3&&8<4-!00二、邏輯運(yùn)算符和邏輯表達(dá)式(5>3)&&(8<(4-!0))4&&5>3||21注意邏輯運(yùn)算符兩側(cè)的運(yùn)算對(duì)象不但可以是0和1,也可以是0或非0的整數(shù),也可是任何類型的數(shù)據(jù)。系統(tǒng)判定標(biāo)準(zhǔn):0為假;非0為真。6三、實(shí)現(xiàn)選擇結(jié)構(gòu)的控制語句(一)、選擇結(jié)構(gòu)的三種分支(二)、單分支(三)、雙分支(四)、多分支7(一)、選擇結(jié)構(gòu)的三種分支選擇結(jié)構(gòu)單分支雙分支if(表達(dá)式)語句多分支if(表達(dá)式)語句1else語句2if(表達(dá)式1)語句1elseif(表達(dá)式2)語句2……else語句nif語句的嵌套switch語句8格式舉例if(x>y)printf(“%d”,x);if(表達(dá)式)語句(二)、單分支intmain(){floata,b,t=0;scanf(“%f,%f”,&a,&b);if(a>b){t=a;a=b;b=t;}printf(“%5.2f,%5.2f\n”,a,b);return0;}3,43.00,4.00……t=0;if(a>b)t=a;a=b;b=t;…………t=0;if(a>b)t=a;a=b;b=t;……3,44.00,0.00當(dāng)某些語句作為一個(gè)整體出現(xiàn)的時(shí)候,必須是復(fù)合語句的形式。9一般格式if(表達(dá)式)語句1;
如果表達(dá)式為真,執(zhí)行語句1;否則什么都不做.if(表達(dá)式) {
語句塊1;
}
如果表達(dá)式為真,做語句塊1的內(nèi)容;否則什么都不做;10格式舉例if(x>y)printf(“%d”,x);elseprintf(“%d”,y);(三)、雙分支voidmain(){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”);}if(表達(dá)式)語句1else語句2輸入三角形的三邊,求三角形的面積。輸入a,b,c是三角形嗎?YNp(a+b+c)/2ssqrt(p*(p-a)*(p-b)*(p-c))輸出s輸出“非三角形!”3,4,5s=6.003,4,8Notatriangle!11
下面我們畫出分支程序的NS流程圖,這種圖直觀清晰,一目了然。條件為真嗎?是否語句塊1語句塊212if(表達(dá)式)語句1;
else語句2; 如果表達(dá)式為真,執(zhí)行語句1;否則執(zhí)行語句2if(表達(dá)式)//如果表達(dá)式為真,執(zhí)行語句塊1 {
語句塊1;
} else//否則,執(zhí)行語句塊2 {
語句塊2;
}13條件運(yùn)算符條件表達(dá)式舉例if(a>b)max=a;elsemax=b;(三)、雙分支表達(dá)式1?表達(dá)式2:表達(dá)式3max=(a>b)?a:b;說明14格式舉例(四)、多分支(一)if(cost>3000)cash=500;elseif(cost>2000)cash=300;elseif(cost>1500)cash=200;elseif(cost>1000)cash=100;elsecash=0;if(表達(dá)式1)語句1elseif(表達(dá)式2)語句2……else語句n151617
if(x>0){y=1;}//如果x>0,將1賦給y else{//否則
if(x==0) //如果x==0,將0賦給y {y=0;} else {y=-1;} //否則(x<0),將-1賦給y}18舉例(四)、多分支(二)已知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=419開關(guān)語句舉例switch(表達(dá)式){……}(四)、多分支(三)……chargrade;scanf(“%c”,&grade)switch(grade){case‘A’:printf(“85~100\n”);break;case‘B’:printf(“70~84\n”);break;case‘C’:printf(“60~69\n”);break;case‘D’:printf(“<60\n”);break;default:printf(“error\n”);}……B70~84說明P20四、選擇結(jié)構(gòu)程序舉例例2求方程ax2+bx+c=0的解.(各種形式)真a=0真假輸出“非二次方程”b2-4ac=0真輸出兩個(gè)實(shí)根:x1,x2輸出兩個(gè)相等實(shí)根:假b2-4ac>0假計(jì)算復(fù)根的實(shí)部和虛部:實(shí)部虛部輸出兩個(gè)復(fù)根:p+qi,p-qi21#include<math.h>voidmain(){floata,b,c,disc,x1,x2,realpart,imagpart;scanf("%f,%f,%f",&a,&b,&c);printf("Theequation");if(fabs(a)<=1e-6)printf("isnotaquadratic");else
{disc=b*b-4*a*c;
if
(fabs(disc)<=1e-6)printf("hastwoequalroots:%8.4f\n",-b/(2*a));
else
if(disc>1e-6)
{x1=(-b+sqrt(disc))/(2*a);x2=(-b-sqrt(disc))/(2*a);printf("hasdistinctrealroots:%8.4fand%8.4f\n",x1,x2);}
else{realpart=-b/(2*a);imagpart=sqrt(-disc)/(2*a);printf("hascomplexroots:\n");printf("%8.4f+%8.4fi\n",realpart,imagpart);printf("%8.4f+%8.4fi\n",realpart,imagpart);
}
}}22題目:推斷誰做的好事
A、B、C、D每人說了一句話,當(dāng)四句話中有3句為真時(shí),我們要將該人判定為做好事者。
A說:不是我;B說:是C;C說:是D;D說:他胡說;23分析思路(解法不唯一):數(shù)字1表示A
數(shù)字2表示B
數(shù)字3表示C
數(shù)字4表示D
讓K表示要找的人,K從1到4,表示從A
找到D,這時(shí)
A說:不是我;可形式化為K!=1;B說:是C;可形式化為K==3;C說:是D;可形式化為K==4;D說:他胡說;可形式化為K!=4;24//***********************************//*程序名:3_6.cpp*//*作者:wuwh*//*編制時(shí)間:2001年8月*//*主要功能:誰做的好事*//**********************************************#include<stdio.h> //預(yù)編譯命令voidmain() //主函數(shù){ //主函數(shù)開始
intk=0,sum=0,g=0; //聲明變量為整數(shù)類型,且均初始化為0 for(k=1;k<=4;k=k+1) //循環(huán)從k為1到4,
{ sum=0; //循環(huán)體內(nèi)的初始化,用sum累計(jì)真話數(shù)
if(k!=1)sum=sum+1;//如A的話為真,則讓sum加1;
if(k==3)sum=sum+1;//如B的話為真,則讓sum加1;
if(k==4)sum=sum+1;//如C的話為真,則讓sum加1;
if(k!=4)sum=sum+1;//如D的話為真,則讓sum加1;
if(sum==3) //若有三句話為真,則做下列兩件事
{ printf("Thismanis%c",64+k); //輸出做好事者
g=1; //讓有解標(biāo)志置1 } } if(g!=1) //則輸出無解信息
{printf("Can’tfound!");}} //主函數(shù)結(jié)束25for(k=1;k<=4;k=k+1) { sum=0; if(k!=1)sum=sum+1;//如A的話為真,則讓sum加1;
if(k==3)sum=sum+1;//如B的話為真,則讓sum加1;
if(k==4)sum=sum+1;//如C的話為真,則讓sum加1;
if(k!=4)sum=sum+1;//如D的話為真,則讓sum加1;
...}26//***********************************//*程序名:3_7.cpp*//*作者:wuwh
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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 小學(xué)六年級(jí)數(shù)學(xué)上冊(cè)扇形統(tǒng)計(jì)圖健康類型分布課件
- 產(chǎn)品的市場管理培訓(xùn)課件
- 2025 小學(xué)六年級(jí)數(shù)學(xué)上冊(cè)分?jǐn)?shù)乘法風(fēng)力侵蝕中的數(shù)學(xué)課件
- 7.3 我國對(duì)外貿(mào)易新格局
- 造紙廠安全生產(chǎn)培訓(xùn)計(jì)劃課件
- 小心門縫夾手安全課件
- 課件小程序教學(xué)課件
- 課件小彩蛋教學(xué)課件
- 造價(jià)工程師培訓(xùn)課件
- 課件導(dǎo)出數(shù)據(jù)錯(cuò)誤問題
- 4S店續(xù)保專員工作總結(jié)
- 2026思南農(nóng)業(yè)發(fā)展集團(tuán)有限責(zé)任公司招聘參考考試題庫及答案解析
- 技術(shù)開發(fā)合同(芯片2025年設(shè)計(jì))
- 【初中 數(shù)學(xué)】整數(shù)指數(shù)冪課件 2025-2026學(xué)年人教版八年級(jí)數(shù)學(xué)上冊(cè)
- 2026年精神科護(hù)理工作計(jì)劃
- 2024-2025學(xué)年廣東省廣州市荔灣區(qū)七年級(jí)(上)期末英語試卷(含答案)
- 化療藥物安全操作規(guī)程
- 2026年中考數(shù)學(xué)專題復(fù)習(xí):一次函數(shù)綜合 大題壓軸練習(xí)題(含答案)
- 康復(fù)護(hù)理學(xué):功能訓(xùn)練與輔助器具使用
- 醫(yī)療質(zhì)量管理的風(fēng)險(xiǎn)預(yù)警系統(tǒng)構(gòu)建策略研究報(bào)告
- 2026共青團(tuán)中央所屬單位高校畢業(yè)生招聘66人考試筆試模擬試題及答案解析
評(píng)論
0/150
提交評(píng)論