第3章程序控制語句_第1頁
第3章程序控制語句_第2頁
第3章程序控制語句_第3頁
第3章程序控制語句_第4頁
第3章程序控制語句_第5頁
已閱讀5頁,還剩71頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第3章

程序控制語句《C語言程序設(shè)計

》2學(xué)習(xí)目標(biāo)與要求1、了解C語言程序設(shè)計的基本方法2、掌握順序結(jié)構(gòu)的程序設(shè)計3、掌握選擇結(jié)構(gòu)的程序設(shè)計4、掌握循環(huán)結(jié)構(gòu)的程序設(shè)計《C語言程序設(shè)計

》3本章要點程序的三種基本結(jié)構(gòu)

順序結(jié)構(gòu)

選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)《C語言程序設(shè)計

》4程序的三種基本結(jié)構(gòu)C語言共有32個關(guān)鍵字,9種控制語句,程序書寫自由,主要用小寫字母表示。結(jié)構(gòu)化程序由若干個基本結(jié)構(gòu)組成。每一個基本結(jié)構(gòu)可以包含一條或若干條語句。有三種基本結(jié)構(gòu):順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。這三種基本結(jié)構(gòu)可以組成各種復(fù)雜程序。C語言中,有一組相關(guān)的控制語句,用以實現(xiàn)選擇結(jié)構(gòu)與循環(huán)結(jié)構(gòu):選擇控制語句:if、switch循環(huán)控制語句:for、while、do-while轉(zhuǎn)移控制語句:break、continue、goto《C語言程序設(shè)計

》5順序結(jié)構(gòu)順序結(jié)構(gòu)是C程序中最簡單、最基本的結(jié)構(gòu),是程序中順序執(zhí)行的語句。主要有賦值語句和輸入輸出語句。C語言本身不提供輸入輸出語句,輸入和輸出操作是由函數(shù)來實現(xiàn)的。在C標(biāo)準(zhǔn)數(shù)據(jù)庫中提供了一些輸入輸出函數(shù),例如,scanf函數(shù)、printf函數(shù)、getchar函數(shù)和putchar函數(shù)?!禖語言程序設(shè)計

》6printf函數(shù)和scanf函數(shù)為格式輸入輸出函數(shù),是標(biāo)準(zhǔn)庫函數(shù)。分別用來實現(xiàn)輸入和輸出若干個任意類型的數(shù)據(jù)。他們的函數(shù)原型在頭文件“stdio.h”《C語言程序設(shè)計

》7printf(“格式控制字符串”,輸出表列);“格式控制字符串”和輸出表列是printf函數(shù)的參數(shù)如:printf("%d,%c\n",i,c);printf函數(shù)調(diào)用的一般格式《C語言程序設(shè)計

》8①“格式控制字符串”是用雙撇號括起來的字符串,也稱“轉(zhuǎn)換控制字符串”,也包括兩種信息:*格式說明,由“%”和格式字符組成,如%d,%f等。它的作用是將輸出的數(shù)據(jù)轉(zhuǎn)換為指定的格式輸出。格式說明總是由“%”字符開始的。*普通字符,即需要原樣輸出的字符。例如上面printf函數(shù)中雙撇號內(nèi)的逗號和空格。*轉(zhuǎn)義字符,對輸出形式進行控制。例如上面printf函數(shù)中雙撇號內(nèi)的'\n'表示換行,將當(dāng)前位置移到下一行開頭。《C語言程序設(shè)計

》9②“輸出表列”是需要輸出的一些數(shù)據(jù),可以是變量名和表達(dá)式?!禖語言程序設(shè)計

》10對不同類型的數(shù)據(jù)用不同的格式字符,格式字符規(guī)定了對應(yīng)輸出項的輸出格式,常用的格式字符如表3-1所示?!禖語言程序設(shè)計

》11d,i

