




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、主要內(nèi)容主要內(nèi)容: 概述概述 順序控制語(yǔ)句順序控制語(yǔ)句 選擇控制語(yǔ)句選擇控制語(yǔ)句 循環(huán)控制語(yǔ)句循環(huán)控制語(yǔ)句 跳轉(zhuǎn)語(yǔ)句跳轉(zhuǎn)語(yǔ)句 高級(jí)語(yǔ)言源程序的基本組成單位是語(yǔ)句。高級(jí)語(yǔ)言源程序的基本組成單位是語(yǔ)句。在在C+程序中,語(yǔ)句是最小的可執(zhí)行單元,程序中,語(yǔ)句是最小的可執(zhí)行單元,一條語(yǔ)句由一個(gè)分號(hào)結(jié)束。一條語(yǔ)句由一個(gè)分號(hào)結(jié)束。 語(yǔ)句按功能分為兩類(lèi),一類(lèi)用于描述運(yùn)算語(yǔ)句按功能分為兩類(lèi),一類(lèi)用于描述運(yùn)算的結(jié)果值,即表達(dá)式語(yǔ)句;另一類(lèi)是控制的結(jié)果值,即表達(dá)式語(yǔ)句;另一類(lèi)是控制表達(dá)式語(yǔ)句執(zhí)行順序的控制語(yǔ)句,簡(jiǎn)稱(chēng)為表達(dá)式語(yǔ)句執(zhí)行順序的控制語(yǔ)句,簡(jiǎn)稱(chēng)為控制語(yǔ)句??刂普Z(yǔ)句。 C+語(yǔ)言中的語(yǔ)句,語(yǔ)言中的語(yǔ)句,見(jiàn)表見(jiàn)表2
2、.2-1。顧名思義,所謂順序結(jié)構(gòu),就是指按照語(yǔ)顧名思義,所謂順序結(jié)構(gòu),就是指按照語(yǔ)句在程序中的先后次序一條一條的順次執(zhí)句在程序中的先后次序一條一條的順次執(zhí)行。順序控制語(yǔ)句是一類(lèi)簡(jiǎn)單的語(yǔ)句,包行。順序控制語(yǔ)句是一類(lèi)簡(jiǎn)單的語(yǔ)句,包括表達(dá)式語(yǔ)句,輸入括表達(dá)式語(yǔ)句,輸入/輸出等。輸出等。 任何一個(gè)表達(dá)式后面加上一個(gè)分號(hào)就構(gòu)成了表達(dá)任何一個(gè)表達(dá)式后面加上一個(gè)分號(hào)就構(gòu)成了表達(dá)式語(yǔ)句(沒(méi)有分號(hào)的不是語(yǔ)句)。表達(dá)式是指用式語(yǔ)句(沒(méi)有分號(hào)的不是語(yǔ)句)。表達(dá)式是指用運(yùn)算符連接各個(gè)運(yùn)算對(duì)象,合乎語(yǔ)法規(guī)則的式子。運(yùn)算符連接各個(gè)運(yùn)算對(duì)象,合乎語(yǔ)法規(guī)則的式子。 例如,以下都是表達(dá)式語(yǔ)句:例如,以下都是表達(dá)式語(yǔ)句:a=3+
3、5;ab?a:b;a=1,b=2,c=3;printf(“hellon”); 常見(jiàn)的表達(dá)式語(yǔ)句有以下幾種:空語(yǔ)句、賦值語(yǔ)常見(jiàn)的表達(dá)式語(yǔ)句有以下幾種:空語(yǔ)句、賦值語(yǔ)句、函數(shù)調(diào)用語(yǔ)句。句、函數(shù)調(diào)用語(yǔ)句。 空語(yǔ)句是指只有一個(gè)分號(hào)而沒(méi)有表達(dá)式的空語(yǔ)句是指只有一個(gè)分號(hào)而沒(méi)有表達(dá)式的語(yǔ)句。語(yǔ)法格式為:語(yǔ)句。語(yǔ)法格式為:; 空語(yǔ)句不做任何操作運(yùn)算,而只是作為一空語(yǔ)句不做任何操作運(yùn)算,而只是作為一種形式上的語(yǔ)句,填充在控制結(jié)構(gòu)之中。種形式上的語(yǔ)句,填充在控制結(jié)構(gòu)之中。這些填充處需要一條語(yǔ)句,但又不做任何這些填充處需要一條語(yǔ)句,但又不做任何操作。操作。 空語(yǔ)句是最簡(jiǎn)單的表達(dá)式語(yǔ)句。空語(yǔ)句是最簡(jiǎn)單的表達(dá)式語(yǔ)句。
4、賦值語(yǔ)句是由賦值表達(dá)式加一個(gè)語(yǔ)句結(jié)束標(biāo)志賦值語(yǔ)句是由賦值表達(dá)式加一個(gè)語(yǔ)句結(jié)束標(biāo)志(分號(hào)(分號(hào)“;”)構(gòu)成的語(yǔ)句。語(yǔ)法格式為:)構(gòu)成的語(yǔ)句。語(yǔ)法格式為:變量變量 賦值運(yùn)算符賦值運(yùn)算符 表達(dá)式;表達(dá)式; 例如:例如:a=1;b+=2;c=sin(d); 可以多重賦值,將一個(gè)表達(dá)式的值同時(shí)賦給多個(gè)可以多重賦值,將一個(gè)表達(dá)式的值同時(shí)賦給多個(gè)變量。如:變量。如: 變量變量1=1=變量變量2= =2= =變量變量n=n=表達(dá)式;表達(dá)式;等價(jià)于:等價(jià)于: 變量變量1=1=表達(dá)式;變量表達(dá)式;變量2=2=表達(dá)式;表達(dá)式;變量;變量n=n=表達(dá)表達(dá)式式; 函數(shù)調(diào)用語(yǔ)句是由函數(shù)調(diào)用表達(dá)式加一個(gè)函數(shù)調(diào)用語(yǔ)句是由函數(shù)
5、調(diào)用表達(dá)式加一個(gè)語(yǔ)句結(jié)束標(biāo)志(分號(hào)語(yǔ)句結(jié)束標(biāo)志(分號(hào)“;”)構(gòu)成的語(yǔ)句。)構(gòu)成的語(yǔ)句。 例如:例如:scanf(“%d”,&e);max(a,b); C+程序沒(méi)有輸入程序沒(méi)有輸入/輸出語(yǔ)句,它的輸入輸出語(yǔ)句,它的輸入/輸出功能由函數(shù)(輸出功能由函數(shù)(scanf、printf)或流)或流控制來(lái)實(shí)現(xiàn)。輸入控制來(lái)實(shí)現(xiàn)。輸入/輸出流(輸出流(I/0流)是輸流)是輸入或輸出的一系列字節(jié)。入或輸出的一系列字節(jié)。C+定義了運(yùn)算定義了運(yùn)算符符“”的的iostream類(lèi)。在這類(lèi)。在這里只介紹如何利用里只介紹如何利用C+的標(biāo)準(zhǔn)輸入的標(biāo)準(zhǔn)輸入/輸出輸出流實(shí)現(xiàn)數(shù)據(jù)的輸入流實(shí)現(xiàn)數(shù)據(jù)的輸入/輸出功能。輸出功能。
6、當(dāng)程序需要執(zhí)行鍵盤(pán)輸入時(shí),可以使用抽取操作符當(dāng)程序需要執(zhí)行鍵盤(pán)輸入時(shí),可以使用抽取操作符“”從輸入流從輸入流cin中抽取鍵盤(pán)輸入的字符和數(shù)字,并把它賦給中抽取鍵盤(pán)輸入的字符和數(shù)字,并把它賦給指定的變量。例如:指定的變量。例如:#include#includevoid main()void main() int a;int a;cina;cina; 注意:這里的抽取操作符注意:這里的抽取操作符“”與移位運(yùn)算符與移位運(yùn)算符“”是是同樣的符號(hào),但這種符號(hào)在不同的地方其含義是不一樣的。同樣的符號(hào),但這種符號(hào)在不同的地方其含義是不一樣的。 當(dāng)程序需要在屏幕上顯示輸出時(shí),可以使用插入當(dāng)程序需要在屏幕上顯示
7、輸出時(shí),可以使用插入操作符操作符“”向輸出流向輸出流cout中插入字符和數(shù)字,中插入字符和數(shù)字,并把它在屏幕上顯示輸出。例如:并把它在屏幕上顯示輸出。例如:#include#includevoid main()void main() cout”Hello.n”;cout”Hello.n”; 與輸入一樣,這里的插入操作符與輸入一樣,這里的插入操作符“”與移位運(yùn)與移位運(yùn)算符算符“”是同樣的符號(hào),但這種符號(hào)在不同的是同樣的符號(hào),但這種符號(hào)在不同的地方其含義是不一樣的。地方其含義是不一樣的。 在在C+程序中,程序中,cin與與cout允許將任何基本數(shù)據(jù)類(lèi)型的名字或值傳給流。允許將任何基本數(shù)據(jù)類(lèi)型的名字
8、或值傳給流。而且書(shū)寫(xiě)格式較靈活,可以在同一行中串連書(shū)寫(xiě),也可以分寫(xiě)在幾行,提而且書(shū)寫(xiě)格式較靈活,可以在同一行中串連書(shū)寫(xiě),也可以分寫(xiě)在幾行,提高可讀性。高可讀性。例如:例如: cout”hello”; cout3; coutendl;等價(jià)于:等價(jià)于: cout”hello”3endl;也等價(jià)于:也等價(jià)于: cout”hello” /注意:行末無(wú)分號(hào)注意:行末無(wú)分號(hào) 3 /行末無(wú)分號(hào)行末無(wú)分號(hào) ab; /cin可分辨不同的抽取變量類(lèi)型可分辨不同的抽取變量類(lèi)型 用控制符(用控制符(manipulators)可以對(duì))可以對(duì)I/O流的格式進(jìn)行控制。流的格式進(jìn)行控制。C+在頭文件在頭文件iomanip.h
9、中定義了控制符對(duì)象,可以直中定義了控制符對(duì)象,可以直接將這些控制符嵌入到接將這些控制符嵌入到I/O語(yǔ)句中進(jìn)行格語(yǔ)句中進(jìn)行格式控制。在使用這些控制符時(shí),要在程序式控制。在使用這些控制符時(shí),要在程序的開(kāi)頭包含頭文件的開(kāi)頭包含頭文件iomanip.h。 表表2.2-1列出了常用的列出了常用的I/O流控制符。流控制符。 控制符含義dec數(shù)值數(shù)據(jù)采用十進(jìn)制表示hex數(shù)值數(shù)據(jù)采用十六進(jìn)制表示oct數(shù)值數(shù)據(jù)采用八進(jìn)制表示setw(n)設(shè)置域?qū)挒閚個(gè)字符setprecision(n)設(shè)置浮點(diǎn)數(shù)的小數(shù)位數(shù)(包括小數(shù)點(diǎn))setioflags(ios:uppercase)十六進(jìn)制數(shù)大寫(xiě)輸出setioflags(io
10、s:lowercase)十六進(jìn)制數(shù)小寫(xiě)輸出setiosflags(ios:left)左對(duì)齊setiosflags(ios:right)右對(duì)齊setiosflags(ios:showpos)設(shè)置正、負(fù)符號(hào)的顯示setfill(c)設(shè)置填充字符為cendl插入換行符,并刷新流#include “iostream.h” /例例2.2-1void main() int a=1001; cout”默認(rèn)下:默認(rèn)下:”aendl; cout”十進(jìn)制:十進(jìn)制:”decaendl; cout”八進(jìn)制:八進(jìn)制:”octaendl; cout”十六進(jìn)制:十六進(jìn)制:”hexaendl; 此程序的運(yùn)行結(jié)果為:此程序的運(yùn)
11、行結(jié)果為:默認(rèn)下:默認(rèn)下:1001十進(jìn)制:十進(jìn)制:1001八進(jìn)制:八進(jìn)制:1751十六進(jìn)制:十六進(jìn)制:3e9#include /例例2.2-2#includevoid main()int a=1234567890; /C+的的int型變量占型變量占4個(gè)字節(jié)個(gè)字節(jié) double b=123.45; coutsetw(10)aendl; coutsetw(10)bendl; coutsetw(8)bendl; coutsetw(6)bendl; coutsetw(4)bendl;此程序的運(yùn)行結(jié)果為:此程序的運(yùn)行結(jié)果為:1234567890 123.45 123.45123.45123.45 #in
12、clude /例例2.2-3#includevoid main() double a=1.234567,b=1234.567; coutsetprecision(3)aendl; coutsetprecision(3)bendl;結(jié)果:結(jié)果: 1.23 1.23e+003共共3位有效數(shù)字。當(dāng)小數(shù)位數(shù)截短顯示時(shí),進(jìn)行四舍五入處理。位有效數(shù)字。當(dāng)小數(shù)位數(shù)截短顯示時(shí),進(jìn)行四舍五入處理。 C+默認(rèn)的輸出流數(shù)值的有效位是默認(rèn)的輸出流數(shù)值的有效位是6。 默認(rèn)情況下,默認(rèn)情況下,C+程序的程序的I/O流以左對(duì)齊流以左對(duì)齊方式顯示輸出的內(nèi)容。使用控制符方式顯示輸出的內(nèi)容。使用控制符setiosflags(io
13、s:left)和)和setiosflags(ios:right),可以控制),可以控制輸出內(nèi)容的左、右對(duì)齊方式。輸出內(nèi)容的左、右對(duì)齊方式。setiosflags(ios:left)和)和setiosflags(ios:right)控制符也在)控制符也在頭文件頭文件iomanip.h中定義。中定義。#include /例例2.2-4#includevoid main() cout10” ”-20endl; coutsetiosflags(ios:showpos)30” ” -40endl;此程序的運(yùn)行結(jié)果為:此程序的運(yùn)行結(jié)果為:10 -20+30 -40 #include /例例2.2-5#in
14、cludevoid main() coutsetfill(*)setw(4)12endl;此程序的運(yùn)行結(jié)果為此程序的運(yùn)行結(jié)果為:*12 C+語(yǔ)言允許把一組語(yǔ)句用一對(duì)花括號(hào)括起來(lái),語(yǔ)言允許把一組語(yǔ)句用一對(duì)花括號(hào)括起來(lái),構(gòu)成一個(gè)復(fù)合語(yǔ)句。例如:構(gòu)成一個(gè)復(fù)合語(yǔ)句。例如: int a; a=1+2; 請(qǐng)注意:一個(gè)復(fù)合語(yǔ)句的右花括號(hào)請(qǐng)注意:一個(gè)復(fù)合語(yǔ)句的右花括號(hào)“”之后不能之后不能再寫(xiě)分號(hào)。再寫(xiě)分號(hào)。 復(fù)合語(yǔ)句也稱(chēng)為分程序,是若干條語(yǔ)句的一個(gè)集復(fù)合語(yǔ)句也稱(chēng)為分程序,是若干條語(yǔ)句的一個(gè)集合,它在語(yǔ)法上是一個(gè)整體,相當(dāng)于一個(gè)語(yǔ)句。合,它在語(yǔ)法上是一個(gè)整體,相當(dāng)于一個(gè)語(yǔ)句。在分程序中定義的變量只在此分程序中有
15、效。在分程序中定義的變量只在此分程序中有效。 選擇語(yǔ)句又稱(chēng)為分支語(yǔ)句,它通過(guò)對(duì)給定選擇語(yǔ)句又稱(chēng)為分支語(yǔ)句,它通過(guò)對(duì)給定的條件進(jìn)行判斷,從而決定執(zhí)行兩個(gè)或多的條件進(jìn)行判斷,從而決定執(zhí)行兩個(gè)或多個(gè)分支中的哪一支。因此,在編寫(xiě)選擇語(yǔ)個(gè)分支中的哪一支。因此,在編寫(xiě)選擇語(yǔ)句之前,應(yīng)該首先明確判斷條件是什么,句之前,應(yīng)該首先明確判斷條件是什么,并確定當(dāng)判斷結(jié)果為并確定當(dāng)判斷結(jié)果為“真真”或或“假假”時(shí)應(yīng)時(shí)應(yīng)分別執(zhí)行什么樣的操作(算法)。分別執(zhí)行什么樣的操作(算法)。 C+程序中提供的選擇語(yǔ)句有兩種:程序中提供的選擇語(yǔ)句有兩種:ifelse語(yǔ)句和語(yǔ)句和switch語(yǔ)句。語(yǔ)句。(1)單分支)單分支語(yǔ)句語(yǔ)句 格
16、式:格式: if (條件表達(dá)式)(條件表達(dá)式) 或:或: if (條件表達(dá)式)(條件表達(dá)式) 語(yǔ)句;語(yǔ)句; 語(yǔ)句序列;語(yǔ)句序列; 功能:如果條件表達(dá)式的值為真,則執(zhí)行后面的功能:如果條件表達(dá)式的值為真,則執(zhí)行后面的語(yǔ)句。語(yǔ)句。 當(dāng)語(yǔ)句序列只包含一條語(yǔ)句時(shí),包圍該語(yǔ)句序列當(dāng)語(yǔ)句序列只包含一條語(yǔ)句時(shí),包圍該語(yǔ)句序列的花括號(hào)可以省略。的花括號(hào)可以省略。 判斷用戶(hù)的輸入,如果輸入的數(shù)值大于判斷用戶(hù)的輸入,如果輸入的數(shù)值大于0,則在,則在屏幕上顯示屏幕上顯示“正數(shù)正數(shù)”。#includevoid main() int a; cina; if(a0) cout”正數(shù)正數(shù)”endl;格式:格式:if (條件
17、表達(dá)式)(條件表達(dá)式) 語(yǔ)句序列語(yǔ)句序列1;else 語(yǔ)句序列語(yǔ)句序列2;功能:如果功能:如果“條件表達(dá)式條件表達(dá)式”的的判斷結(jié)果為真,則執(zhí)行語(yǔ)句序判斷結(jié)果為真,則執(zhí)行語(yǔ)句序列列1;否則,執(zhí)行語(yǔ)句序列;否則,執(zhí)行語(yǔ)句序列2。 條件表達(dá)式 語(yǔ)句序列 1 語(yǔ)句序列 2 Y N 判斷用戶(hù)的輸入,如果輸入的數(shù)值大于判斷用戶(hù)的輸入,如果輸入的數(shù)值大于0,則在屏幕上顯,則在屏幕上顯示示“正數(shù)正數(shù)”;否則在屏幕上顯示;否則在屏幕上顯示“不是正數(shù)不是正數(shù)”。#includevoid main() int a; cina; if(a0) cout”正數(shù)正數(shù)”endl; else cout”不是正數(shù)不是正數(shù)”en
18、dl; if 語(yǔ)句內(nèi)還可以使用語(yǔ)句內(nèi)還可以使用if語(yǔ)句,這樣就構(gòu)成了語(yǔ)句,這樣就構(gòu)成了if語(yǔ)句的嵌套。語(yǔ)句的嵌套。 當(dāng)多個(gè)當(dāng)多個(gè)ifelse語(yǔ)句嵌套時(shí),為了防止出語(yǔ)句嵌套時(shí),為了防止出現(xiàn)二義性,現(xiàn)二義性,C+規(guī)定,規(guī)定,else與最近的第一與最近的第一個(gè)沒(méi)有配套的個(gè)沒(méi)有配套的if配套。配套。 #include void main( ) long a,b,c,max; cout”輸入三個(gè)數(shù)輸入三個(gè)數(shù)”abc; if (ab) if (bc) max=c; else max=b; elseif (ac) max=c;else max=a; cout“max=“maxendl; 當(dāng)多個(gè)當(dāng)多個(gè)ifel
19、se語(yǔ)句嵌套時(shí),在容易誤解的地方可以按照語(yǔ)句嵌套時(shí),在容易誤解的地方可以按照語(yǔ)法關(guān)系加上花括號(hào)來(lái)標(biāo)識(shí)邏輯關(guān)系的正確性。語(yǔ)法關(guān)系加上花括號(hào)來(lái)標(biāo)識(shí)邏輯關(guān)系的正確性。 如上例可以改寫(xiě)為:如上例可以改寫(xiě)為: if (ab) if (bc) max=c; else max=b; elseif (ac) max=c;else max=a; switch語(yǔ)句是多分支的選擇語(yǔ)句。嵌套的語(yǔ)句是多分支的選擇語(yǔ)句。嵌套的if語(yǔ)句可以處語(yǔ)句可以處理多分支選擇。但是,用理多分支選擇。但是,用switch語(yǔ)句更加方便、直觀。語(yǔ)句更加方便、直觀。 switch語(yǔ)句的語(yǔ)法格式為:語(yǔ)句的語(yǔ)法格式為: switch (整數(shù)表達(dá)式
20、)(整數(shù)表達(dá)式) case 常量表達(dá)式常量表達(dá)式1:; case 常量表達(dá)式常量表達(dá)式2:; case 常量表達(dá)式常量表達(dá)式n:; default:; switch語(yǔ)句的執(zhí)行順序是:首先對(duì)語(yǔ)句的執(zhí)行順序是:首先對(duì)“整數(shù)表達(dá)整數(shù)表達(dá)式式”進(jìn)行計(jì)算,得到一個(gè)整型常量結(jié)果,然后從進(jìn)行計(jì)算,得到一個(gè)整型常量結(jié)果,然后從上到下尋找與此結(jié)果相匹配的常量表達(dá)式所在的上到下尋找與此結(jié)果相匹配的常量表達(dá)式所在的case語(yǔ)句,以此作為入口,開(kāi)始順序執(zhí)行入口處語(yǔ)句,以此作為入口,開(kāi)始順序執(zhí)行入口處后面的各語(yǔ)句,直到遇到后面的各語(yǔ)句,直到遇到break語(yǔ)句,才結(jié)束語(yǔ)句,才結(jié)束switch語(yǔ)句,轉(zhuǎn)而執(zhí)行語(yǔ)句,轉(zhuǎn)而執(zhí)行s
21、witch結(jié)構(gòu)后的其他語(yǔ)結(jié)構(gòu)后的其他語(yǔ)句。如果沒(méi)有找到與此結(jié)果相匹配的常量表達(dá)式,句。如果沒(méi)有找到與此結(jié)果相匹配的常量表達(dá)式,則從則從default:處開(kāi)始執(zhí)行語(yǔ)句序列:處開(kāi)始執(zhí)行語(yǔ)句序列n+1。#include void main ( ) int sco, grade; coutsco; grade=sco/10; switch (grade) case 10: case 9: cout”優(yōu)優(yōu)”; break; case 8: cout”良良”; break; case 7: cout”中中”; break; case 6: cout”及格及格”; break; case 5: case 4
22、: case 3: case 2: case 1: case 0: cout”不及格不及格”; break; default :cout”輸入錯(cuò)誤輸入錯(cuò)誤n”; break; /break 可省略可省略 (1)default語(yǔ)句是可缺省的。語(yǔ)句是可缺省的。(2)switch后面括號(hào)中的表達(dá)式只能是整型、字符型或后面括號(hào)中的表達(dá)式只能是整型、字符型或枚舉型表達(dá)式。枚舉型表達(dá)式。(3)在各個(gè)分支中的)在各個(gè)分支中的break語(yǔ)句起著退出語(yǔ)句起著退出switch語(yǔ)句的作用。語(yǔ)句的作用。 (4)case語(yǔ)句起標(biāo)號(hào)的作用。標(biāo)號(hào)不能重名語(yǔ)句起標(biāo)號(hào)的作用。標(biāo)號(hào)不能重名 。(5)可以使多個(gè))可以使多個(gè)case
23、語(yǔ)句共用一組語(yǔ)句序列。語(yǔ)句共用一組語(yǔ)句序列。 (6)各個(gè))各個(gè)case(包括(包括default)語(yǔ)句的出現(xiàn)次序可以任意。)語(yǔ)句的出現(xiàn)次序可以任意。(7)每個(gè))每個(gè)case語(yǔ)句中不必用語(yǔ)句中不必用 ,而整體的,而整體的switch結(jié)構(gòu)一定要結(jié)構(gòu)一定要寫(xiě)一對(duì)花括號(hào)寫(xiě)一對(duì)花括號(hào) 。(8)switch結(jié)構(gòu)也可以嵌套。結(jié)構(gòu)也可以嵌套。 C + + 提 供 了 三 種 循 環(huán) 控 制 語(yǔ) 句 :提 供 了 三 種 循 環(huán) 控 制 語(yǔ) 句 : w h i l e 語(yǔ) 句 ,語(yǔ) 句 ,dowhile語(yǔ)句,語(yǔ)句,for語(yǔ)句。三種語(yǔ)句都由相似的三部分語(yǔ)句。三種語(yǔ)句都由相似的三部分組成:進(jìn)入循環(huán)的條件,循環(huán)體,退
24、出循環(huán)的條件;完成組成:進(jìn)入循環(huán)的條件,循環(huán)體,退出循環(huán)的條件;完成的功能也類(lèi)似。所不同的只是三者進(jìn)入與退出循環(huán)的方式的功能也類(lèi)似。所不同的只是三者進(jìn)入與退出循環(huán)的方式不同。不同。 while語(yǔ)句:當(dāng)條件滿(mǎn)足時(shí)進(jìn)入,重復(fù)執(zhí)行循環(huán)體,直到語(yǔ)句:當(dāng)條件滿(mǎn)足時(shí)進(jìn)入,重復(fù)執(zhí)行循環(huán)體,直到條件不滿(mǎn)足時(shí)退出。條件不滿(mǎn)足時(shí)退出。 dowhile語(yǔ)句:無(wú)條件進(jìn)入,執(zhí)行一次循環(huán)體后判斷語(yǔ)句:無(wú)條件進(jìn)入,執(zhí)行一次循環(huán)體后判斷是否滿(mǎn)足條件,當(dāng)條件滿(mǎn)足時(shí)重復(fù)執(zhí)行循環(huán)體,直到條件是否滿(mǎn)足條件,當(dāng)條件滿(mǎn)足時(shí)重復(fù)執(zhí)行循環(huán)體,直到條件不滿(mǎn)足時(shí)退出。不滿(mǎn)足時(shí)退出。 for語(yǔ)句:當(dāng)循環(huán)變量在指定范圍內(nèi)變化時(shí),重復(fù)執(zhí)行循語(yǔ)句:當(dāng)循
25、環(huán)變量在指定范圍內(nèi)變化時(shí),重復(fù)執(zhí)行循環(huán)體,直到循環(huán)變量超出了指定的范圍時(shí)退出。環(huán)體,直到循環(huán)變量超出了指定的范圍時(shí)退出。 格式:格式: 功能:功能: while (條件表達(dá)式)(條件表達(dá)式)循環(huán)體;循環(huán)體; while語(yǔ)句的四個(gè)要素:循環(huán)變量語(yǔ)句的四個(gè)要素:循環(huán)變量初始化、繼續(xù)條件、循環(huán)體、改變初始化、繼續(xù)條件、循環(huán)體、改變循環(huán)變量的表達(dá)式。循環(huán)變量的表達(dá)式。 循環(huán)變量初始化 繼續(xù)條件 循環(huán)體 改變循環(huán)變量 0 非 0 #include void main( ) int i=1,sum=0;while (i=100)sum=sum+i;i=i+2;cout”sum=”sumendl;說(shuō)明:如果
26、循環(huán)體包含一個(gè)以上的語(yǔ)句,就構(gòu)成復(fù)合語(yǔ)句,應(yīng)該用花說(shuō)明:如果循環(huán)體包含一個(gè)以上的語(yǔ)句,就構(gòu)成復(fù)合語(yǔ)句,應(yīng)該用花括號(hào)擴(kuò)起來(lái)。括號(hào)擴(kuò)起來(lái)。(1)while (c=getchar( )!=Y&c!=y&c!=N&c!=n );(2)while (true) . (3)while (i ) . (4)int i=1,sum=0; while (i=100) sum+=i+; 格式:格式: 功能:功能:do 循環(huán)體循環(huán)體while (條件表達(dá)式);(條件表達(dá)式); 說(shuō)明:循環(huán)體至少執(zhí)行一次。說(shuō)明:循環(huán)體至少執(zhí)行一次。當(dāng)循環(huán)體有多個(gè)語(yǔ)句時(shí)必須加當(dāng)循環(huán)體有多個(gè)語(yǔ)句時(shí)必須加花括號(hào)?;ɡ?/p>
27、號(hào)。 循環(huán)變量初始化 繼續(xù)條件 循環(huán)體 改變循環(huán)變量 假 真 #include void main( ) int i=1,sum=0; do sum=sum+i; i=i+2; while (i=100); cout ”sum=”sum; 格式:格式: for (表達(dá)式表達(dá)式1;表達(dá)式;表達(dá)式2;表達(dá)式;表達(dá)式3) 循環(huán)體循環(huán)體; 執(zhí)行過(guò)程如下:執(zhí)行過(guò)程如下:(1)先求解表達(dá)式)先求解表達(dá)式1,表達(dá)式,表達(dá)式1只執(zhí)行一次,一般只執(zhí)行一次,一般是賦值語(yǔ)句,用于初始化變量。是賦值語(yǔ)句,用于初始化變量。(2)求解表達(dá)式)求解表達(dá)式2,若為假(,若為假(0),則結(jié)束循環(huán)。),則結(jié)束循環(huán)。(3)執(zhí)行循環(huán)
28、體。)執(zhí)行循環(huán)體。(4)執(zhí)行表達(dá)式)執(zhí)行表達(dá)式3。(5)轉(zhuǎn)回()轉(zhuǎn)回(2)。)。 表達(dá)式1 表達(dá)式2 循環(huán)體 假 真 表達(dá)式3 #include void main( ) for (int i=1,sum=0; i=100;i+) sum+=i; cout ”sum=”sum; 表達(dá)式表達(dá)式1,表達(dá)式,表達(dá)式2,表達(dá)式,表達(dá)式3和循環(huán)體可以省略,例如上述和循環(huán)體可以省略,例如上述for語(yǔ)句語(yǔ)句可以改為:可以改為:(1) int i=1,sum=0; /表達(dá)式表達(dá)式1放在放在for前面。前面。 for (;i=100;i+) sum+=i;(2) int i=1,sum=0; for (;i10
29、0) /強(qiáng)制結(jié)束循環(huán)強(qiáng)制結(jié)束循環(huán) break; (4) for (int i=1,sum=0; i=100;sum+=i+); /省略循環(huán)體省略循環(huán)體(5) for (int i=1,sum=0; sum+=i+, i=100;); /省略表達(dá)式省略表達(dá)式3和循環(huán)體。和循環(huán)體。 在在C+C+中,除了提供順序執(zhí)行和選擇控制、循環(huán)控中,除了提供順序執(zhí)行和選擇控制、循環(huán)控制語(yǔ)句外,還提供了一類(lèi)跳轉(zhuǎn)語(yǔ)句。這類(lèi)語(yǔ)句的制語(yǔ)句外,還提供了一類(lèi)跳轉(zhuǎn)語(yǔ)句。這類(lèi)語(yǔ)句的總體功能是中斷當(dāng)前某段程序的執(zhí)行,并跳轉(zhuǎn)到總體功能是中斷當(dāng)前某段程序的執(zhí)行,并跳轉(zhuǎn)到程序的其他位置繼續(xù)執(zhí)行。常見(jiàn)的跳轉(zhuǎn)語(yǔ)句有三程序的其他位置繼續(xù)執(zhí)行
30、。常見(jiàn)的跳轉(zhuǎn)語(yǔ)句有三種:種:breakbreak語(yǔ)句、語(yǔ)句、continuecontinue語(yǔ)句與語(yǔ)句與gotogoto語(yǔ)句。其中,語(yǔ)句。其中,前兩種語(yǔ)句不允許用戶(hù)自己指定跳轉(zhuǎn)到哪里,而前兩種語(yǔ)句不允許用戶(hù)自己指定跳轉(zhuǎn)到哪里,而是必須按照相應(yīng)的原則跳轉(zhuǎn),而后一種語(yǔ)句可以是必須按照相應(yīng)的原則跳轉(zhuǎn),而后一種語(yǔ)句可以由用戶(hù)事先指定欲跳轉(zhuǎn)到的位置,按照用戶(hù)的需由用戶(hù)事先指定欲跳轉(zhuǎn)到的位置,按照用戶(hù)的需要進(jìn)行跳轉(zhuǎn)。要進(jìn)行跳轉(zhuǎn)。 break語(yǔ)句的作用是:結(jié)束當(dāng)前正在執(zhí)行語(yǔ)句的作用是:結(jié)束當(dāng)前正在執(zhí)行的循環(huán)(的循環(huán)(for、while、dowhile)或)或多路分支(多路分支(switch)程序結(jié)構(gòu),轉(zhuǎn)而執(zhí)行)程序結(jié)構(gòu),轉(zhuǎn)而執(zhí)行這些結(jié)構(gòu)后面的語(yǔ)句。這些結(jié)構(gòu)后面的語(yǔ)句。 在在switch語(yǔ)句中,語(yǔ)句中,break用來(lái)使流程跳出用來(lái)使流程跳出switch語(yǔ)句,繼續(xù)執(zhí)行語(yǔ)句,繼續(xù)執(zhí)行switch后的語(yǔ)句。后的語(yǔ)句。 在循環(huán)語(yǔ)句中,在循環(huán)語(yǔ)句中,break用來(lái)跳出本次循環(huán)。用來(lái)跳出本次循環(huán)。#include void main( ) int i=1,sum=0; while (i20) break; couti; continue語(yǔ)句的作用是:結(jié)束當(dāng)前正在執(zhí)行的語(yǔ)句的作用是:結(jié)束當(dāng)前正在執(zhí)行的這一次循環(huán)(這一次循環(huán)(for、while、dowh
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 作協(xié)議合同范本
- 關(guān)于管道疏通合同范本
- 別墅弱電智能合同范本
- 產(chǎn)品合同范本模板寫(xiě)
- 農(nóng)資代理合同范本
- 上?;檠缪悠诤贤侗?/a>
- 上海小時(shí)工外包合同范本
- 個(gè)人續(xù)簽合同范本
- 農(nóng)村開(kāi)發(fā)項(xiàng)目合同范本
- 寫(xiě)電子產(chǎn)品合同范本
- 玩具公司職位說(shuō)明書(shū)匯編
- 平面設(shè)計(jì)創(chuàng)意與制作課件
- 化學(xué)專(zhuān)業(yè)英語(yǔ)元素周期表
- 新湘版小學(xué)科學(xué)四年級(jí)下冊(cè)教案(全冊(cè))
- Q∕SY 06349-2019 油氣輸送管道線路工程施工技術(shù)規(guī)范
- 腎內(nèi)科臨床診療規(guī)范(南方醫(yī)院)
- 實(shí)驗(yàn)心理學(xué)課件(周愛(ài)保博士版)
- 04 第三章 環(huán)境污染物的生物轉(zhuǎn)運(yùn)和生物轉(zhuǎn)化 -毒物動(dòng)力學(xué)
- 珍愛(ài)生命 安全第一 中小學(xué)主題教育班會(huì)
- 殺蟲(chóng)雙(單)合成反應(yīng)的研究及其工藝條件的優(yōu)化
- 膨脹螺栓選型計(jì)算_20160606
評(píng)論
0/150
提交評(píng)論