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

下載本文檔

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

文檔簡介

第3章控制結(jié)構(gòu)3.1算法的基本知識(shí)3.2順序結(jié)構(gòu)程序設(shè)計(jì)3.3選擇結(jié)構(gòu)程序設(shè)計(jì)3.4循環(huán)結(jié)構(gòu)程序設(shè)計(jì)3.5轉(zhuǎn)移控制語句3.6綜合實(shí)例學(xué)習(xí)目標(biāo)理解算法的特性和要素掌握常用的算法描述方法3.1算法的基本知識(shí)廣義上講,算法是解決某一問題的方法和步驟。狹義上,算法指的是計(jì)算機(jī)算法,即對(duì)特定問題求解步驟的一種描述,它是計(jì)算機(jī)指令的有限序列,其中每一條指令表示計(jì)算機(jī)可以進(jìn)行的一個(gè)或多個(gè)操作。算法的概念3.1算法的基本知識(shí)算法的特性3.1.1算法的特性和要素(1)有窮性(2)確定性(3)可行性(4)有零個(gè)或多個(gè)輸入(5)有一個(gè)或多個(gè)輸出算法的要素3.1.1算法的特性和要素一個(gè)計(jì)算機(jī)所能執(zhí)行的算法必須具備以下兩個(gè)要素:

(1)基本操作即構(gòu)成算法的操作取自哪個(gè)操作集。計(jì)算機(jī)操作主要包括:算術(shù)運(yùn)算、關(guān)系運(yùn)算、邏輯運(yùn)算、函數(shù)運(yùn)算、位運(yùn)算及I/O操作等。由于不同的計(jì)算機(jī)語言所對(duì)應(yīng)的操作集略有不同,所以在設(shè)計(jì)算法前,應(yīng)先確定編程語言。

(2)控制結(jié)構(gòu)每個(gè)算法都是由一系列的操作組成。同一操作序列,按不同的順序執(zhí)行,就會(huì)得到不同的結(jié)果??刂平Y(jié)構(gòu)即如何控制組成算法的各操作的執(zhí)行順序。一個(gè)算法只能由3種結(jié)構(gòu)組成,即順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。3.1.2算法的描述算法的描述方法有很多種,最常用的有自然語言、偽代碼、流程圖、N-S圖、PAD圖和計(jì)算機(jī)語言等。自然語言3.1.2算法的描述自然語言是人們?cè)谌粘I?、工作、學(xué)習(xí)中通用的語言,一般不需要專門學(xué)習(xí)和訓(xùn)練就能理解用這種語言所表達(dá)的意思。但用自然語言描述程序(或算法)的流程時(shí),一般要求直接而簡練,盡量減少語言上的修飾。實(shí)例分析3.1.2算法的描述

用自然語言描述sum=1+2+3+…+99+100的算法。①定義變量sum,并置初始值為0。②計(jì)算1+2+3+…+99+100的和,并將結(jié)果賦給sum。③輸出變量sum的值。

流程圖3.1.2算法的描述流程圖是一種傳統(tǒng)的算法表示方法,用一些圖框表示各種操作,用流程線表示操作的執(zhí)行順序。用圖形表示算法,直觀形象、易于理解。ANSI(AmericanNationalStandardInstitute)規(guī)定了一些常用流程圖符號(hào)。實(shí)例分析3.1.2算法的描述用流圖描述sum=1+2+3+…+99+100的算法

N-S圖3.1.2算法的描述

N-S圖是由I.Nassi和B.Shneiderman于1973年共同提出的一種結(jié)構(gòu)化描述方法。在這種流圖圖中,去掉了所有的流程線,算法寫在一個(gè)矩形框內(nèi),在該矩形框內(nèi)還可以包括其他的矩形框。N-S流程圖用以下的流程圖符號(hào)。N-S圖3.1.2算法的描述實(shí)例分析3.1.2算法的描述用N-S圖描述sum=1+2+3+…+99+100的算法

程序設(shè)計(jì)語言3.1.2算法的描述對(duì)于采用自然語言、流程圖和N-S圖描述的算法,計(jì)算機(jī)是不能執(zhí)行的。要讓計(jì)算機(jī)執(zhí)行一個(gè)算法,必須把該算法轉(zhuǎn)換成計(jì)算機(jī)語言。用計(jì)算機(jī)語言表示算法必須嚴(yán)格遵循所使用語言的語法規(guī)則。實(shí)例分析3.1.2算法的描述【例3-1】編程求1+2+3+…+99+100的累加和。//FileName:chap3_1.c#include<stdio.h>intmain(){ inti,sum; i=1;sum=0; while(i<=100) {