以十進制形式輸出帶符號整數(shù)o以八進制形式輸出無符號整數(shù)X,x以十六進制形式輸出無符號整數(shù)u以十進制形式輸出無符號整數(shù)f以小數(shù)形式輸出單、雙精度實數(shù)c輸出單個字符s輸出字符串E,e以指數(shù)形式輸出單、雙精度實數(shù)G,g以%f或%e中較短的輸出寬度輸出單、雙精度實數(shù),不輸出無意義的0《C語言程序設(shè)計

》12%和上述格式字符間可以插入

以下幾種附加符號,如表3-2所示字母l用于長整型整數(shù),可加在格式符d、o、x、u前面m(一個正整數(shù))數(shù)據(jù)最小寬度n(一個正整數(shù))對實數(shù),表示輸出n位小數(shù);對字符串,表示截取的字符個數(shù)-輸出的數(shù)字或字符在域內(nèi)向左靠《C語言程序設(shè)計

》13longa=135790;printf(“%ld”,a);/*l不要誤認(rèn)為數(shù)字1*/如果用%d輸出,就會發(fā)生錯誤,因為整型數(shù)據(jù)的范圍為-32768~32767?!禖語言程序設(shè)計

》14【例3-1】字符串的輸出。voidmain(){printf("%3s,%7.2s,%.4s,%-5.3s\n","CHINA","CHINA","CHINA","CHINA");}程序運行情況:(“□”代表空格,下同)CHINA,□□□□□CH,CHIN,CHI□□《C語言程序設(shè)計

》15【例3-2】輸出實數(shù)時的有效位數(shù)。voidmain(){floatx,y;x=111111.111;y=222222.222;printf("%f",x+y);}程序運行情況:333333.328125只有前7位數(shù)字是有效數(shù)字。雙精度數(shù)也可以用%f格式輸出,有效位數(shù)一般為16位,給出6位小數(shù)?!禖語言程序設(shè)計

》16【例3-3】輸出雙精度時的有效位數(shù)。voidmain(){doublex,y;x=1000000000011.111111111;y=1000000000022.222222222;printf("%f",x+y);}程序運行情況:1000000000033.333010可以看到最后3位小數(shù)(超過16位)是無意義的?!禖語言程序設(shè)計

》17【例3-4】輸出實數(shù)時指定小數(shù)位數(shù)。voidmain(){floatf=123.456;printf("%f□□%10f□□%10.2f□□%.2f□□%-10.2f\n",f,f,f,f,f);}程序運行情況:123.456001□□123.456001□□□□□□123.46□□123.46□□123.46□□□□《C語言程序設(shè)計

》18如果想輸出字符“%”,則應(yīng)該在“格式控制”字符串中用連續(xù)兩個%表示,如:printf("%f%%",1.0/3);輸出為:0.333333%《C語言程序設(shè)計

》19scanf函數(shù)一般格式scanf(“格式控制字符串”,地址表列);“格式控制”的含義同printf函數(shù)。“地址表列”是由若干個地址組成的表列,可以是變量的地址,或字符串的首地址?!禖語言程序設(shè)計

》20【例3-5】用scanf函數(shù)輸入數(shù)據(jù)。voidmain(){inta,b,c;printf("inputa,b,c:\n");scanf("%d%d%d",&a,&b,&c);printf("a=%d,b=%d,c=%d",a,b,c);}程序運行情況:inputa,b,c:3□4□5↙(輸入a、b、c的值)a=3,b=4,c=5(輸出a、b、c的值)《C語言程序設(shè)計

》21&a、&b、&c中的“&”是“地址運算符”,&a指a在內(nèi)存中的地址。上面scanf函數(shù)的作用是:按照a、b、c在內(nèi)存的地址將a、b、c的值存進去?!?d%d%d”表示按十進制整數(shù)形式輸入數(shù)據(jù)。輸入數(shù)據(jù)時,在兩個數(shù)據(jù)之間以一個或多個空格間隔,也可以用回車鍵、跳格鍵tab間隔。用“%d%d%d”格式輸入數(shù)據(jù)時,不能用逗號作為數(shù)據(jù)間的分隔符,但如果是“%d,%d,%d”格式,則用逗號作為數(shù)據(jù)間的分隔符?!禖語言程序設(shè)計

