![精品課程計算機程序設(shè)計VC++課件(鐵道版)第二章 流程控制語句_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/27/1108b3fe-aa7e-446e-b44a-c724ccf6f441/1108b3fe-aa7e-446e-b44a-c724ccf6f4411.gif)
![精品課程計算機程序設(shè)計VC++課件(鐵道版)第二章 流程控制語句_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/27/1108b3fe-aa7e-446e-b44a-c724ccf6f441/1108b3fe-aa7e-446e-b44a-c724ccf6f4412.gif)
![精品課程計算機程序設(shè)計VC++課件(鐵道版)第二章 流程控制語句_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/27/1108b3fe-aa7e-446e-b44a-c724ccf6f441/1108b3fe-aa7e-446e-b44a-c724ccf6f4413.gif)
![精品課程計算機程序設(shè)計VC++課件(鐵道版)第二章 流程控制語句_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/27/1108b3fe-aa7e-446e-b44a-c724ccf6f441/1108b3fe-aa7e-446e-b44a-c724ccf6f4414.gif)
![精品課程計算機程序設(shè)計VC++課件(鐵道版)第二章 流程控制語句_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/27/1108b3fe-aa7e-446e-b44a-c724ccf6f441/1108b3fe-aa7e-446e-b44a-c724ccf6f4415.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、Visual C+Visual C+程序設(shè)計程序設(shè)計流程控制語句流程控制語句Visual C+Visual C+程序設(shè)計程序設(shè)計2.1 操作運算語句操作運算語句2.2 流程控制語句流程控制語句VC+程序的語句按其功能可以劃分為兩類:程序的語句按其功能可以劃分為兩類:操操作運算語句作運算語句與與流程控制語句流程控制語句。常見的操作運算語句有以下幾種:說明語句、表常見的操作運算語句有以下幾種:說明語句、表達(dá)式語句、空語句、塊(復(fù)合)語句等達(dá)式語句、空語句、塊(復(fù)合)語句等。1、說明語句、說明語句說明語句用來說明或定義變量、函數(shù)、類型等,說明語句用來說明或定義變量、函數(shù)、類型等,變量說明語句的基本格
2、式為:變量說明語句的基本格式為:類型類型 變量名;變量名;如:如:int a,b,c; /說明語句說明語句2、表達(dá)式語句、表達(dá)式語句任何一個表達(dá)式后面加上一個分號(語句結(jié)束符任何一個表達(dá)式后面加上一個分號(語句結(jié)束符“ ;”)就構(gòu)成了表達(dá)式語句,如賦值語句由賦值表達(dá)式加分號就構(gòu)成了表達(dá)式語句,如賦值語句由賦值表達(dá)式加分號“;”構(gòu)成,其語法格式為:構(gòu)成,其語法格式為:變量變量 = 表達(dá)式表達(dá)式;例如:例如:a=1; b=c=a+2; /賦值語句賦值語句則則 a的值為的值為1; b的值為的值為3; c的值為的值為3注意:注意:(1) “=”為賦值運算符,其左邊只能是一個變量。為賦值運算符,其左邊只
3、能是一個變量。(2) 可以多重賦值,將一個表達(dá)式的值同時賦給多個變量??梢远嘀刭x值,將一個表達(dá)式的值同時賦給多個變量。如:如: 變量變量1 = 變量變量2 = = 變量變量n = 表達(dá)式表達(dá)式;等價于:變量等價于:變量1 = 表達(dá)式表達(dá)式;變量變量2 = 表達(dá)式表達(dá)式;變量變量n = 表達(dá)式表達(dá)式; 3、空語句、空語句 空語句是指只有一個分號而沒有表達(dá)式的語句。語法格空語句是指只有一個分號而沒有表達(dá)式的語句。語法格式為:式為: ;空語句不做任何運算,只是一種形式上的語句。空語句不做任何運算,只是一種形式上的語句。4、塊語句(復(fù)合語句)、塊語句(復(fù)合語句) 塊語句是用一對花括號塊語句是用一對花括
4、號 括起來的多個語句,在邏輯上括起來的多個語句,在邏輯上它相當(dāng)于一個語句。語法格式為:它相當(dāng)于一個語句。語法格式為:語句語句1; 語句語句2; 語句語句n;例如:例如: t=a; a=b; b=t; 注意:塊語句右花括號注意:塊語句右花括號“”之后沒有分號。之后沒有分號。Visual C+Visual C+程序設(shè)計程序設(shè)計2.2.1 順序結(jié)構(gòu)順序結(jié)構(gòu)2.2.2 選擇結(jié)構(gòu)選擇結(jié)構(gòu)2.2.3 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)2.2.4 循環(huán)嵌套循環(huán)嵌套2.2.5 break語句和語句和continue語句語句2.2.6 abort( )函數(shù)和函數(shù)和exit( )函數(shù)函數(shù)順序結(jié)構(gòu)順序結(jié)構(gòu)按按照語句在程序中的照語句在
5、程序中的先先后次序后次序一條一條的從上到下一條一條的從上到下依次執(zhí)依次執(zhí)行行。順序結(jié)構(gòu)是。順序結(jié)構(gòu)是C+中最基本的程中最基本的程序結(jié)構(gòu)。圖序結(jié)構(gòu)。圖2-1表示了一個順序結(jié)構(gòu)表示了一個順序結(jié)構(gòu)形式。形式。bABa圖圖2-1 順序結(jié)構(gòu)流程圖順序結(jié)構(gòu)流程圖 C+程序基本的控制結(jié)構(gòu)有三種:程序基本的控制結(jié)構(gòu)有三種:順序結(jié)構(gòu)順序結(jié)構(gòu)、選選擇結(jié)構(gòu)擇結(jié)構(gòu)和和循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)。 從圖中可以看出它有一個入口從圖中可以看出它有一個入口a點,一個出口點,一個出口 b點,在結(jié)構(gòu)內(nèi)點,在結(jié)構(gòu)內(nèi)A框框和和B框都是順序執(zhí)行的處理框??蚨际琼樞驁?zhí)行的處理框。例例2-1 從鍵盤輸入一個三位正整數(shù),求出各位數(shù)字,并從鍵盤輸入一個
6、三位正整數(shù),求出各位數(shù)字,并將其逆序逐個輸出。將其逆序逐個輸出。算法:利用整除與求模運算,將三位數(shù)中的個、十、百算法:利用整除與求模運算,將三位數(shù)中的個、十、百位數(shù)字分離。位數(shù)字分離。 編程實現(xiàn):編程實現(xiàn):#includevoid main( )int n,i,j,k;cinn; i=n/100; /求百位數(shù)求百位數(shù) j=n/10%10; /求十位數(shù)求十位數(shù) k=n%10; /求個位數(shù)求個位數(shù) cout 逆序數(shù)碼為逆序數(shù)碼為:ktjtiendl; 調(diào)試與運行:調(diào)試與運行: 輸入:輸入:123 輸出:逆序數(shù)碼為輸出:逆序數(shù)碼為: 3 2 1學(xué)習(xí)與實踐:學(xué)習(xí)與實踐:若輸入的數(shù)值是三位小數(shù),若輸入的
7、數(shù)值是三位小數(shù),怎樣分離出各個數(shù)碼?怎樣分離出各個數(shù)碼?選擇結(jié)構(gòu),它通過對給定的選擇結(jié)構(gòu),它通過對給定的條件條件進行判斷,從進行判斷,從而決定而決定執(zhí)行執(zhí)行兩個或多個兩個或多個分支分支中的哪一支。因此,在中的哪一支。因此,在編寫選擇語句之前,應(yīng)該首先明確判斷條件是什么,編寫選擇語句之前,應(yīng)該首先明確判斷條件是什么,并確定當(dāng)判斷結(jié)果為并確定當(dāng)判斷結(jié)果為“真真”或或“假假”時應(yīng)分別執(zhí)行時應(yīng)分別執(zhí)行什么樣的操作(算法)。什么樣的操作(算法)。VC+程序中提供的選擇語句有三類程序中提供的選擇語句有三類:(1)if 語句語句(2)ifelse 語句語句(3)switch 語句語句1、 if語句語句基本格
8、式為:基本格式為: if(表達(dá)式)(表達(dá)式) 語句語句; “表達(dá)式表達(dá)式”值有兩種情況:值有兩種情況:0與與非非0,非非0表示真,表示真,0表示假。表示假。 if表達(dá)式后的語句稱為表達(dá)式后的語句稱為內(nèi)嵌語句內(nèi)嵌語句,語法,語法上只能是單一語句,可以是塊語句和空上只能是單一語句,可以是塊語句和空語句。語句。執(zhí)行執(zhí)行if語句時,首先計算表達(dá)式的值,語句時,首先計算表達(dá)式的值,若其為若其為真真(非非0),則執(zhí)行內(nèi)嵌語句;若),則執(zhí)行內(nèi)嵌語句;若為為假假(0),則跳過內(nèi)嵌語句,執(zhí)行后繼),則跳過內(nèi)嵌語句,執(zhí)行后繼語句。語句。內(nèi)嵌語句內(nèi)嵌語句 條件條件abYN圖圖2-2 if語句流程圖語句流程圖圖圖2-
9、2中,菱形框表示條件判斷,中,菱形框表示條件判斷,矩形框表示處理語句,帶箭頭的連線表示執(zhí)行走向。矩形框表示處理語句,帶箭頭的連線表示執(zhí)行走向。例例2-2 從鍵盤輸入一個整數(shù),若大于從鍵盤輸入一個整數(shù),若大于0,輸出,輸出1;若小于;若小于等于等于0,則輸出,則輸出-1。編程實現(xiàn):編程實現(xiàn):#include void main()int a;couta;if(a 0 ) /A行行 cout1endl; if(a = 0) /B行行 cout-10); 輸入的數(shù)據(jù)輸入的數(shù)據(jù)-5,輸出結(jié)果如,輸出結(jié)果如何?何?(2)若再將)若再將B行刪除,分別行刪除,分別輸入的輸入的3與與-5 ,輸出結(jié)果如,輸出結(jié)
10、果如何?何?(3)怎樣實現(xiàn):輸入正數(shù)、)怎樣實現(xiàn):輸入正數(shù)、零、負(fù)數(shù),分別輸出零、負(fù)數(shù),分別輸出1、0、-1?執(zhí)行過程:執(zhí)行過程:首先計算首先計算“表達(dá)式表達(dá)式”值;值;如果其值為真,則執(zhí)行語句如果其值為真,則執(zhí)行語句1;如果其值為假,則執(zhí)行語句如果其值為假,則執(zhí)行語句2。條件條件語句語句1語句語句2abYN圖圖2-3 if-else 語句流程圖語句流程圖2、ifelse語句語句基本格式為:基本格式為:if(表達(dá)式)語句表達(dá)式)語句1;else 語句語句2;圖圖2-3中,條件為真時執(zhí)行語句中,條件為真時執(zhí)行語句1,否則執(zhí)行語句,否則執(zhí)行語句2。語句。語句1與語句與語句2中,一定執(zhí)行且只執(zhí)行其中
11、的一條語句。中,一定執(zhí)行且只執(zhí)行其中的一條語句。例例2-3 求方程求方程ax2+bx+c=0的解。其中系數(shù)的解。其中系數(shù)a,b,c由鍵盤輸入。由鍵盤輸入。#include #include void main(void)float a,b,c,delta;cinabc;delta=b*b-4*a*c; if(delta0) cout方程沒有實根!方程沒有實根!n; else delta=sqrt(delta); if(delta) / if(delta!=0) cout“方程有兩個不同的實根方程有兩個不同的實根 ”; cout“x1=”(-b+delta)/2/at; cout“x2=”(-b
12、-delta)/2/an; else cout“方程有兩個相同的實根方程有兩個相同的實根 ”; coutx1=x2=-b/2/an; 程序解讀:程序解讀:(1)程序代碼中用)程序代碼中用到求平方根函數(shù)到求平方根函數(shù)sqrt(),必須包含其頭必須包含其頭文件文件。(2)作為條件判斷)作為條件判斷的的“表達(dá)式表達(dá)式”可以是可以是變量變量、常量常量、關(guān)系表關(guān)系表達(dá)式達(dá)式、邏輯表達(dá)式邏輯表達(dá)式、賦值表達(dá)式賦值表達(dá)式等。等。(3)作為內(nèi)嵌語句)作為內(nèi)嵌語句1或語句或語句2,同樣可以,同樣可以是是單句單句、空語句空語句、塊塊語句語句和和條件語句條件語句等。等。3、if語句的嵌套語句的嵌套 if語句或語句或
13、ifelse語句中的語句中的內(nèi)嵌語句內(nèi)嵌語句又可以又可以是是if語句語句或或ifelse語句語句,這樣就形成了,這樣就形成了if語句的嵌套。語句的嵌套。當(dāng)多個當(dāng)多個if語句嵌套時,語句嵌套時,為了防止出現(xiàn)二義性,為了防止出現(xiàn)二義性,VC+語言規(guī)定:語言規(guī)定:同一個同一個塊中塊中,else總是與其前總是與其前面的最靠近它的未經(jīng)配面的最靠近它的未經(jīng)配對的對的if配對配對。如下列程。如下列程序段:序段:int a=3,b=4,c=5,x=0;if(ac)if(bc)”,則,則x的值為多的值為多少?少?例例2-4 判斷輸入字符的種類:數(shù)字、大寫字母、小寫字母、判斷輸入字符的種類:數(shù)字、大寫字母、小寫字
14、母、控制字符(其控制字符(其ASCII碼值小于碼值小于32)和其他字符。)和其他字符。(1)程序流程)程序流程真真假假真真真真真真假假假假假假 3209AZaz 控制字符控制字符數(shù)字?jǐn)?shù)字大寫字母大寫字母小寫字母小寫字母其他其他圖圖2-4 if語句的嵌套語句的嵌套出口出口入口入口(2)編程實現(xiàn):)編程實現(xiàn):# include void main(void)char c;cin.get(c);if(ch32) cout=0&ch=9) cout=A&ch=Z) cout=a&ch=z) cout這是一個小寫字符。這是一個小寫字符。n; else coutb?a:b ;它等同
15、于:它等同于:if(ab)max=a;else max=b;條件運算符也可以嵌套。例如,求出三個數(shù)中的最大值,條件運算符也可以嵌套。例如,求出三個數(shù)中的最大值,可以表示為:可以表示為: max= ab?ac?a:c:bc?b:c ;它等同于什么樣的它等同于什么樣的ifelse語句?語句?5、switch語句語句switch語句是多分支的選擇語句,也稱開關(guān)語句,其格語句是多分支的選擇語句,也稱開關(guān)語句,其格式為:式為:switch(表達(dá)式)(表達(dá)式) case 常量表達(dá)式常量表達(dá)式1:語句序列:語句序列1; case 常量表達(dá)式常量表達(dá)式2:語句序列:語句序列2; case 常量表達(dá)式常量表達(dá)式
16、n:語句序列:語句序列n; default: 語句序列語句序列n+1;使用時注意:使用時注意:(1)switch后面的表達(dá)式,可以是后面的表達(dá)式,可以是常量表達(dá)式常量表達(dá)式,也可以是,也可以是變量表達(dá)式變量表達(dá)式;而;而case后面的表達(dá)式只能是后面的表達(dá)式只能是常量表達(dá)式常量表達(dá)式。(2)上述表達(dá)式其類型只能是)上述表達(dá)式其類型只能是整型整型、字符型字符型或或枚舉類型枚舉類型。switch語句的語句的執(zhí)行順序執(zhí)行順序是:是:(1)首先對)首先對“表達(dá)式表達(dá)式”進行計算,得到一個確定的值。進行計算,得到一個確定的值。(2)然后在)然后在case 子句尋找與此值相匹配的常量表達(dá)式。若子句尋找與此
17、值相匹配的常量表達(dá)式。若找到相匹配的常量,則以此作為入口,開始順序執(zhí)行入口處找到相匹配的常量,則以此作為入口,開始順序執(zhí)行入口處后面的語句序列。后面的語句序列。語句序列中如果遇到語句序列中如果遇到break語句,則跳出語句,則跳出switch語句,轉(zhuǎn)而語句,轉(zhuǎn)而執(zhí)行執(zhí)行switch結(jié)構(gòu)后的其他語句;結(jié)構(gòu)后的其他語句;如果沒有遇到如果沒有遇到break語句,則順序執(zhí)行后面語句,則順序執(zhí)行后面case子句中的語子句中的語句序列,而不管該子句的常量表達(dá)式值是否匹配。句序列,而不管該子句的常量表達(dá)式值是否匹配。 (3)如果沒有找到相匹配的常量表達(dá)式:)如果沒有找到相匹配的常量表達(dá)式:在有在有defau
18、lt的情況下,執(zhí)行的情況下,執(zhí)行default后面的語句序列;后面的語句序列;否則結(jié)束否則結(jié)束switch語句,轉(zhuǎn)而執(zhí)行語句,轉(zhuǎn)而執(zhí)行switch結(jié)構(gòu)后的其它語句。結(jié)構(gòu)后的其它語句。switch語句的執(zhí)行過程如圖語句的執(zhí)行過程如圖2-5所示。所示。語句序列語句序列1break;語句序列語句序列2break;語句序列語句序列nbreak;語句序列語句序列n+1表達(dá)式表達(dá)式case 常量常量1case 常量常量2case 常量常量ndefault圖圖2-5 switch語句流程圖語句流程圖例例2-5 對下列程序,當(dāng)輸入分別為對下列程序,當(dāng)輸入分別為2、1、3、7時,時,輸出結(jié)果是什么。輸出結(jié)果是什
19、么。#include void main() int n;cinn;switch(n)case 1:coutn+t;case 2:coutn+endl;break;case 3:coutn+t;case 6:coutChinan;break;default:coutGOOD!endl;輸入:輸入:2 輸出:輸出:2輸入:輸入:1 輸出:輸出:1 2輸入:輸入:3 輸出:輸出:3 China輸入:輸入:7 輸出:輸出:GOOD!(1)在各個分支中的)在各個分支中的break語句起著退出語句起著退出switch語語句的作用。句的作用。(2)各個)各個case(包括(包括default)語句的出現(xiàn)次
20、序可)語句的出現(xiàn)次序可以任意。以任意。(3)switch結(jié)構(gòu)可以嵌套。結(jié)構(gòu)可以嵌套。(4)switch結(jié)構(gòu)可以沒有結(jié)構(gòu)可以沒有default分支。分支。(5)case 后面表達(dá)式的值不能相同。后面表達(dá)式的值不能相同。(6)可以使多個)可以使多個case語句共用一組語句序列。語句共用一組語句序列。程序解讀:程序解讀:題目:設(shè)計一個程序把實型的百分制成績轉(zhuǎn)換成五分制成績。題目:設(shè)計一個程序把實型的百分制成績轉(zhuǎn)換成五分制成績。算法:定義實型變量算法:定義實型變量s表示百分制成績,字符型變量表示百分制成績,字符型變量c表示五表示五分制成績。分制成績。情況情況1:100分分A;情況情況2:90分分100
21、分分A;情況情況3:80分分90分分B;情況情況4:70分分80分分C;情況情況5:60分分70分分D;其他:其他:Eswitch(表達(dá)式表達(dá)式)case 表達(dá)式表達(dá)式1:c=A;case 表達(dá)式表達(dá)式2 :c=A;case 表達(dá)式表達(dá)式3 :c=B;case 表達(dá)式表達(dá)式4 :c=C;case 表達(dá)式表達(dá)式5 :c=D;default:c=E;表達(dá)式對應(yīng)于表達(dá)式對應(yīng)于s的十位(百位);表達(dá)式的十位(百位);表達(dá)式15分別是分別是10、9、8、7、6;表達(dá)式為:;表達(dá)式為:int(s)/10。 編程實現(xiàn):編程實現(xiàn):#includevoid main()float s; char c;cins;
22、switch(int(s)/10) case 10:c=A;case 9 :c=A;case 8: c=B;case 7: c=C;case 6: c=D;default:c=E;coutstcn; 程序解讀:程序解讀:(1)程序就這樣寫行不行?如)程序就這樣寫行不行?如某位同學(xué)的成績?yōu)槟澄煌瑢W(xué)的成績?yōu)?8 分,輸出分,輸出結(jié)果是多少?怎樣修改?結(jié)果是多少?怎樣修改?break;break;break;break;break;break;(2)能否去掉最后一個分支中)能否去掉最后一個分支中的的“break;”?(3)能否把第一個分支改為)能否把第一個分支改為“case 10:”?(4)swit
23、ch后的條件能否后的條件能否 寫寫成成“int(s/10 )”或或 “s/10” ?圖圖2-6 循環(huán)結(jié)構(gòu)流程圖循環(huán)結(jié)構(gòu)流程圖循環(huán)體循環(huán)體條件條件abYN當(dāng)型循環(huán)當(dāng)型循環(huán) ( while、for )abYN條件條件循環(huán)體循環(huán)體直到型循環(huán)直到型循環(huán) ( dowhile)VC+提供了提供了while、dowhile和和for三種循環(huán)控制語句,三種循環(huán)控制語句,它們有相同的組成部分:它們有相同的組成部分:循環(huán)條件循環(huán)條件(進入、退出條件)和(進入、退出條件)和循循環(huán)體環(huán)體,可以完成相似的功能,按進入與退出循環(huán)的方式可分,可以完成相似的功能,按進入與退出循環(huán)的方式可分為當(dāng)型循環(huán)(先判斷條件后執(zhí)行循環(huán)體)
24、和直到型循環(huán)兩類為當(dāng)型循環(huán)(先判斷條件后執(zhí)行循環(huán)體)和直到型循環(huán)兩類(先執(zhí)行循環(huán)體后判斷條件)(先執(zhí)行循環(huán)體后判斷條件) 。語法格式為:語法格式為:while(條件表達(dá)式)(條件表達(dá)式) 循環(huán)體循環(huán)體; 執(zhí)行過程:首先對條件表達(dá)式進行判斷,若判斷結(jié)果為執(zhí)行過程:首先對條件表達(dá)式進行判斷,若判斷結(jié)果為假(值為假(值為0),則跳過循環(huán)體,執(zhí)行),則跳過循環(huán)體,執(zhí)行while語句后面的語句。語句后面的語句。若判斷結(jié)果為真(值為非若判斷結(jié)果為真(值為非0),則進入循環(huán)體,執(zhí)行循環(huán)體),則進入循環(huán)體,執(zhí)行循環(huán)體中的語句。執(zhí)行完一遍循環(huán)體后,再對條件表達(dá)式進行判斷,中的語句。執(zhí)行完一遍循環(huán)體后,再對條件表
25、達(dá)式進行判斷,若判斷結(jié)果為真,則再執(zhí)行循環(huán)體,若判斷結(jié)果為真,則再執(zhí)行循環(huán)體,依次類推,直到判依次類推,直到判斷結(jié)果為假時,退出斷結(jié)果為假時,退出while循環(huán)語句,轉(zhuǎn)而執(zhí)行后面的語句。循環(huán)語句,轉(zhuǎn)而執(zhí)行后面的語句。即即“先判斷后執(zhí)行先判斷后執(zhí)行”。 1、 while 語句語句循環(huán)語句通常有循環(huán)語句通常有4個部分組成:個部分組成:循環(huán)變量初始循環(huán)變量初始化化、判斷條件判斷條件、循環(huán)體循環(huán)體、修改循環(huán)變量的值修改循環(huán)變量的值。例:用例:用while語句計算語句計算sum=1+2+3+10。int sum=0, i=1; /循環(huán)變量初始化循環(huán)變量初始化while (i=10) /判斷條件判斷條件/
26、循環(huán)體循環(huán)體sum=sum+i; i+; /修改循環(huán)變量的值修改循環(huán)變量的值注意:注意:(1)如果循環(huán)體只包含一個語句,則一對花括號可以省略。)如果循環(huán)體只包含一個語句,則一對花括號可以省略。(2)仔細(xì)定義循環(huán)變量的初始值和判斷條件的邊界值。)仔細(xì)定義循環(huán)變量的初始值和判斷條件的邊界值。(3)對條件表達(dá)式的計算總是比循環(huán)體的執(zhí)行多一次。這)對條件表達(dá)式的計算總是比循環(huán)體的執(zhí)行多一次。這是因為最后一次判斷條件為假時不執(zhí)行循環(huán)體。是因為最后一次判斷條件為假時不執(zhí)行循環(huán)體。(4)當(dāng)循環(huán)體不實現(xiàn)任何功能時,要使用空語句作為循環(huán))當(dāng)循環(huán)體不實現(xiàn)任何功能時,要使用空語句作為循環(huán)體,表示為:體,表示為:wh
27、ile (條件表達(dá)式)(條件表達(dá)式) ;(5)循環(huán)體中,改變循環(huán)變量的值很重要。如果循環(huán)變量)循環(huán)體中,改變循環(huán)變量的值很重要。如果循環(huán)變量的值恒定不變,或者當(dāng)條件表達(dá)式為一常數(shù)時,將會導(dǎo)致的值恒定不變,或者當(dāng)條件表達(dá)式為一常數(shù)時,將會導(dǎo)致無限循環(huán)(也即死循環(huán))。無限循環(huán)(也即死循環(huán))。例例2-6 打印打印ASCII碼表的可打印字符。要求按每行碼表的可打印字符。要求按每行8個字符的個字符的方式輸出字符及其對應(yīng)的編碼值方式輸出字符及其對應(yīng)的編碼值。算法:將整型值賦給字符型變量,自動轉(zhuǎn)換成對應(yīng)的字符。算法:將整型值賦給字符型變量,自動轉(zhuǎn)換成對應(yīng)的字符。程序設(shè)計:程序設(shè)計:(1)程序結(jié)構(gòu):循環(huán)結(jié)構(gòu))
28、程序結(jié)構(gòu):循環(huán)結(jié)構(gòu)while語句實現(xiàn)。語句實現(xiàn)。(2)可見字符的)可見字符的ASCII值為值為32126,循環(huán)控制變量,循環(huán)控制變量ascii從從32開始循環(huán)(循環(huán)變量初始化:開始循環(huán)(循環(huán)變量初始化:int ascii=32)。循環(huán)條件為:)。循環(huán)條件為:ascii=126。(3)循環(huán)體:)循環(huán)體:把把ascii賦值給字符變量賦值給字符變量c,得到對應(yīng)字符;,得到對應(yīng)字符;輸出字符及輸出字符及ASCII值;值; ascii自增,求下一個字符;自增,求下一個字符;控制輸出格式??刂戚敵龈袷?。編程實現(xiàn):編程實現(xiàn):#include #include void main( void )int asc
29、ii=32; /A行行char c;cout setw(40)ASCII碼對照表碼對照表 endl ; /輸出表頭輸出表頭while(ascii=126) /B行行c=ascii;/將整型值賦給字符型變量將整型值賦給字符型變量,強制轉(zhuǎn)換成對應(yīng)字符型值。強制轉(zhuǎn)換成對應(yīng)字符型值。 coutc“=”asciit; /輸出字符及其輸出字符及其ASCII值值ascii+;if(ascii%8=0) coutn; /每行輸出每行輸出8組值組值cout endl; 特別提示:特別提示:四個特殊字符的四個特殊字符的ASCII值:值:空格字符為空格字符為 32,0 為為48 、A 為為 65 、 a 為為 97
30、。學(xué)習(xí)與實踐:學(xué)習(xí)與實踐:(1)將)將A行改為:行改為:int ascii=0; 輸出結(jié)果如何?輸出結(jié)果如何?(2)將)將B行改為:行改為:while(ascii=255) 輸出結(jié)果如何?輸出結(jié)果如何?2、 dowhile 語句語句語法格式為:語法格式為:do 循環(huán)體循環(huán)體; while(條件表達(dá)式(條件表達(dá)式);功能:當(dāng)流程到達(dá)功能:當(dāng)流程到達(dá)do后,立即執(zhí)行循環(huán)體,然后再對條后,立即執(zhí)行循環(huán)體,然后再對條件表達(dá)式進行判斷。若條件表達(dá)式的值為真,則重復(fù)執(zhí)行循件表達(dá)式進行判斷。若條件表達(dá)式的值為真,則重復(fù)執(zhí)行循環(huán)體語句,直到條件表達(dá)式的值為假退出循環(huán)。即環(huán)體語句,直到條件表達(dá)式的值為假退出循環(huán)
31、。即“先執(zhí)行先執(zhí)行后判斷后判斷”方式。方式。(1)dowhile結(jié)構(gòu)與結(jié)構(gòu)與while結(jié)構(gòu)中都具有一個結(jié)構(gòu)中都具有一個while語句,語句,很容易混淆。為明顯區(qū)分它們,很容易混淆。為明顯區(qū)分它們,dowhile循環(huán)體即使是一循環(huán)體即使是一個單語句,習(xí)慣上也使用花括號括起來,并且個單語句,習(xí)慣上也使用花括號括起來,并且while(表達(dá)式)(表達(dá)式)直接寫在花括號直接寫在花括號“”的后面,最后一定要加一個分號。的后面,最后一定要加一個分號。例:用例:用dowhile語句計算語句計算sum=1+2+3+10。int sum=0,i=1; /變量初始化變量初始化dosum+=i+;/循環(huán)體與改變循環(huán)變
32、量的值循環(huán)體與改變循環(huán)變量的值 while (i=100); /判斷條件判斷條件(2)與)與while語句不同的是:語句不同的是:while語句有可能一次語句有可能一次都不執(zhí)行循環(huán)體,而都不執(zhí)行循環(huán)體,而dowhile循環(huán)至少執(zhí)行一次,循環(huán)至少執(zhí)行一次,因為直到程序到達(dá)循環(huán)體的尾部遇到因為直到程序到達(dá)循環(huán)體的尾部遇到while時,才知時,才知道繼續(xù)條件是什么。道繼續(xù)條件是什么。 例例2-7 用迭代法求用迭代法求 的的近似值。近似值。a算法:算法:(1)設(shè))設(shè)x02=a,則,則x0=a/x0,即,即x0和和a/x0都接近于都接近于 ,且,且(x0+a/x0)/2更接近于更接近于 。aa (2)即
33、求平方根的迭代公式為:)即求平方根的迭代公式為:x1= (x0+a/x0)/2 ,若若x0 和和x1差的絕對值小于差的絕對值小于10-5,則它們就是,則它們就是 。a(3)把輸入的正數(shù)賦給)把輸入的正數(shù)賦給a,并把,并把a/2的值作為的值作為x0的初值,根的初值,根據(jù)迭代公式求出據(jù)迭代公式求出x1,若,若|x1-x0|10-5 ,則,則x1就是所求的平方根就是所求的平方根的近似值;否則將的近似值;否則將x1 賦給賦給 x0,再根據(jù)公式求出,再根據(jù)公式求出x1,重復(fù)以上,重復(fù)以上過程,直到過程,直到|x1-x0|10-5 為止。為止。編程實現(xiàn):編程實現(xiàn):#include #include voi
34、d main(void)float x0,x1,a;couta;if(a0) couta1e-5);couta“的平方根等于:的平方根等于:”x1n;3、 for 語句語句語法格式為:語法格式為:for(表達(dá)式(表達(dá)式1;表達(dá)式表達(dá)式2;表達(dá)式表達(dá)式3) 循環(huán)體循環(huán)體 ; (1)表達(dá)式表達(dá)式1是是初始化表達(dá)式初始化表達(dá)式,一般用于對循環(huán),一般用于對循環(huán)語句涉及的變量進行初始化或賦初值;語句涉及的變量進行初始化或賦初值;(2)表達(dá)式表達(dá)式2是是條件表達(dá)式條件表達(dá)式,當(dāng)它的判斷條件為,當(dāng)它的判斷條件為真時,就執(zhí)行循環(huán)體,否則終止循環(huán),退出真時,就執(zhí)行循環(huán)體,否則終止循環(huán),退出for語句;語句;(3
35、)表達(dá)式表達(dá)式3是是修正表達(dá)式修正表達(dá)式,一般用于在循環(huán)體,一般用于在循環(huán)體執(zhí)行之后,對修改循環(huán)變量的值;執(zhí)行之后,對修改循環(huán)變量的值;(4)循環(huán)體循環(huán)體是當(dāng)表達(dá)式是當(dāng)表達(dá)式2為真時執(zhí)行的一組語句為真時執(zhí)行的一組語句序列,通常是序列,通常是塊語句塊語句。 對于對于for語句:語句:for(表達(dá)式表達(dá)式1;表達(dá)式表達(dá)式2;表達(dá)式表達(dá)式3) 循環(huán)體循環(huán)體 ; 其執(zhí)行過程如圖其執(zhí)行過程如圖2-7所示:所示:圖圖2-7 for 循環(huán)流程圖循環(huán)流程圖表達(dá)式表達(dá)式1表達(dá)式表達(dá)式 2表達(dá)式表達(dá)式3循環(huán)體循環(huán)體YNab(1)先執(zhí)行表達(dá)式)先執(zhí)行表達(dá)式1;(2)判斷表達(dá)式)判斷表達(dá)式2,若為,若為0,則結(jié)束循環(huán)
36、,并轉(zhuǎn)到(則結(jié)束循環(huán),并轉(zhuǎn)到(5););(3)若表達(dá)式)若表達(dá)式2為非為非0,則,則執(zhí)行循環(huán)體,然后執(zhí)行表達(dá)執(zhí)行循環(huán)體,然后執(zhí)行表達(dá)式式3;(4)轉(zhuǎn)回()轉(zhuǎn)回(2););(5)執(zhí)行)執(zhí)行for語句下面的語語句下面的語句。句。 例:用例:用for語句計算語句計算sum=1+2+3+10。初始化,判斷條件,修改方式,都在初始化,判斷條件,修改方式,都在for語句頭部語句頭部的括號中描述,循環(huán)體相對簡潔。的括號中描述,循環(huán)體相對簡潔。使用循環(huán)結(jié)構(gòu)時必須注意,如果循環(huán)的控制條件使用循環(huán)結(jié)構(gòu)時必須注意,如果循環(huán)的控制條件永遠(yuǎn)成立,循環(huán)體將永無休止地反復(fù)執(zhí)行,程序就將永遠(yuǎn)成立,循環(huán)體將永無休止地反復(fù)執(zhí)行,
37、程序就將陷入陷入“死循環(huán)死循環(huán)”,這顯然是應(yīng)當(dāng)防止的。,這顯然是應(yīng)當(dāng)防止的。for (int sum=0,i=1;i=10;i+) sum+=i; /循環(huán)體循環(huán)體循環(huán)結(jié)構(gòu)通常由四個主要部分構(gòu)成循環(huán)結(jié)構(gòu)通常由四個主要部分構(gòu)成:(1) 循環(huán)的初始部分。循環(huán)中相關(guān)變量(循環(huán)控制變量等)的定義、循環(huán)的初始部分。循環(huán)中相關(guān)變量(循環(huán)控制變量等)的定義、初始化,往往出現(xiàn)在循環(huán)語句的開頭部分。初始化,往往出現(xiàn)在循環(huán)語句的開頭部分。(2) 循環(huán)的控制部分。設(shè)定循環(huán)條件,保證循環(huán)語句按要求循環(huán),循環(huán)的控制部分。設(shè)定循環(huán)條件,保證循環(huán)語句按要求循環(huán),控制循環(huán)次數(shù)。控制循環(huán)次數(shù)。(3) 循環(huán)的修改部分。修改相關(guān)變量
38、(循環(huán)控制變量等)的值,保循環(huán)的修改部分。修改相關(guān)變量(循環(huán)控制變量等)的值,保證循環(huán)語句執(zhí)行過程中,相關(guān)變量按要求變化。證循環(huán)語句執(zhí)行過程中,相關(guān)變量按要求變化。(4) 循環(huán)的工作部分。即循環(huán)體,完成循環(huán)程序的主要功能。循環(huán)的工作部分。即循環(huán)體,完成循環(huán)程序的主要功能。對于一個具體的程序,上述幾個部分有時很明顯就能分開,有時卻對于一個具體的程序,上述幾個部分有時很明顯就能分開,有時卻很難分開。相互位置有時能互換,或相互包容。很難分開。相互位置有時能互換,或相互包容。 編寫循環(huán)結(jié)構(gòu)程序時,要特別注意:編寫循環(huán)結(jié)構(gòu)程序時,要特別注意:(1) 選用哪個循環(huán)語句,其格式要正確。選用哪個循環(huán)語句,其格
39、式要正確。(2) 循環(huán)開始時,各變量的值是多少;循環(huán)過程中,各變量的值如循環(huán)開始時,各變量的值是多少;循環(huán)過程中,各變量的值如何變化;循環(huán)結(jié)束后,各變量的值是多少。何變化;循環(huán)結(jié)束后,各變量的值是多少。(3) 怎樣控制循環(huán)過程,即怎樣設(shè)定循環(huán)條件。怎樣控制循環(huán)過程,即怎樣設(shè)定循環(huán)條件。(4)哪些語句參與循環(huán),即循環(huán)體是什么。哪些語句參與循環(huán),即循環(huán)體是什么。例:從鍵盤上輸入十個實型數(shù),求出它們的和與平均值。例:從鍵盤上輸入十個實型數(shù),求出它們的和與平均值。(1) 選用選用for語句語句。(2) 設(shè)設(shè)s(0)為和,為和,a為輸入的數(shù)及平均值,為輸入的數(shù)及平均值,i(0)為循環(huán)控制為循環(huán)控制變量,
40、每循環(huán)一次自增一次。變量,每循環(huán)一次自增一次。(3) 循環(huán)條件:循環(huán)條件:ia;s+=a;a=s/10;循環(huán)體是循環(huán)體是 cina; s+=a; 。flaot s=0, a;for(int i=0;ia;s+=a;a=s/10;/A(1)定義變量時,)定義變量時, s能否像能否像a一樣一樣不賦值?不賦值?(2)能否把)能否把s和和a的定義放到循環(huán)的定義放到循環(huán)體中?或表達(dá)式體中?或表達(dá)式1的位置?的位置?(3)i能否從能否從1開始循環(huán)?開始循環(huán)?(4)A行能否改為行能否改為“a=s/i;”?(1) 選用選用for語句語句。(2) 設(shè)設(shè)a (0)為平均值,為平均值,i(1)為循環(huán)控制變量,每循環(huán)
41、一次為循環(huán)控制變量,每循環(huán)一次增加增加2。 (3) 循環(huán)條件:循環(huán)條件:i=100。 (4)主要功能語句有二條:主要功能語句有二條:a+=i;a/=50;循環(huán)體是循環(huán)體是 a+=i; 。float a=0;for(int i=1;i=100;i+=2)a+=i;a/=50;程序解讀:程序解讀:(1)該題與上題的最大區(qū)別在于,該題的該題與上題的最大區(qū)別在于,該題的 i 既是循環(huán)控既是循環(huán)控制變量,也是參與平均值運算的數(shù);而上題的制變量,也是參與平均值運算的數(shù);而上題的 i 僅為循環(huán)僅為循環(huán)控制變量,不參與平均值的運算。控制變量,不參與平均值的運算。(2)注意注意 i 的變化規(guī)律。的變化規(guī)律。例:
42、求例:求100以內(nèi)所有奇數(shù)的平均值。以內(nèi)所有奇數(shù)的平均值。for(int i=0;i4;i+)for(int j=0;j5;j+) couti=i,j=jt;coutn;運行結(jié)果:運行結(jié)果:i=0,j=0 i=0,j=1 i=0,j=2 i=0,j=3 i=0,j=4i=1,j=0 i=1,j=1 i=1,j=2 i=1,j=3 i=1,j=4i=2,j=0 i=2,j=1 i=2,j=2 i=2,j=3 i=2,j=4i=3,j=0 i=3,j=1 i=3,j=2 i=3,j=3 i=3,j=4從運行結(jié)果發(fā)從運行結(jié)果發(fā)現(xiàn),外循環(huán)每循現(xiàn),外循環(huán)每循環(huán)一次,內(nèi)循環(huán)環(huán)一次,內(nèi)循環(huán)則循環(huán)一遍。即則循
43、環(huán)一遍。即 i 為為0時,時,j從從0變變化到化到4,j 為為5時時退出內(nèi)循環(huán),到退出內(nèi)循環(huán),到外循環(huán)的表達(dá)式外循環(huán)的表達(dá)式3;然后;然后 i 變?yōu)樽優(yōu)?,j再從再從0變化到變化到4;一直到;一直到i 變?yōu)樽優(yōu)?,退出整,退出整個循環(huán)。個循環(huán)。循環(huán)嵌套是指循環(huán)語句的循環(huán)體中包含循環(huán)語句,如:循環(huán)嵌套是指循環(huán)語句的循環(huán)體中包含循環(huán)語句,如:(a)(b)(c)圖圖2-8 循環(huán)結(jié)構(gòu)嵌套循環(huán)結(jié)構(gòu)嵌套同一種循環(huán)語句可以嵌套,不同的循環(huán)語句也可以相互同一種循環(huán)語句可以嵌套,不同的循環(huán)語句也可以相互嵌套,但在循環(huán)的嵌套中要注意,內(nèi)層循環(huán)應(yīng)完全在外層循嵌套,但在循環(huán)的嵌套中要注意,內(nèi)層循環(huán)應(yīng)完全在外層循環(huán)里面
44、,也就是不允許出現(xiàn)交叉。在嵌套的循環(huán)結(jié)構(gòu)中,如環(huán)里面,也就是不允許出現(xiàn)交叉。在嵌套的循環(huán)結(jié)構(gòu)中,如用缺口矩形表示每層循環(huán)結(jié)構(gòu)時,則圖用缺口矩形表示每層循環(huán)結(jié)構(gòu)時,則圖2-8中中(a)、(b)是正確是正確的多層循環(huán)結(jié)構(gòu),而的多層循環(huán)結(jié)構(gòu),而(c)是錯誤的多層循環(huán)結(jié)構(gòu),因為它出現(xiàn)是錯誤的多層循環(huán)結(jié)構(gòu),因為它出現(xiàn)了循環(huán)結(jié)構(gòu)的交叉。了循環(huán)結(jié)構(gòu)的交叉。例例2-8 打印九九乘法表打印九九乘法表#include #include void main( void )int i,j;coutn;for(i=1;i10;i+)for(j=1;j=i;j+) /A行行coutsetw(4)i*j;coutn; 程序
45、解讀:程序解讀:A行的循環(huán)條件為什么是行的循環(huán)條件為什么是“j=i”?若改為?若改為“j10”運運行結(jié)果是什么?行結(jié)果是什么?在在VC+中,除了提供順序執(zhí)行和選擇控中,除了提供順序執(zhí)行和選擇控制、循環(huán)控制語句外,還提供了一類跳轉(zhuǎn)語制、循環(huán)控制語句外,還提供了一類跳轉(zhuǎn)語句。這類語句的總體功能是中斷當(dāng)前某段程句。這類語句的總體功能是中斷當(dāng)前某段程序的執(zhí)行,并跳轉(zhuǎn)到程序的其他位置繼續(xù)執(zhí)序的執(zhí)行,并跳轉(zhuǎn)到程序的其他位置繼續(xù)執(zhí)行。行。常見的跳轉(zhuǎn)語句有三種:常見的跳轉(zhuǎn)語句有三種:break語句、語句、continue語句語句與與goto語句語句。其中,其中,goto語句不作介紹。語句不作介紹。 break
46、語句的作用是:語句的作用是:結(jié)束當(dāng)前正在執(zhí)行的循環(huán)結(jié)束當(dāng)前正在執(zhí)行的循環(huán)(for、while、dowhile)或多路分支()或多路分支(switch)程序結(jié)構(gòu),轉(zhuǎn)而執(zhí)行這些結(jié)構(gòu)后面的語句。程序結(jié)構(gòu),轉(zhuǎn)而執(zhí)行這些結(jié)構(gòu)后面的語句。在在switch語句中,語句中,break用來使流程跳出用來使流程跳出switch語語句,繼續(xù)執(zhí)行句,繼續(xù)執(zhí)行switch后的語句。后的語句。在循環(huán)語句中,在循環(huán)語句中,break用來從最近的循環(huán)體內(nèi)跳用來從最近的循環(huán)體內(nèi)跳出。出。 特別提示:特別提示:break語句可以用在語句可以用在循環(huán)語句循環(huán)語句與與switch語句語句中。中。1、break語句語句continue
47、語句的作用是:語句的作用是:結(jié)束當(dāng)前正在執(zhí)行的這結(jié)束當(dāng)前正在執(zhí)行的這一次循環(huán)(一次循環(huán)(for、while、dowhile),接著執(zhí)行下),接著執(zhí)行下一次循環(huán)一次循環(huán)。即跳過循環(huán)體中尚未執(zhí)行的語句,接著。即跳過循環(huán)體中尚未執(zhí)行的語句,接著進行下一次是否執(zhí)行循環(huán)的判定。進行下一次是否執(zhí)行循環(huán)的判定。continue語句和語句和break語句的區(qū)別是:語句的區(qū)別是:continue語語句只結(jié)束本次循環(huán),而不是終止整個循環(huán)的執(zhí)行。句只結(jié)束本次循環(huán),而不是終止整個循環(huán)的執(zhí)行。而而break語句則是結(jié)束本次循環(huán),不再進行條件判斷。語句則是結(jié)束本次循環(huán),不再進行條件判斷。特別提示:特別提示:continu
48、e語句只能用在語句只能用在循環(huán)語句循環(huán)語句中。中。2、continue語句語句例例2-9 輸出輸出1到到10之間的不能被之間的不能被3整除的數(shù)。整除的數(shù)。#includevoid main( ) for(int i=1; i=10; i+)if(i%3=0) continue; /A 行行 cout it ; coutendl;調(diào)試與運行:調(diào)試與運行:輸出:輸出:1 2 4 5 7 8 10程序解讀:程序解讀:當(dāng)當(dāng)i被被3整除時,執(zhí)行整除時,執(zhí)行continue語句,結(jié)束本語句,結(jié)束本次循環(huán),即跳過次循環(huán),即跳過cout語語句,轉(zhuǎn)去執(zhí)行句,轉(zhuǎn)去執(zhí)行i+,進,進入下一次循環(huán)。只有入下一次循環(huán)。只
49、有i不不能被能被3整除時,才執(zhí)行整除時,才執(zhí)行cout函數(shù),輸出函數(shù),輸出i。學(xué)習(xí)與實踐:學(xué)習(xí)與實踐:若將程序若將程序A 行行continue語語句換成句換成break語句,輸出如語句,輸出如何?何?例例2-10 求出求出100以內(nèi)的所有素數(shù)(質(zhì)數(shù)),并按每行五個數(shù)以內(nèi)的所有素數(shù)(質(zhì)數(shù)),并按每行五個數(shù)據(jù)輸出。據(jù)輸出。算法:算法:(1)所謂素數(shù),即只能被所謂素數(shù),即只能被1和自身整除的自然數(shù)和自身整除的自然數(shù)(1除外除外)。(2)判斷一個數(shù)判斷一個數(shù)n是否為素數(shù),可用循環(huán)語句實現(xiàn),循環(huán)是否為素數(shù),可用循環(huán)語句實現(xiàn),循環(huán)控制變量控制變量i從從2變化到變化到n-1 ,只要有一次,只要有一次n能被能
50、被i整除,整除,n就不是就不是素數(shù),否則素數(shù),否則n是素數(shù)。是素數(shù)。 100以內(nèi)的素數(shù)有:以內(nèi)的素數(shù)有:2 3 5 7 1113 17 19 23 2931 37 41 43 4753 59 61 67 7173 79 83 89 97#include#includevoid main( )int i,n,count=0;for(n=2;n100; n+) /A1for(i=2;in-1) coutsetw(4)n; count+; if(count%5=0)coutendl; /A2(1)該程序是由兩層循環(huán)組成)該程序是由兩層循環(huán)組成的循環(huán)嵌套結(jié)構(gòu),外循環(huán)自的循環(huán)嵌套結(jié)構(gòu),外循環(huán)自A1行行開
51、始到開始到A2行,內(nèi)循環(huán)自行,內(nèi)循環(huán)自B開始到開始到break 語句結(jié)束。語句結(jié)束。(2)break語句執(zhí)行的條件是語句執(zhí)行的條件是(n%i=0),即,即n一旦能被一旦能被 i 整除就整除就結(jié)束內(nèi)循環(huán),此時結(jié)束內(nèi)循環(huán),此時 i=n-1 。(3)若)若n一直沒有被一直沒有被 i 整除,整除,雖然沒有執(zhí)行雖然沒有執(zhí)行break,但當(dāng)條件,但當(dāng)條件i n-1 。(4)內(nèi)循環(huán)結(jié)束后,只要判斷)內(nèi)循環(huán)結(jié)束后,只要判斷 i 是否大于是否大于n-1 就能確定就能確定n是否為素是否為素數(shù)。數(shù)。(5) count為計數(shù)器。為計數(shù)器。abort( )與與exit( )都是都是VC+的庫函數(shù),其功能都是終止程的庫函
52、數(shù),其功能都是終止程序的執(zhí)行,使用它們要包含頭文件序的執(zhí)行,使用它們要包含頭文件stdlib.h。1、abort( )函數(shù)函數(shù)使用格式:使用格式:abort( );調(diào)用該函數(shù)時,括號內(nèi)不能有參數(shù)。在執(zhí)行該函數(shù)時,調(diào)用該函數(shù)時,括號內(nèi)不能有參數(shù)。在執(zhí)行該函數(shù)時,系統(tǒng)不做結(jié)束程序前的收尾工作,直接終止程序的執(zhí)行。系統(tǒng)不做結(jié)束程序前的收尾工作,直接終止程序的執(zhí)行。2、exit()函數(shù)函數(shù)使用格式:使用格式: exit( 表達(dá)式表達(dá)式 );其中,表達(dá)式的值只能是整型數(shù),作為終止程序執(zhí)行的其中,表達(dá)式的值只能是整型數(shù),作為終止程序執(zhí)行的原因:用原因:用0表示正常退出,而用其它的值表示異常退出。執(zhí)表示正常
53、退出,而用其它的值表示異常退出。執(zhí)行時,系統(tǒng)要做終止程序執(zhí)行前的收尾工作,如關(guān)閉該程序行時,系統(tǒng)要做終止程序執(zhí)行前的收尾工作,如關(guān)閉該程序打開的文件,釋放變量所占用的存儲空間(不包括動態(tài)分配打開的文件,釋放變量所占用的存儲空間(不包括動態(tài)分配的存儲空間)等。的存儲空間)等。 算法:算法:(1)若某年份是閏年,則該年份能被)若某年份是閏年,則該年份能被400整除,整除,或能被或能被4整除但不能被整除但不能被100整除。整除。(2) 定義變量定義變量year為年份,變量為年份,變量leap為是否閏為是否閏年的標(biāo)記。若(年的標(biāo)記。若(year%400=0)|(year%4=0& year%1
54、00!=0),則),則leap的值為的值為1,否則,否則leap的值為的值為0。例例2-11:判斷某一年是否是閏年。:判斷某一年是否是閏年。#include “iostream.h”void main()int year,leap;cout“please input a year:”year;if(year%4=0&year%100!=0)|(year%400=0) leap=1;else leap=0;if(leap)coutyear“ is a leap year.”endl; else coutyear“ is not a leap year.”endl; 調(diào)試與運行:調(diào)試與運行
55、:輸入:輸入:2000 輸出:輸出:2000 is a leap year.再運行一次再運行一次輸入:輸入: 1995 輸出:輸出: 1995 is not a leap year.例例2-12 求所有的求所有的“水仙花數(shù)水仙花數(shù)”?!八苫〝?shù)水仙花數(shù)”是一個三位數(shù),該數(shù)各位數(shù)字的立方和恰好等是一個三位數(shù),該數(shù)各位數(shù)字的立方和恰好等于該數(shù)本身。例如于該數(shù)本身。例如153=13+53+33,所以,所以153是是“水仙花數(shù)水仙花數(shù)”。算法一:窮舉出所有三位數(shù),對每一個三位數(shù),先分別求算法一:窮舉出所有三位數(shù),對每一個三位數(shù),先分別求出其百、十、個位上的數(shù)字,再求出各個數(shù)字的立方和。最出其百、十、個位上的數(shù)字,再求出各個數(shù)字的立方和。最后判斷其和與這個三位數(shù)是否相等。后判斷其和與這個三位數(shù)是否相等。算法二:外循環(huán)窮舉出所有三位數(shù),內(nèi)循環(huán)求出每一個三算法二:外循環(huán)窮舉出所有三位數(shù),內(nèi)循環(huán)求出每一個三位數(shù)個位,十位和百位數(shù)的立方和。內(nèi)循環(huán)先用位數(shù)個位,十位和百位數(shù)的立方和。內(nèi)循環(huán)先用%運算符求運算符求其末位數(shù),然后
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- PB-22-N-5-Hydroxypentyl-3-carboxyindole-metabolite-生命科學(xué)試劑-MCE-1773
- L-Glutamic-acid-ammonium-生命科學(xué)試劑-MCE-7975
- 1-Octadecyl-lysophosphatidic-acid-PA-O-18-0-0-0-生命科學(xué)試劑-MCE-8369
- 2025年度績效合同簽訂與履行指南
- 二零二五年度未簽合同員工勞動仲裁應(yīng)對措施及賠償協(xié)議
- 二零二五年度物業(yè)與業(yè)主之間綠化賠償合作協(xié)議
- 2025年度煙酒店員工培訓(xùn)與職業(yè)發(fā)展合同
- 柴油發(fā)電機組技術(shù)協(xié)議
- 施工日志填寫樣本防雷工程施工
- 小學(xué)語文人教一年級上冊識字2《日月明》教學(xué)設(shè)計
- 充電樁知識培訓(xùn)課件
- 2025年七年級下冊道德與法治主要知識點
- 2025年交通運輸部長江口航道管理局招聘4人歷年高頻重點提升(共500題)附帶答案詳解
- 老年髖部骨折患者圍術(shù)期下肢深靜脈血栓基礎(chǔ)預(yù)防專家共識(2024版)解讀
- 廣東省廣州市2025屆高三上學(xué)期12月調(diào)研測試(零模)英語 含解析
- 偏癱足內(nèi)翻的治療
- 藥企質(zhì)量主管競聘
- 信息對抗與認(rèn)知戰(zhàn)研究-洞察分析
- 心腦血管疾病預(yù)防課件
- 手術(shù)室??谱o士工作總結(jié)匯報
- 2025屆高三聽力技巧指導(dǎo)-預(yù)讀、預(yù)測
評論
0/150
提交評論