sum=sum+i;

i++; } printf("Thesumis%d\n",sum); return0;}程序運(yùn)行結(jié)果如下:Thesumis5050學(xué)習(xí)目標(biāo)熟練掌握C語言中的基本語句掌握格式化輸入輸出函數(shù)的基本用法3.2順序結(jié)構(gòu)程序設(shè)計(jì)語句構(gòu)成3.2.1表達(dá)式語句表達(dá)式語句是由表達(dá)式加上分號(hào)(;)組成。其一般形式如下:

表達(dá)式;這里的表達(dá)式是指C語言中任何合法的C表達(dá)式。例如:x=y+z;//賦值表達(dá)式語句y+z;

//加法運(yùn)算語句,但計(jì)算結(jié)果不能保留,無實(shí)際意義i++;

//自增1語句,即i的值增1

注意事項(xiàng)3.2.1表達(dá)式語句使用賦值語句時(shí)需要注意以下幾點(diǎn)。

(1)在賦值符“=”右邊的表達(dá)式也可以是一個(gè)賦值表達(dá)式。例如:

a=b=c=5;

(2)注意賦值表達(dá)式和賦值語句的區(qū)別。 賦值表達(dá)式是一種表達(dá)式,它可以出現(xiàn)在任何允許表達(dá)式出現(xiàn)的地方,而賦值語句則不能。語句構(gòu)成3.2.2函數(shù)調(diào)用語句函數(shù)是C程序的基本組成單位,一個(gè)函數(shù)的執(zhí)行是通過在程序中調(diào)用這個(gè)函數(shù)來實(shí)現(xiàn)的,調(diào)用函數(shù)的操作由C語句來完成,通常稱為函數(shù)調(diào)用語句。其一般形式如下:

函數(shù)名(參數(shù)表);例如,“printf("hello!");”就是一個(gè)函數(shù)調(diào)用語句。

注意事項(xiàng)3.2.2函數(shù)調(diào)用語句一個(gè)完整的計(jì)算機(jī)程序應(yīng)具備輸入輸出功能,C語言本身并不提供數(shù)據(jù)的輸入輸出語句,有關(guān)的輸入輸出操作都是通過調(diào)用C標(biāo)準(zhǔn)庫函數(shù)來實(shí)現(xiàn)的。C語言提供的輸入輸出標(biāo)準(zhǔn)庫函數(shù)有g(shù)etchar()、putchar()、scanf()和printf()等。引用C語言標(biāo)準(zhǔn)庫函數(shù)時(shí),必須用編譯預(yù)處理命令“#include”將頭文件“stdio.h”包含到用戶源程序中,即在程序的開始寫一行命令#include<stdio.h>或者#include”stdio.h”。

getchar()3.2.2函數(shù)調(diào)用語句字符輸入函數(shù)的一般形式如下:

intgetchar()功能:接收從終端輸入的一個(gè)字符,并返回其ASCII碼值。例如:

intch=getchar();//從輸入終端(如鍵盤)接收一個(gè)字符并把它賦給ch變量。

putchar()3.2.2函數(shù)調(diào)用語句字符輸出函數(shù)的一般形式如下:

intputchar(charch)

功能:向終端輸出一個(gè)字符,并返回該字符的ASCII碼值。

實(shí)例分析3.2.2函數(shù)調(diào)用語句//FileName:chap3_2.c#include<stdio.h>intmain(){

charch1,ch2,ch3,ch4;

ch1=getchar();

ch2=getchar();

ch3=getchar();

ch4=getchar();

putchar(ch1); putchar('\n');

putchar(ch2); putchar('\n');

putchar(ch3); putchar('\n');

putchar(ch4);

return0;}程序運(yùn)行結(jié)果如下:C++↙C++printf()3.2.2函數(shù)調(diào)用語句格式化輸出函數(shù)的一般形式如下:

intprintf(char*format[,argument,...]);

功能:函數(shù)printf將一組參數(shù),按format給定的格式,把數(shù)據(jù)格式化并且輸出到標(biāo)準(zhǔn)輸出設(shè)備。若出錯(cuò),則返回負(fù)數(shù)。向終端輸出一個(gè)字符,并返回該字符的ASCII碼值。函數(shù)調(diào)用的一般形式為:

printf("格式控制字符串",輸出項(xiàng)列表);

3.2.2函數(shù)調(diào)用語句%[標(biāo)識(shí)][寬度][.精度]格式字符printf()方括號(hào)表示該項(xiàng)可有可無◆-:左對(duì)齊輸出,缺省為右對(duì)齊輸出◆+:正數(shù)輸出加號(hào)(+),負(fù)數(shù)輸出減號(hào)(-)◆空格:正數(shù)輸出空格代替加號(hào)(+),負(fù)數(shù)輸出減號(hào)(-)。十進(jìn)制整數(shù),指定輸出寬度。▼指定寬度>實(shí)際寬度,補(bǔ)空格。▼指定寬度≤實(shí)際寬度,按實(shí)際輸出。▼不指定寬度,按實(shí)際輸出。輸出精度指示符?!魧?duì)整數(shù),表示至少要輸出的數(shù)字個(gè)數(shù),不足補(bǔ)0,多則原樣輸出?!魧?duì)實(shí)數(shù),表示小數(shù)點(diǎn)后至多輸出的數(shù)字個(gè)數(shù),不足補(bǔ)0,多則舍入處理?!魧?duì)字符串,表示最多輸出的字符個(gè)數(shù),不足補(bǔ)空格,多則丟棄。整型數(shù)據(jù)d/i以有符號(hào)十進(jìn)制形式輸出整型數(shù)o以無符號(hào)八進(jìn)制形式輸出整型數(shù)x/X以無符號(hào)十六進(jìn)制形式輸出整型數(shù)u以無符號(hào)十進(jìn)制形式輸出整型數(shù)實(shí)型數(shù)據(jù)f以小數(shù)形式輸出實(shí)型數(shù)e/E以指數(shù)形式輸出實(shí)型數(shù)g/G按數(shù)值寬度最小的形式輸出實(shí)型數(shù)字符型數(shù)據(jù)c輸出一個(gè)字符s輸出字符串其他%輸出字符%本身scanf()3.2.2函數(shù)調(diào)用語句格式化輸入函數(shù)的一般形式如下:

intscanf(格式控制字符串,地址列表)功能:按照格式控制的要求,將從終端輸入的數(shù)據(jù)賦值給地址列表中的各個(gè)變量。格式控制字符串的含義和函數(shù)printf()中的格式控制字符串類似,地址列表列出了各變量的地址,由取地址運(yùn)算符“&”后跟變量名組成。函數(shù)調(diào)用的一般形式為:

scanf("格式控制字符串",地址列表);3.2.2函數(shù)調(diào)用語句scanf()%[*][寬度

]格式字符輸入賦值抑制字符:該格式要求輸入數(shù)據(jù),但不賦值,即在地址列表中沒有對(duì)應(yīng)有地址項(xiàng)。寬度指示符:該輸入項(xiàng)最多可輸入的字符個(gè)數(shù)。如遇空格或不可轉(zhuǎn)換的字符,讀入的字符將減少。g/G輸入指數(shù)形式的單精度實(shí)型數(shù)輸入一個(gè)字符串s輸入單個(gè)字符c字符型數(shù)據(jù)輸入指數(shù)形式的單精度實(shí)型數(shù)e輸入小數(shù)形式的單精度實(shí)型數(shù)f實(shí)型數(shù)據(jù)輸入無符號(hào)十六進(jìn)制整型數(shù)x/X輸入無符號(hào)八進(jìn)制整型數(shù)o/O輸入無符號(hào)的十進(jìn)制整型數(shù)u/U輸入十進(jìn)制整型數(shù)d/D整型數(shù)據(jù)//FileName:chap3_7.c#include<stdio.h>intmain(){

inta,b,temp;

printf("Pleaseinputab:\n");

scanf("%d%d",&a,&b);

temp=b;

b=a;

a=temp;

printf("a=%d,b=%d\n",a,b);

return0;}實(shí)例分析3.2.2函數(shù)調(diào)用語句運(yùn)行結(jié)果如下:Pleaseinputab:23↙a=3,b=2語句構(gòu)成3.2.3空語句僅由分號(hào)“;”組成的語句稱為空語句??照Z句是不執(zhí)行任何操作的語句。例如,

while(getchar()!='\n')