》22與printf函數(shù)中的格式說明相似,以%開始,并以一個格式字符結(jié)束,中間可以插入附加的字符。表3-3列出scanf用到的格式字符,表3-4列出scanf可以用的附加說明字符?!禖語言程序設(shè)計

》23d,i用來輸入有符號的十進制整數(shù)o用來輸入無符號的八進制整數(shù)X,x用來輸入無符號的十六進制整數(shù)u用來輸入無符號十進制整數(shù)f,e,E,g,G用來輸入實數(shù)(用小數(shù)形式或指數(shù)形式)c用來輸入單個字符s用來輸入字符串《C語言程序設(shè)計

》24scanf的附加格式說明字符l

用來輸入長整型數(shù)據(jù),可用"%ld","%lo","%lx";以及double型數(shù)據(jù),可用"%lf"、"%le"。h

用來輸入短整型數(shù)據(jù)域?qū)捴付ㄝ斎霐?shù)據(jù)所占寬度(列數(shù)),域?qū)拺?yīng)為正整數(shù)*表示本輸入項在輸入后不賦給相應(yīng)的變量《C語言程序設(shè)計

》25函數(shù)的存儲分類scanf("%3d%3d",&a,&b);輸入:123456↙系統(tǒng)自動將123賦給a,456賦給b。此方法也可用于字符型,如:scanf("%3c",&ch);如果從鍵盤連續(xù)輸入3個字符abc,由于ch只能容納一個字符,系統(tǒng)就把第一個字符'a'賦給變量ch?!禖語言程序設(shè)計

》26scanf函數(shù)中的“格式控制”后面應(yīng)當(dāng)是變量地址,而不應(yīng)是變量名《C語言程序設(shè)計

》27putchar函數(shù)與getchar函數(shù)putchar函數(shù)和getchar函數(shù)是C標(biāo)準(zhǔn)庫中最簡單、也是最容易理解的字符輸入輸出函數(shù)。他們的函數(shù)原型在頭文件“stdio.h”中,使用函數(shù)之前必須要用文件包含命令:#include<stdio.h>或#include"stdio.h"《C語言程序設(shè)計

》28putchar()字符輸出函數(shù)一般形式putchar(c);其中c可以是字符型變量或整型變量。其功能是輸出變量c所代表的一個字符,即當(dāng)c為字符型變量時,輸出c中存儲的那個字符;當(dāng)c為整型變量時,輸出這個整數(shù)在ASCII碼表中對應(yīng)的字符?!禖語言程序設(shè)計

》29例如putchar('A');(輸出大寫字母A)putchar(x);(輸出字符變量x的值)putchar('\101');(也是輸出字符A)putchar('\n');(換行)對控制字符則執(zhí)行控制功能,不在屏幕上顯示?!禖語言程序設(shè)計

》30《C語言程序設(shè)計

》31getchar()字符輸入函數(shù)一般形式getchar()函數(shù)是字符輸入函數(shù),該函數(shù)沒有參數(shù),其為:getchar();通常把輸入的字符賦給一個字符變量,構(gòu)成賦值語句。《C語言程序設(shè)計

》32【例3-6】求梯形面積。程序示例《C語言程序設(shè)計

》33【例3-7】輸入單個字符。#include<stdio.h>voidmain(){charc;printf("inputacharacter:");c=getchar();putchar(c);}程序運行情況:inputacharacter:a↙a可用下面任意一行代替:putchar(getchar());printf("%c",getchar());《C語言程序設(shè)計

