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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第4章選擇結(jié)構(gòu)的程序設(shè)計(jì)4.1If語句4.1.1if語句的3種形式1.if(表達(dá)式)語句(例4.1)例如:if(x>y)cout<<x<<endl;2.if(表達(dá)式)語句1else語句2例4.2例如:if(x>y)cout<<x;elsecout<<y;3.if(表達(dá)式1)語句1elseif(表達(dá)式2)語句2elseif(表達(dá)式3)語句3…elseif(表達(dá)式m)語句melse語句n例4.3if(number>500)cost=0.15;elseif(number>300)cost=0.10;elseif(number>100)cost=0.075;elseif(number>50)cost=0.05;elsecost=0;1說明:1. 3種形式的if語句都是由一個(gè)入口進(jìn)來,經(jīng)過對(duì)“表達(dá)式”的判斷,分別執(zhí)行相應(yīng)的語句,最后歸到一個(gè)共同的出口。2. 3種形式的if語句中在if后面都有一個(gè)用括號(hào)括起來的表達(dá)式,它是程序編寫者要求程序判斷的“條件”,一般是邏輯表達(dá)式或關(guān)系表達(dá)式。3. 第2、第3種形式的if語句中,在每個(gè)else前面有一分號(hào),整個(gè)語句結(jié)束處有一分號(hào)。4. 在if和else后面可以只含一個(gè)內(nèi)嵌的操作語句,也可以有多個(gè)操作語句,此時(shí)用花括號(hào)“{}”將幾個(gè)語句括起來成為一個(gè)復(fù)合語句2例

求三角形的面積。#include<iostream>#include<cmath>//使用數(shù)學(xué)函數(shù)時(shí)要包含頭文cmath#include<iomanip>//使用I/O流控制符要包含頭文iomanipusingnamespacestd;intmain(){ doublea,b,c;

cout<<″pleaseentera,b,c:″;

cin>>a>>b>>c;

3

if(a+b>c&&b+c>a&&c+a>b) { doubles,area;//在復(fù)合語句內(nèi)定義變量

s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c));

cout<<setiosflags(ios∷fixed)<<setprecision(4);

cout<<″area=″<<area<<endl; }//復(fù)合語句結(jié)束

elsecout<<″itisnotatrilateral!″<<endl; return0;}運(yùn)行情況如下:pleaseentera,b,c:2.453.674.89↙area=4.35654P61例4.3Cost=price*weight*distance*percentage;#include<iostream>usingnamespacestd;intmain(){floatcost,price,weight,distance,percentage;cout<<"enterpriceweightdistance:";cin>>price>>weight>>distance;if(distance<=300){

if(weight<2)percentage=0.98;

if(weight>=2&&weight<4)percentage=0.96;

if(weight>=4&&weight<6)percentage=0.94;

if(weight>=6)percentage=0.92;}else{

if(weight<2)percentage=1.0;

if(weight>=2&&weight<4)percentage=0.98;

if(weight>=4&&weight<6)percentage=0.96;

if(weight>=6)percentage=0.94;

}cost=price*weight*distance*percentage;

cout<<"cost="<<cost<<endl;return0;}5在if語句中又包含一個(gè)或多個(gè)if語句稱為if語句的嵌套。一般形式如下:if() if()語句1 else語句2 else if()語句3 else語句4

應(yīng)當(dāng)注意if與else的配對(duì)關(guān)系。else總是與它上面最近的、且未配對(duì)的if配對(duì)。4.1.4if語句的嵌套64.3switch語句switch語句是多分支選擇語句,用來實(shí)現(xiàn)多分支選擇結(jié)構(gòu)。它的一般形式如下:

switch(表達(dá)式){case常量表達(dá)式1:語句1case常量表達(dá)式2:語句2...case常量表達(dá)式n:語句ndefault:語句n+1

}7switch(grade){case′A′:cout<<″85~100\n″;break;

case′B′:cout<<″70~84\n″;break;

case′C′:cout<<″60~69\n″;break;

case′D′:cout<<″<60\n″;break;

default:cout<<″e(cuò)rror\n″;break;}例:8說明:switch后面括號(hào)內(nèi)的“表達(dá)式”,允許為任何類型當(dāng)switch表達(dá)式的值與某個(gè)case子句中的常量表達(dá)式的值匹配時(shí),就執(zhí)行此case子句中的內(nèi)嵌語句每一個(gè)case表達(dá)式的值必須互不相同各個(gè)case和default的出現(xiàn)次序不影響執(zhí)行結(jié)果“case常量表達(dá)式”只是起語句標(biāo)號(hào)作用,并不是在該處進(jìn)行條件判斷多個(gè)case可以共用一組執(zhí)行語句9編寫選擇結(jié)構(gòu)的程序要求:編寫程序,判斷某一年是否為閏年閏年的條件(兩者之一):(1)能被4整除,但不能被100整除;(2)能被100整除,又能被400整除。邏輯表達(dá)式表示為:

(year%4==0&&year%100!=0)||(year%400==0)

例:10編寫選擇結(jié)構(gòu)的程序程序?qū)崿F(xiàn):#include<iostream>usingnamespacestd;intmain(){intyear;

boolleap;

cout<<″pleaseenteryear:″;

cin>>year;if((year%4==0&&year%100!=0)||(year%400==0))

leap=true;elseleap=false;

if(leap)

cout<<year<<″is″;else

cout<<year<<″isnot″;

溫馨提示

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

評(píng)論

0/150

提交評(píng)論