{

;//循環(huán)體為空語句

}空語句通常起到占位的作用,在程序沒有完全開發(fā)完成前,可用空語句占位,以便后續(xù)開發(fā)填充代碼。

語句構(gòu)成3.2.4復(fù)合語句把多個(gè)語句用大括號(hào)括起來組成的語句稱為復(fù)合語句。在語法上,復(fù)合語句相當(dāng)于單條語句,而不是多條語句。其一般形式為:

{

語句1

……

語句n

}復(fù)合語句可以放在能夠使用語句的任何地方,它建立一個(gè)新的作用域或塊。復(fù)合語句是C語言中唯一不用分號(hào)“;”結(jié)尾的語句。

輸入攝氏溫度c的值,計(jì)算華氏溫度f的值。(計(jì)算公式為:f=9*c/5+32)//FileName:chap3_8.c#include<stdio.h>intmain(){

floatc,f;

printf("Pleaseinputc:");

scanf("%f",&c);

f=9*c/5+32;

printf("f=%6.2f\n",f);

return0;}實(shí)例分析運(yùn)行結(jié)果如下:Pleaseinputc:28↙f=82.403.2順序結(jié)構(gòu)程序設(shè)計(jì)學(xué)習(xí)目標(biāo)熟練掌握if語句的各種用法掌握switch語句的用法3.3選擇結(jié)構(gòu)程序設(shè)計(jì)能夠編寫簡單的選擇結(jié)構(gòu)程序3.3.1

if語句

if語句是實(shí)現(xiàn)選擇結(jié)構(gòu)最常用的語句,其作用是根據(jù)給定的條件,判斷執(zhí)行哪些語句,要執(zhí)行的語句可能有一條或多條。if語句包括基本if語句、雙分支if語句、多分支if語句和嵌套if語句四種形式。

3.3.1

if語句基本if語句該語句的一般形式如下:

if(表達(dá)式)

語句功能:如果表達(dá)式的值為真,則執(zhí)行其后面的語句,否則不執(zhí)行該語句。

3.3.1

if語句雙分支if語句這是if語句比較完整的形式,包含一條if子句和一條else子句。該語句的一般形式如下:

if(表達(dá)式)語句1

else語句2功能:如果表達(dá)式的值為真,則執(zhí)行語句1,否則執(zhí)行語句2。

3.3.1

if語句多分支if語句該語句的一般形式如下:

if(表達(dá)式1)語句1

elseif(表達(dá)式2)

語句2

...

elseif(表達(dá)式n)

語句n

else語句n+1功能:依次判斷表達(dá)式的值,當(dāng)出現(xiàn)某個(gè)表達(dá)式的值為真時(shí),則執(zhí)行其對(duì)應(yīng)的語句,然后跳轉(zhuǎn)到整個(gè)if語句之后繼續(xù)執(zhí)行程序;如果所有的表達(dá)式均為假,則執(zhí)行else后的語句,即語句n+1。

3.3.1

if語句多分支if語句3.3.1

if語句嵌套的if語句當(dāng)if語句的操作語句中包含其他if語句時(shí),稱為嵌套的if語句。該語句的基本形式如下:

功能:如果表達(dá)式1的值為真(非0),執(zhí)行if子句的內(nèi)嵌if語句,否則執(zhí)行else子句的內(nèi)嵌if語句。內(nèi)嵌if語句就是if子句和else子句的操作語句,可以是上述if語句3種形式中的任何一種。說明:在嵌套的if語句結(jié)構(gòu)中,一定要注意else與if之間的對(duì)應(yīng)關(guān)系。在C語言中規(guī)定的對(duì)應(yīng)原則是:

else總是與它前面最近的一個(gè)尚未匹配的if相匹配。

嵌套的if語句3.3.1

if語句3.3.1

if語句實(shí)例分析編寫程序,輸入一個(gè)x的值,按以下函數(shù)計(jì)算并輸出y的值。

-1(x<0)y=0(x=0)

1(x>0)

3.3.1

if語句實(shí)例分析3.3.1

if語句實(shí)例分析//FileName:chap3_15.c#include<stdio.h>intmain(){

intx,y;

scanf("%d",&x);

if(x<0)

y=-1;

else

if(x==0)

y=0;

else

y=1;

printf("y=%d\n",y);

return0;}3.3.1

if語句實(shí)例分析求一個(gè)任意的一元二次議程ax2+bx+c=0的解。3.3.1

if語句實(shí)例分析//FileName:chap3_16.c#include<stdio.h>#include<math.h>intmain(){