》34選擇結(jié)構(gòu)的程序設(shè)計依據(jù)某些條件來改變執(zhí)行順序,選擇所要執(zhí)行的語句,這就是選擇結(jié)構(gòu)。也稱分支結(jié)構(gòu)。它的作用是判斷給定的條件是否成立,用來控制執(zhí)行哪種操作。如輸出a、b兩個數(shù)中的較大者,則必須先判斷a>b是否成立,若成立則輸出a的值,否則輸出b的值。選擇結(jié)構(gòu)有三種形式:即單分支結(jié)構(gòu)、雙分支結(jié)構(gòu)和多分支結(jié)構(gòu)?!禖語言程序設(shè)計

》35if語句條件表達(dá)式可實現(xiàn)簡單的雙分支結(jié)構(gòu),即無論條件是否成立,便可采用條件表達(dá)式實現(xiàn)其選擇功能。C語言提供了三種形式的if語句。1、單分支結(jié)構(gòu)--基本if結(jié)構(gòu)基本if結(jié)構(gòu)的一般形式為:if(表達(dá)式)語句1;該語句的執(zhí)行過程是:若表達(dá)式的值為真(非0),則執(zhí)行語句1,否則不作任何操作,從而直接執(zhí)行if語句后面的語句。其流程圖如圖3-1所示。《C語言程序設(shè)計

》36【例3-8】輸出兩個整數(shù)中的最大值。voidmain(){inta,b,max;printf("\ninputtwonumbers:");scanf("%d%d",&a,&b);max=a;if(max<b)max=b;printf("max=%d",max);}《C語言程序設(shè)計

》37程序運行情況:inputtwonumbers:45□61↙max=61本例程序中,輸入了兩個整數(shù)a、b。把a先賦予變量max,再用if語句判別max和b的大小,如max小于b,則把b賦予max。因此max中總是大數(shù),最后輸出max的值?!禖語言程序設(shè)計

》382、雙分支結(jié)構(gòu)--if-else結(jié)構(gòu)if-else結(jié)構(gòu)基本形式為:if(表達(dá)式)語句1;else語句2;該語句的執(zhí)行過程是:若表達(dá)式的值非0,則執(zhí)行語句1,否則執(zhí)行語句2。《C語言程序設(shè)計

》39【例3-9】輸出兩個整數(shù)中的最大值。voidmain(){inta,b;printf("inputtwonumbers:");scanf("%d%d",&a,&b);if(a>b)printf("max=%d\n",a);elseprintf("max=%d\n",b);}程序運行情況:inputtwonumbers:34□58↙max=58《C語言程序設(shè)計

》40多分支結(jié)構(gòu)if-else-if結(jié)構(gòu)多分支結(jié)構(gòu)的一般形式為:if(表達(dá)式1)語句1;elseif(表達(dá)式2)語句2;elseif(表達(dá)式3)語句3;...elseif(表達(dá)式n)語句n;else語句n+1;《C語言程序設(shè)計

》41【例3-10】判別鍵盤輸入字符的類別。在三種形式的if語句中,if之后的括號內(nèi)均為表達(dá)式。該表達(dá)式通常是邏輯表達(dá)式或關(guān)系表達(dá)式,但也可以是其它表達(dá)式,如賦值表達(dá)式等,甚至也可以是一個變量。例如:if(a=5)語句;不常用一般用“if(a==5)”的時候較多,表示a的值等于5時表達(dá)式為“真”,這里if后面是關(guān)系表達(dá)式。而“if(b)”較常用,等價于“if(b!=0)”,b只要是非0,均為“真”。程序示例《C語言程序設(shè)計

》42在if語句中,條件判斷表達(dá)式必須用括號括起來,在語句之后必須加分號。所有的語句可以為單個語句,如果要想在滿足條件時執(zhí)行一組(多個)語句,則必須把這一組語句用{}括起來組成一個復(fù)合語句。例如:if(a>b){a++;b++;}else{a=0;b=10;}《C語言程序設(shè)計

