版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、C+語句語句控制語句控制語句函數(shù)調(diào)用語句函數(shù)調(diào)用語句由一次函數(shù)調(diào)用加一個分由一次函數(shù)調(diào)用加一個分號構(gòu)成一個語句。號構(gòu)成一個語句。表達(dá)式語句表達(dá)式語句空語句空語句?1、出現(xiàn)在函數(shù)體的執(zhí)行、出現(xiàn)在函數(shù)體的執(zhí)行 部分。部分。2、作用是向計算機(jī)系統(tǒng)、作用是向計算機(jī)系統(tǒng) 發(fā)出發(fā)出操作操作指令。指令。復(fù)合語句復(fù)合語句if () else , switchfor () while () do while()continue,breakgotoreturnif (xy) z=x;else z=y;sin(x);由表達(dá)式加一個分號構(gòu)成一個語句。由表達(dá)式加一個分號構(gòu)成一個語句。;由由 將一些語句括起來。將一些語句
2、括起來。 t=a; a=b; b=t;?說明語句說明語句引入新的類型、對象等新名字的語句。引入新的類型、對象等新名字的語句。a=3;int a;【例】【例】 求兩數(shù)之和。求兩數(shù)之和。塊1塊2塊3流程圖流程圖 寄存器35顯示結(jié)果:顯示結(jié)果:3535 num115 num220 sum35num115;num220;sumnum1+num2;輸出輸出sum;【例】【例】 輸入三個數(shù),輸出其中的最大數(shù)。輸入三個數(shù),輸出其中的最大數(shù)。 x7;y12;z10;if(xy) maxx;else max y;if (zmax) maxz;輸出輸出max;x7y12z10CPUmax12比較比較比較比較顯示結(jié)
3、果:顯示結(jié)果:12流程圖流程圖條件塊1塊2真假流程圖流程圖條件塊真假【例】求【例】求4 4個整數(shù)的和。個整數(shù)的和。 0sum4count12x顯示結(jié)果:顯示結(jié)果:59123142621642118600count4; /整數(shù)個數(shù)整數(shù)個數(shù)sum0; /累加和的初值累加和的初值while (count0) x輸入一個整數(shù)輸入一個整數(shù); sumsum+x; countcount-1;輸出輸出sum;選擇結(jié)構(gòu)選擇結(jié)構(gòu)單分支單分支雙分支雙分支if (表達(dá)式表達(dá)式) 語句語句多分支多分支if (表達(dá)式表達(dá)式) 語句語句else 語句語句if (表達(dá)式表達(dá)式1) 語句語句else if (表達(dá)式表達(dá)式) 語
4、句語句else 語句語句nif 語句的嵌套語句的嵌套switch語句語句表達(dá)式表達(dá)式內(nèi)嵌語句內(nèi)嵌語句TF表達(dá)式表達(dá)式語句語句1TF語句語句2表達(dá)式表達(dá)式1語句語句1TF語句語句2if(if(表達(dá)式表達(dá)式1)1) if( if(表達(dá)式表達(dá)式2)2) 語句語句1; 1; else else 語句語句2;2;else else if( if(表達(dá)式表達(dá)式3)3) 語句語句3; 3; else else 語句語句4;4; 內(nèi)嵌內(nèi)嵌ifif內(nèi)嵌內(nèi)嵌ifif表達(dá)式表達(dá)式2表達(dá)式表達(dá)式3TT語句語句3語句語句4FFB) b=1;B) b=1; if (a=0)if (a=0) if(a= =0) if(a=
5、 =0) b=0 b=0; else b=-1;else b=-1;例例A) b=1;A) b=1; if (a=0) if (a=0) if(a= =0) if(a= =0) b=0 b=0; else b=-1;else b=-1;=010001aaab-=010001aaab舉例舉例已知已知a=3 b=4 c=5 d=0, d=?if (ab)d=a;else if (cb) d=c; else d=b;if (ab)if (cb) d=c;else d=b ;if (ab)if (cb) d=c;else d=b ;if (ab) if (cb) d=c; else d=b;else
6、d=a;d=5d=3d=0d=4using namespace std;#include #include int main() float a,b,c,p,s; cinabc; if (a+bc & a+cb & b+ca) p=(a+b+c)/2; s=sqrt(p*(p-a)*(p-b)*(p-c); coutarea=s; else cout=90) cout=80) cout=70) cout=60) coutD else coutE;常量表達(dá)式常量表達(dá)式1語句語句1switch(表達(dá)式)(表達(dá)式)常量表達(dá)式常量表達(dá)式2語句語句2常量表達(dá)式常量表達(dá)式n語句語句n語句語
7、句n+1TTTFFFFTswitch(fn/10) case 10: case 9: coutA; break; case 8: coutB; break; case 7: coutC; break; case 6: coutD; break; default: coutE; break;根據(jù)運輸里程根據(jù)運輸里程s計算計算折扣折扣d分析:分析: 如果用如果用switch語句,語句,必須使表達(dá)式符合語必須使表達(dá)式符合語法要求,分析發(fā)現(xiàn),法要求,分析發(fā)現(xiàn),里程里程s的的分段點均是分段點均是250的倍數(shù)的倍數(shù),因此,因此,將里程將里程s除以除以250,取,取整數(shù)商,便得到若干整數(shù)商,便得到若干整數(shù)值
8、。整數(shù)值。運輸公司對用戶計算運費。路程(s)越遠(yuǎn),每公里運費越低。標(biāo)準(zhǔn)如下: 沒有折扣 2%折扣 5%折扣 8%折扣 10%折扣 15%折扣設(shè)每公里每噸貨物的基本運費為p,貨物重為w,距離為s,折扣為d,則總運費的計算公式為 F=p*w*s*(1-d)設(shè)計程序,當(dāng)輸入p、w和s后,計算運費f。ssssss300030002000200010001000500500250250using namespace std;#include int main() int c,s; float p,w,d,f; cinpws; if (s=3000) c=12; else c=s/250; switch(
9、c) case 0:d=0;break; case 1:d=2;break; case 2: case 3:d=5;break; case 4: case 5: case 6: case 7:d=8;break; case 8: case 9: case 10: case 11:d=10;break; case 12:d=15;break; f=p*w*s*(1-d/100); coutfreight=f; return 0;開始開始sum清清0,i=1i= 100?i加到加到sum中中i=i+1輸出輸出sum結(jié)束結(jié)束FT表達(dá)式表達(dá)式循環(huán)體語句循環(huán)體語句TFint sum=0; int i=1
10、;while(i=100) sum+=i; i+; 表達(dá)式表達(dá)式循環(huán)體語句循環(huán)體語句FTint sum=0; int i=1;do sum+=i; i+; while(i=100);表達(dá)式表達(dá)式1; while (表達(dá)式表達(dá)式2) 語句語句;表達(dá)式表達(dá)式3; 表達(dá)式表達(dá)式2語句語句TF表達(dá)式表達(dá)式1表達(dá)式表達(dá)式3for (表達(dá)式表達(dá)式1;表達(dá)式;表達(dá)式2;表達(dá)式;表達(dá)式3) 語句語句 說明說明三個表達(dá)式都可三個表達(dá)式都可以省略。以省略。表達(dá)式表達(dá)式2循環(huán)體語句循環(huán)體語句假假 真真表達(dá)式表達(dá)式3表達(dá)式表達(dá)式1省略省略循環(huán)體語句循環(huán)體語句求解表達(dá)式求解表達(dá)式1表達(dá)式表達(dá)式3表達(dá)式表達(dá)式2省略省略表
11、達(dá)式表達(dá)式2循環(huán)體語句循環(huán)體語句假假 真真求解表達(dá)式求解表達(dá)式1表達(dá)式表達(dá)式3省略省略1i=1;for(; i=10;i+) sum=sum+i; 2for (i=1; ;i+) sum=sum+i; ?3for (i=1;i=10 ;) sum=sum+i; i+; for(i=1; i=10;i+) sum=sum+i; 表達(dá)式表達(dá)式1可以省略,可以省略,但其后的分號不但其后的分號不可以省略??梢允÷?。沒有循環(huán)結(jié)沒有循環(huán)結(jié)束條件,構(gòu)束條件,構(gòu)成了死循環(huán)成了死循環(huán)for(i=1; i=10;i+) sum=sum+i; 45for( ; ; ) sum=sum+i; 6表達(dá)式表達(dá)式1和表達(dá)式
12、和表達(dá)式3可以是可以是與循環(huán)變量無關(guān)的表達(dá)式。與循環(huán)變量無關(guān)的表達(dá)式。for( ;i=10 ; ) sum=sum+i; i+; 7表達(dá)式表達(dá)式2一般是關(guān)系表達(dá)式,也一般是關(guān)系表達(dá)式,也可以是數(shù)值或字符表達(dá)式??梢允菙?shù)值或字符表達(dá)式。while(i=10) sum=sum+i; i+ ; while (1) sum=sum+i; 表達(dá)式表達(dá)式1和表達(dá)式和表達(dá)式3可以同時省略,此可以同時省略,此時等同于時等同于while語句。語句。for(sum=0,i=1;i=100,i+) sum=sum+i; 例例建議:建議:for語句中只放與語句中只放與循環(huán)控制有關(guān)的語句。循環(huán)控制有關(guān)的語句。計算計算n
13、!123 (n-1) nusing namespace std;#include int main() int s=1, i=1; int n; cinn; while(i=n) s*=i; i+; couts; return 0; 開始開始s清清1,i=1ii輸出輸出s結(jié)束結(jié)束TFusing namespace std;#include #include int main() int i,j; for( i=1;i=9;i+) for(j=1; j=i; j+) cout j*i=setw(2)j*i; coutendl; return 0;for (int i=1,int sum=0 ;i
14、1000;i+) if( i %3 = =0 ) break; sum+=i; 1+2for (int i=1,int sum=0 ;i1000;i+) if( i %3) continue; / i%3!=0 sum+=i; 3+6+9+999例例1利用公式:利用公式:/4=1-1/3+1/5-1/7+求求 的近似值,直到某一項的絕對值小于的近似值,直到某一項的絕對值小于10-6為止。為止。using namespace std;#include #include int main() int s; double n,t,pi; t=1;pi=0;n=1.0;s=1; while(fabs(
15、t)1e-6) pi=pi+t; n=n+2; s=-s; t=s/n; pi=pi*4; coutpi=“pi; 思考:使思考:使用那一種用那一種循環(huán)控制循環(huán)控制語句?語句?程序舉例程序舉例pi=1-1/3+輸出輸出4* pis=1(-1)n=1,3,5,7t=s/n例例2求求Fibonacci數(shù)列的前數(shù)列的前40個數(shù)。個數(shù)。using namespace std;#include #include int main() long int f1,f2; int i; f1=1;f2=1; for(i=1;i=20;i+) coutsetw(10)f1setw(10)f2; if(i%2=0)
16、 cout=3) 1 1 2 3 5 8 13 21 34 55 89 144 程序舉例程序舉例例例3判斷判斷m是否為素數(shù)。是否為素數(shù)。素數(shù)(質(zhì)數(shù))素數(shù)(質(zhì)數(shù)): 只能被只能被1和它本身整除的數(shù)。和它本身整除的數(shù)。判別方法:判別方法:57:若:若256之間的每一個數(shù)都除不開之間的每一個數(shù)都除不開56,則,則56為素數(shù),否則為素數(shù),否則56不不是素數(shù)。是素數(shù)。m, k=m-1,i=2k :若每一個若每一個 i 的值都除不開的值都除不開m,則則m為素數(shù),否則為素數(shù),否則m不是素數(shù)。不是素數(shù)。flag=1;k=m-1;for (i=2;i=k;i+) if (m%i=0) flag=0;if (fl
17、ag=1) cout“yes!”;else cout“no!”;k=m-1;for (i=2;i=k+1) cout“yes!”;else cout“no!”;k=m-1;k=m/2;(m+1)/2;k=sqrt(m);sqrt(m+1)程序舉例程序舉例例例3輸出輸出 101200之間的全部素數(shù)。之間的全部素數(shù)。for m=101 to 200判斷判斷m是否為素數(shù)是否為素數(shù)若若m是素數(shù),則輸是素數(shù),則輸出并統(tǒng)計個數(shù)出并統(tǒng)計個數(shù)n.每輸出每輸出10個個素數(shù),素數(shù),換行換行using namespace std;#include #include #include int main() int m,k,i,n=0; for(m=101;m=200;m=m+2) k=sqrt(m); for(i=2;i=k+1) coutsetw(5)m; n=n+1; if(n%5=0) coutn; coutn; return 0;程序
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 30137-2024電能質(zhì)量電壓暫升、電壓暫降與短時中斷
- 2024版泥水作業(yè)班組承包協(xié)議書
- 二零二五年度股權(quán)收益權(quán)轉(zhuǎn)讓合同范本與收益分配3篇
- 二零二五年航空航天零部件制造合同協(xié)議模板2025版3篇
- 二零二五年金融產(chǎn)品居間服務(wù)協(xié)議范本3篇
- 二零二五年度智能化設(shè)備技術(shù)入股合作協(xié)議范本3篇
- GRC材質(zhì)2024裝飾構(gòu)件定制合作協(xié)議版B版
- 二零二五版汽車租賃轉(zhuǎn)讓與保險責(zé)任合同2篇
- 2024混凝土施工勞務(wù)分包合同
- 2024年跨區(qū)域生態(tài)環(huán)境保護(hù)合作協(xié)議
- HG-T+21527-2014回轉(zhuǎn)拱蓋快開人孔
- JTS-167-2-2009重力式碼頭設(shè)計與施工規(guī)范
- DBJ-T15-81-2022 建筑混凝土結(jié)構(gòu)耐火設(shè)計技術(shù)規(guī)程
- GB/T 22849-2024針織T恤衫
- 山東省淄博市2023-2024學(xué)年高二上學(xué)期教學(xué)質(zhì)量檢測化學(xué)試題
- 人工智能在電影與影視制作中的創(chuàng)新與效果提升
- 新生兒腸絞痛的課件
- 酒店民宿自媒體營銷策劃
- 消除母嬰傳播培訓(xùn)課件
- 包裝過程質(zhì)量控制
- 通用電子嘉賓禮薄
評論
0/150
提交評論