floata,b,c,d,x1,x2,p,q;

scanf("%f,%f,%f",&a,&b,&c);

if(a==0)

printf("Inputerror!");

else

{

d=b*b-4*a*c;

if(d==0)

printf("x=%f\n",-b/(2*a));

elseif(d>0) {

x1=(-b+sqrt(d))/(2*a);

x2=(-b-sqrt(d))/(2*a);

printf("x1=%.2f,x2=%.2f\n",x1,x2);

} else {

p=-b/(2*a);

q=sqrt(-d/(2*a));

printf("x1=%.2f+%.2fi\n",p,q);

printf("x2=%.2f-%.2fi\n",p,q);

}

}

}3.3.2

switch語句

C語言提供了一種switch語句專門處理多分支的情形,使程序變得簡潔易懂。switch語句的一般形式如下:

switch(表達(dá)式)

{

case常量表達(dá)式1:語句塊1

case常量表達(dá)式2:語句塊2…

case常量表達(dá)式n:語句塊n

default:語句塊n+1

}功能:首先計(jì)算switch后面括號(hào)內(nèi)的“表達(dá)式”,然后依次與各個(gè)case后面的“常量表達(dá)式”的值進(jìn)行比較,當(dāng)“表達(dá)式”的值與某一個(gè)case后面的“常量表達(dá)式”的值相等時(shí),就選擇這個(gè)標(biāo)號(hào)作為入口,執(zhí)行該case子句后面的語句塊,并繼續(xù)執(zhí)行其后的所有case子句直到程序結(jié)束。如果“表達(dá)式”的值與所有case后面的“常量表達(dá)式”的值都不相等,則執(zhí)行default后面的語句。

3.3.2

switch語句實(shí)例分析輸入一個(gè)百分制成績,要求輸出對(duì)應(yīng)的成績等級(jí)。//FileName:chap3_18.c#include<stdio.h>intmain(){floatscore;inttemp;chargrade;printf("Pleaseinputthescore:");scanf("%f",&score);temp=(int)score/10;

switch(temp) {

case10:

case9:grade='A';break;

case8:grade='B';break;

case7:grade='C';break;

case6:grade='D';break;

default:grade='E';

} printf("scoreis%.2f,gradeis%c\n",score,grade); return0;}學(xué)習(xí)目標(biāo)熟練三種基本的循環(huán)控制語句掌握循環(huán)的嵌套3.4循環(huán)結(jié)構(gòu)程序設(shè)計(jì)能夠應(yīng)用基本的循環(huán)語句編寫復(fù)雜的程序3.4.1

while語句基本形式一般為關(guān)系表達(dá)式或邏輯表達(dá)式,也可以是C語言其他類型的合法表達(dá)式

用來控制循環(huán)體是否執(zhí)行稱為內(nèi)嵌語句,可以是基本語句、控制語句,也可以是復(fù)合語句是循環(huán)重復(fù)執(zhí)行的部分while(表達(dá)式)語句

3.4.1

while語句語句流程3.4.1

while語句實(shí)例分析用while循環(huán)求1~100的累加和。

3.4.1

while語句實(shí)例分析//FileName:chap3_21.c#include<stdio.h>intmain(){intsum=0,i=1;while(i<=100){sum=sum+i;i++;

}printf("sum=%d\n",sum);return0;}運(yùn)行結(jié)果如下:sum=5050注意事項(xiàng)3.4.1

while語句如果while的(表達(dá)式)值為0,則循環(huán)體一次也不執(zhí)行(例如當(dāng)i的初值=101)。在循環(huán)體中必須有使循環(huán)趨向結(jié)束的操作,否則循環(huán)將無限進(jìn)行(死循環(huán))。在循環(huán)體中,語句的先后位置必須符合邏輯,否則會(huì)影響運(yùn)算結(jié)果。

3.4.2

do-while語句基本形式do

語句

while(表達(dá)式);語句流程3.4.2

do-while語句實(shí)例分析用do…while循環(huán)求n!。3.4.2

do-while語句算法描述:(1)定義變量n,接受用戶的輸入;(2)定義累乘器變量multi,multi←1;(3)定義變量i,i←1;(4)如果n<0,則給出相應(yīng)的提示信息;否則,如果n=0,則直接輸出變量multi的值1;