》43if語句的嵌套內(nèi)嵌的if語句既可以在嵌套的if子句中,又可以嵌套在else子句中。if(…)if(…)語句1;else語句2;elseif(…)語句3;else語句4;《C語言程序設(shè)計

》44注意if與else的配對關(guān)系,else總是與它上面的最近的未配對的if配對。建議對于內(nèi)嵌的if語句一律用“{}”將其括起來,使其成為外層嵌套if-else語句的子句,從而使其清晰明了。例如:if(){if()語句1;}/*內(nèi)嵌if*/else語句2;這時{}限定了內(nèi)嵌if語句的范圍,因此else與第一個if配對,否則else將與內(nèi)嵌if配對?!禖語言程序設(shè)計

》45【例3-11】計算函數(shù):

1(x>0)y=0(x=0)-1(x<0)程序示例《C語言程序設(shè)計

》46switch語句嵌套的層次數(shù)也就越多,程序的可讀性降低。C語言中提供了switch語句用于直接處理多路分支選擇問題?!禖語言程序設(shè)計

》47switch語句的基本形式switch(表達(dá)式){case常量表達(dá)式1:語句1;case常量表達(dá)式2:語句2;...case常量表達(dá)式n:語句n;default:語句n+1;}《C語言程序設(shè)計

》48switch語句的執(zhí)行過程先計算switch后面表達(dá)式的值,并將結(jié)果與case后的常量表達(dá)式的值進行比較。當(dāng)找到與某一個case后面的常量表達(dá)式的值相等時,就以此作為一個入口,執(zhí)行此case后面的語句。然后不再進行判斷,繼續(xù)執(zhí)行后面所有case后的語句及default語句,直至switch語句結(jié)束;若所有的case中的常量表達(dá)式的值不與switch后面表達(dá)式的值匹配,則執(zhí)行default后面的語句。其執(zhí)行流程圖如圖3-4所示(C1~Cn為常量表達(dá)式)?!禖語言程序設(shè)計

》49【例3-12】本程序是要求輸入一個數(shù)字,輸出一個英文單詞。但是當(dāng)輸入3之后,卻執(zhí)行了case3及其后的所有語句,輸出了Wednesday及以后的所有單詞,這當(dāng)然是不希望的。用break;可以在執(zhí)行完相應(yīng)操作后,跳出switch結(jié)構(gòu)。程序示例《C語言程序設(shè)計

》50break語句,用于跳出switch語句。從而避免執(zhí)行不需要的語句。switch(表達(dá)式){case常量表達(dá)式1:語句1;break;case常量表達(dá)式2:語句2;break;...case常量表達(dá)式n:語句n;break;default:語句n+1;}《C語言程序設(shè)計

》51在【例3-12】程序中加入break;實現(xiàn)所需功能。case后面的語句可以是任意合法的C語句,因此也可以是switch語句,這種語句被稱為switch語句的嵌套。注意:break語句只能跳出一層。程序示例《C語言程序設(shè)計

》52【例3-13】switch語句的嵌套使用。#include"stdio.h"voidmain(){intx=1,y=0;switch(x){case1:switch(y){case0:printf("**1**\n");break;case1:printf("**2**\n");break;}case2:printf("**3**\n");}}程序運行情況:**1****3**《C語言程序設(shè)計

》53注意以下幾點:(1)switch后面的表達(dá)式可以為任何類型。(2)每一個case后的常量表達(dá)式的值必須互不相同。(3)各個case和default的出現(xiàn)次序不影響執(zhí)行結(jié)果。(4)在case后,允許有多個語句,他們可以不用{}括起來。(5)default子句可以省略不用。

【例3-14】程序示例《C語言程序設(shè)計

》54【例3-15】求三個數(shù)的最小值。【例3-16】說明:程序中n為整型變量,因此“n/200”為整數(shù)。另外,當(dāng)n≥2000時,令c=10是為了能方便使用switch語句處理。程序示例程序示例《C語言程序設(shè)計

》55循環(huán)結(jié)構(gòu)的程序設(shè)計處理實際問題時常常遇到具有規(guī)律性的重復(fù)運算,需要進行循環(huán)控制。C語言提供了三種循環(huán)語句用于實現(xiàn)循環(huán)結(jié)構(gòu)程序設(shè)計。這些循環(huán)語句可以縮短程序的長度,增強程序結(jié)構(gòu)化的程度,使程序更趨清晰簡潔。因此熟練掌握循環(huán)結(jié)構(gòu)的概念及使用是程序設(shè)計最基本的要求。《C語言程序設(shè)計

》56常用的循環(huán)控制語句有以下三種:(1)while語句(2)do-while語句(3)for語句另外在循環(huán)體中還可使用break語句、continue語句或goto語句來進行流程控制,以終止循環(huán)或使控制進入下一次循環(huán)繼續(xù)進行?!禖語言程序設(shè)計

》57while語句while語句用于實現(xiàn)先判斷條件后執(zhí)行循環(huán)體的“當(dāng)型”循環(huán)結(jié)構(gòu)。其一般形式為:while(表達(dá)式)循環(huán)體語句;該語句的執(zhí)行過程是先求解表達(dá)式的值,若表達(dá)式的值為“真”,則執(zhí)行循環(huán)體語句,循環(huán)體語句執(zhí)行完后,自動返回繼續(xù)判斷表達(dá)式的值,若為“真”(非0)則繼續(xù)執(zhí)行循環(huán)體語句,如此反復(fù)執(zhí)行,直到表達(dá)式的值為“假”(0)?!禖語言程序設(shè)計

》58【例3-17】思考:m的初值能否為0?如果需要求解m=1+2+3+……+n的值,該如何修改程序?程序示例《C語言程序設(shè)計

》59注意以下幾點:(1)若循環(huán)體是多個語句組成的,則應(yīng)該用“{}”將循環(huán)體括住,如果循環(huán)體只有一個語句組成,則可以省略括號。(2)while后面的“()”不能省略,括弧后面一般沒有分號(有分號時表示循環(huán)體語句為空)。條件表達(dá)式可為任何類型;0為假,非0即真;注意改變循環(huán)控制變量的值,避免出現(xiàn)死循環(huán)。(3)如果while后面的表達(dá)式一開始就為假,則循環(huán)體一次也不執(zhí)行?!禖語言程序設(shè)計

》603.4.2do-while語句do-while語句用于實現(xiàn)先執(zhí)行后判斷的“直到型”循環(huán)結(jié)構(gòu)。其一般形式為:do{循環(huán)體語句;}while(表達(dá)式);該語句執(zhí)行過程是先執(zhí)行循環(huán)體語句,然后求解表達(dá)式的值,若表達(dá)式值為“真”,則自動返回繼續(xù)執(zhí)行循環(huán)體語句,直到表達(dá)式值為“假”時結(jié)束循環(huán),其執(zhí)行過程如圖3-9所示?!禖語言程序設(shè)計

》61【例3-18】程序示例《C語言程序設(shè)計

》62注意以下幾點(1)while后面的“()”不能省略,條件表達(dá)式可以為任何類型。(2)同時while()后面的“;”不能漏掉。(3)如果循環(huán)體沒有break語句,那么循環(huán)體至少被執(zhí)行一次。通過上面的例子,可以看到:同一個問題可以用do-while語句處理也可以用while語句處理。兩種結(jié)構(gòu)是等價的,可以相互轉(zhuǎn)換。《C語言程序設(shè)計

》63do-while語句和while語句用do-while語句和用while語句處理同一個問題時,若二者的循環(huán)體部分是一樣的,他們的結(jié)果也一樣。例3-18和3-19程序中的循環(huán)體是相同的,得到的結(jié)果也是相同的。但是如果while后面的表達(dá)式一開始就為“假”時,兩種循環(huán)的結(jié)果是不同的?!禖語言程序設(shè)計