否則,執(zhí)行第5~6步。(5)如果i<=n,則循環(huán)執(zhí)行以下語句multi←multi*i,實(shí)現(xiàn)累加功能;i++;(6)輸出multi的值。實(shí)例分析3.4.2

do-while語句//FileName:chap3_24.c#include<stdio.h>intmain(){intn,i=1;longintmulti=1;

printf("pleaseinputn(n>=0):");

scanf("%d",&n);

if(n<0)

printf("invalidinput!");

elseif(n==0)

printf("%d!=%ld\n",n,multi);else

{

do

{

multi=multi*i;

i++;

}while(i<=n);

}

printf("%d!=%ld\n",n,multi);

return0;}3.4.3

for語句基本形式for(表達(dá)式1;表達(dá)式2;表達(dá)式3)

語句循環(huán)初始條件循環(huán)控制條件循環(huán)體語句流程3.4.3

for語句實(shí)例分析輸出Fibonacci數(shù)列1、1、2、3、5、8、13…的前20項(xiàng),要求每輸出5項(xiàng)后換行。3.4.3

for語句實(shí)例分析3.4.3

for語句實(shí)例分析3.4.3

for語句//FileName:chap3_29.c#include<stdio.h>intmain(){ intf1,f2,f,i; f1=f2=1; printf("%10d%10d",f1,f2);//前2項(xiàng)先輸出

for(i=3;i<=20;i++)//迭代從第3項(xiàng)開始

{

f=f1+f2;f1=f2;f2=f;

printf("%10d",f);//一行輸出夠五個(gè),就換行

if(i%5==0)

printf("\n"); } return0;}3.4.3

for語句省略表達(dá)式1、2、3,即:

for(;;)就等同于:while(1),會(huì)無限循環(huán)(死循環(huán))省略表達(dá)式1和表達(dá)式3,即:

for(;表達(dá)式2;)就等同于:while(表達(dá)式2)省略表達(dá)式2,即:

for(表達(dá)式1;;表達(dá)式3)就等同于:表達(dá)式1;while(1){…表達(dá)式3;}注意事項(xiàng)3.4.4循環(huán)的嵌套如果將一個(gè)循環(huán)語句放在另一個(gè)循環(huán)語句的循環(huán)體中,就構(gòu)成了循環(huán)的嵌套。內(nèi)嵌的循環(huán)結(jié)構(gòu)內(nèi)還可嵌套循環(huán)結(jié)構(gòu),構(gòu)成多層嵌套。3種循環(huán)語句都可以在循環(huán)嵌套中使用。

3.4.4循環(huán)的嵌套實(shí)例分析輸入n的值,計(jì)算并輸出1~n的階乘之和。3.4.4循環(huán)的嵌套實(shí)例分析3.4.4循環(huán)的嵌套實(shí)例分析//FileName:chap3_30.c#include<stdio.h>intmain(){

intn,s,i,j,t;

scanf("%d",&n);

s=0;

i=1;

while(i<=n)

{

t=1;

for(j=1;j<=i;j++)

t=t*j;

s=s+t;

i++;

}

printf("Theresultis%d\n",s);

return0;}學(xué)習(xí)目標(biāo)熟練break和continue語句的用法3.5轉(zhuǎn)移控制語句能夠應(yīng)用break和continue語句解決實(shí)際問題3.5.1

break語句基本形式

break語句除用于退出switch結(jié)構(gòu)外,還可用于由while、do…while和for構(gòu)成的循環(huán)結(jié)構(gòu)中。當(dāng)執(zhí)行循環(huán)體遇到break語句時(shí),break所在循環(huán)將立即終,從循環(huán)語句后的第一條語句開始繼續(xù)往下執(zhí)行。

break語句的一般形式如下:

break;3.5.1

break語句語句流程3.5.1

break語句實(shí)例分析算法描述:(1)接收用戶輸入的m的值;(2)循環(huán)變量賦初值i←2,循環(huán)條件i<=m-1,循環(huán)變量i++,循環(huán)執(zhí)行以下語句:如果m能被i整除,則結(jié)束循環(huán)。(3)循環(huán)結(jié)束后判斷m與i的關(guān)系,如果m等于i,則輸出m是素?cái)?shù)。否則輸出m不是素?cái)?shù)。判斷任意一個(gè)數(shù)是否為素?cái)?shù)。3.5.1

break語句實(shí)例分析//FileName:chap3_34.c#include<stdio.h>intmain(){

intm,i;

scanf

溫馨提示

  • 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)論