》64【例3-19】思考:當(dāng)i>6時,兩個程序的結(jié)果為什么不同?程序示例《C語言程序設(shè)計

》65for語句for語句也是用于實現(xiàn)“當(dāng)型”循環(huán)結(jié)構(gòu)的,它在C語言中的使用最為靈活。for語句與while語句的區(qū)別在于,for語句不僅能夠用于循環(huán)次數(shù)不確定,通過判定循環(huán)條件來控制控制循環(huán)的情況,而且能夠非常方便的用于循環(huán)次數(shù)已經(jīng)確定的情況,因此,它完全可以替代while語句。它的一般形式為:for(表達(dá)式1;表達(dá)式2;表達(dá)式3)循環(huán)體語句;《C語言程序設(shè)計

》66for語句循環(huán)結(jié)構(gòu)應(yīng)注意的問題(1)控制變量的初始化;(2)循環(huán)的條件;(3)循環(huán)控制變量的更新。

表達(dá)式1一般為賦值表達(dá)式,給控制變量賦初值。表達(dá)式2是關(guān)系表達(dá)式或邏輯表達(dá)式,循環(huán)條件。表達(dá)式3一般為賦值表達(dá)式,給控制變量增量或減量。循環(huán)體語句:當(dāng)有多條語句時,必須使用復(fù)合語句,即用“{}”括起來?!禖語言程序設(shè)計

》67for語句的執(zhí)行過程(1)先求解表達(dá)式1;(2)求解表達(dá)式2,若表達(dá)式2的值為“真”,則執(zhí)行循環(huán)體語句;表達(dá)式2的值為“假”,則結(jié)束循環(huán),轉(zhuǎn)到第(5)步;(3)求解表達(dá)式3;(4)自動返回到(2)繼續(xù)向下執(zhí)行;(5)循環(huán)結(jié)束,執(zhí)行for語句下面的語句?!禖語言程序設(shè)計

》68由于for語句與while語句都是實現(xiàn)當(dāng)型循環(huán)結(jié)構(gòu),因此他們是相互等價的,for語句可以轉(zhuǎn)換為如下while語句形式:表達(dá)式1;while(表達(dá)式2){循環(huán)體;表達(dá)式3;}【例3-20】程序示例《C語言程序設(shè)計

》69注意以下幾點(1)表達(dá)式1、表達(dá)式2和表達(dá)式3可以為任何類型表達(dá)式。(2)表達(dá)式1可以省略,此時應(yīng)在for語句之前給循環(huán)變量賦初值。表達(dá)式后面的“;”不能省。(4)如果表達(dá)式3省略,此時程序設(shè)計者應(yīng)在循環(huán)體語句中設(shè)置控制變量的更新,保證循環(huán)能夠正常結(jié)束。(5)表達(dá)式1可以設(shè)置循環(huán)變量初值,也可以是與循環(huán)變量無關(guān)的其它表達(dá)式?!禖語言程序設(shè)計

》703.4.4循環(huán)的嵌套所謂循環(huán)嵌套即是在一個循環(huán)體中又包含一個或多個完整的循環(huán)結(jié)構(gòu)。內(nèi)嵌的循環(huán)還可以再包含另外循環(huán)結(jié)構(gòu),故稱為多重嵌套循環(huán)。前面介紹的三種循環(huán)(while循環(huán)、do-while循環(huán)、for循環(huán))都可以進行嵌套,而且還可以相互嵌套。即在while循環(huán)中可以嵌套while循環(huán)、do-while循環(huán)以及for循環(huán),同樣do-while和for循環(huán)也可以嵌套這三種循環(huán)。【例3-21】程序示例《C語言程序設(shè)計

》71break、continue和goto語句為了使循環(huán)控制更加靈活,C語言提供了兩種無條件轉(zhuǎn)移控制語句:break、continue。1、break語

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論