版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、,3,第2章,基本編程語(yǔ)句 (Basic Programming Statements),語(yǔ)句用來(lái)規(guī)定程序執(zhí)行的控制流,在沒(méi)有跳轉(zhuǎn)或分支的情況下,語(yǔ)句將按照其在程序中出現(xiàn)的次序順序執(zhí)行。一條語(yǔ)句以分號(hào)“;” 結(jié)束。 語(yǔ)句可以是空語(yǔ)句,不產(chǎn)生任何操作。 復(fù)合語(yǔ)句也稱為塊(Block),是指用一對(duì)花括號(hào)括起來(lái)的語(yǔ)句序列。從語(yǔ)法上,復(fù)合語(yǔ)句可以被認(rèn)為是單個(gè)語(yǔ)句。例如: if(x9) cout “The number is perfect .n”; cout “It is larger than 9n”; else cout “not larger than 9n”; ,內(nèi)容提要,2.1 說(shuō)明語(yǔ)句 2
2、.2 條件語(yǔ)句 3.3 循環(huán)語(yǔ)句 3.4 輸入輸出語(yǔ)句 3.5 轉(zhuǎn)移語(yǔ)句,2.1 說(shuō)明語(yǔ)句,2.1.1 變量定義(包含 2.1.3 初始化與賦值) 2.1.2 函數(shù)聲明和定義,.1.1 變量定義(Variable declaration),程序中的變量必須先定義后使用,為變量命名時(shí) 應(yīng)符合標(biāo)識(shí)符的規(guī)定。 、變量定義方式 ; int sum; char a, b; float area, width, length;,2 、初始化與賦值 賦值運(yùn)算符“=”可用于對(duì)變量賦值 初始化:變量定義的時(shí)候賦值 有初始化的定義與定義之后再賦值形式上不同,效果相同。 例如:,unsignedcolor; /定義
3、 color = 16; /賦初值 unsigned color=16; /定義并賦初值 unsigned color(16); /定義并賦初值 long counter1, counter2=52347; /定義時(shí)可部分賦值 注:在C+中,有些變量可以具有默認(rèn)的值,但為了養(yǎng)成良好的編程習(xí)慣,變量在使用之前都要先明確的賦值。,等價(jià),等價(jià),2.1.2 函數(shù)聲明與定義,C+程序是由函數(shù)構(gòu)成的,由一個(gè)主函數(shù)和若干個(gè)函數(shù)構(gòu)成。 C+程序是函數(shù)驅(qū)動(dòng)的。 1、函數(shù)聲明 函數(shù)聲明只是聲明函數(shù)的名稱,但若要真正運(yùn)行,還必須在適當(dāng)?shù)牡胤教峁┰撁Q的定義。 函數(shù)聲明包括函數(shù)返回值、函數(shù)名稱和參數(shù)列表三部分(以分號(hào)
4、結(jié)束)。 例如: int area_s(int a ,int b);,2、 函數(shù)定義 定義的一般形式: 類型標(biāo)識(shí)符 函數(shù)名(形式參數(shù)表) 函數(shù)體 ,其中: 函數(shù)名給自定義的函數(shù)取的名字。 形式參數(shù)表函數(shù)被調(diào)用時(shí),接收調(diào)用函數(shù)傳遞的實(shí)參數(shù)。 函數(shù)體執(zhí)行功能的語(yǔ)句塊。 函數(shù)返回值通過(guò)函數(shù)調(diào)用獲得的函數(shù)返回值,其值由 return語(yǔ)句返回。,例如: int area_s(int a ,int b) return(a*b); ,3、函數(shù)聲明與定義的完整例子 f0203.cpp,2.2 條件語(yǔ)句,2.2.1 if語(yǔ)句 2.2.2 條件表達(dá)式 2.2.3 switch語(yǔ)句 2.2.4 if 或switch
5、語(yǔ)句,程序通常是由順序、分支和循環(huán)三種控制結(jié)構(gòu)組成的。任何 高級(jí)語(yǔ)句都有條件選擇控制結(jié)構(gòu)。 C+中if條件選擇控制語(yǔ)句(Selection statement)包括: 1、if 語(yǔ)句(Simple selection statement),2.2.1 if語(yǔ)句,if(條件表達(dá)式) 語(yǔ)句塊 ,2、空語(yǔ)句 if(條件表達(dá)式) ;,if(條件表達(dá)式) 語(yǔ)句;,或,3、 if else語(yǔ)句(Two-way selection statement) if(條件表達(dá)式) 語(yǔ)句1; else 語(yǔ)句2; 例: #include using namespace std; void main ( ) cout p
6、lease input the b key to hear a bell .n; char ch = cin.get( ); if (ch = b) cout a; else if(ch = n) cout what a boring select on n; else cout bye!n; ,4、注意二義性 if語(yǔ)句嵌套時(shí),應(yīng)注意二義性。 例如: int x = 20; if (x = 0) if (x =0 且 x=0 且 x=50 if else語(yǔ)句配對(duì)原則是:else與其緊靠的沒(méi)有配對(duì)的且為 可見的if配對(duì)。 如:int x = 20; if ( x = 0) if ( x 50)
7、/該if不可見 cout “ x is okn”; else cout “ x is not okn”;,2.2.2 條件表達(dá)式 ? : 為三目運(yùn)算符 語(yǔ)法形式: (條件表達(dá)式)?(條件為真時(shí)的表達(dá)式) : (條件為假的表達(dá)式) 例如: x = a b ? a : b; /將a,b中較小數(shù)賦x 事實(shí)上,三目運(yùn)算操作是簡(jiǎn)單if語(yǔ)句的另一種表達(dá)方式。 if (a b) x = a; else x = b;,注意使用圓括號(hào)(運(yùn)算符有優(yōu)先級(jí)關(guān)系) cout b ? a : b )y)? ”greater than”:(x = = y)? ”equal to”: ” less than”);,2.2.3
8、 switch語(yǔ)句,Switch語(yǔ)句也稱開關(guān)語(yǔ)句,是多分支語(yǔ)句,而if語(yǔ)句二分支語(yǔ)句。 該語(yǔ)句實(shí)現(xiàn)多選1結(jié)構(gòu): switch (表達(dá)式) case 常量表達(dá)式1:語(yǔ)句組1; break; case 常量表達(dá)式2:語(yǔ)句組2; break; case 常量表達(dá)式n:語(yǔ)句組n; break; default: 語(yǔ)句組n+1; ,特點(diǎn): (1)表達(dá)式只能是整型、字符型或枚舉型,不能為浮點(diǎn)型。 (2)當(dāng)表達(dá)式的值與某個(gè)case后常量表達(dá)式值相同時(shí),執(zhí)行之。 (3)都不匹配,執(zhí)行default后的語(yǔ)句。 (4)各個(gè)case(包括default)的出現(xiàn)次序可任意,不會(huì)影響結(jié)果 例如;根據(jù)考試成績(jī)的等級(jí)輸出百
9、分制分?jǐn)?shù)段。 char grade=B; switch(grade) caseA:cout“85-100n”;break; caseB:cout“70-84n”;break; caseC:cout“60-69n”;break; caseD:cout“60n”;break; default:cout“errorn”; /最后可省略break 輸出結(jié)果為: 70-84,多個(gè)case可共用一組執(zhí)行語(yǔ)句 char grade=B; switch(grade) caseA: caseB: caseC: cout60n”;break; caseD: cout60 Switch可以嵌套,2.2.4 if或s
10、witch語(yǔ)句,if語(yǔ)句與switch語(yǔ)句可以互補(bǔ)。switch只能對(duì)確定值進(jìn)行條件測(cè)試,如果是進(jìn)行范圍測(cè)試或則浮點(diǎn)值比較,只能用嵌套的if。 例:根據(jù)分?jǐn)?shù)輸出等級(jí) int grade; / if(grade=85,2.3 循環(huán)語(yǔ)句,2.3.1 for循環(huán) 2.3.2 while 循環(huán) 2.3.3 do-while循環(huán) 2.3.4 循環(huán)語(yǔ)句舉例,2.3.1 for循環(huán),結(jié)構(gòu): for(表達(dá)式1;表達(dá)式2;表達(dá)式3) 循環(huán)體 for 語(yǔ)句的特點(diǎn)是:可用于循環(huán)次數(shù)能被確定的情況。 可以靈活使用for語(yǔ)句 (1)表達(dá)式1可以省略 for(;i=100;i+) /分號(hào)不能省略 sum+=i; ,Exp
11、ression1,Expression2,Expression3,Loop body,T,F,i=1;,for(i=1;i=100;i+) Sum+=i;,(2)表達(dá)式2可以省略 for (i=1;i+) /等效于for(i=1;1;i+) sum+=i; (3)表達(dá)式3可以省略 for(i=1;i=100;) sum+=i+; (4)表達(dá)式1和表達(dá)式3可以同時(shí)省略 i=1; for(;i=100;) sum+=i+; ,if(i100) break;,(5)三個(gè)表達(dá)式都省略 i=1; for (;) if(i100) break; sum+=i+; (6)表達(dá)式1,2,3,可為任意表達(dá)式 f
12、or(sum=0,i=1;i=100;i+) /逗號(hào)表達(dá)式 sum+=i; for(i=0,j=100,k=0;ij;i+,j-) k+=i*j; for(i=1;i=100;sum+=i+); (7)表達(dá)式1可以作為循環(huán)變量定義 for(int i=1;i=100;i+) sum+=i;,2.3.2 while 循環(huán),結(jié)構(gòu): while (條件表達(dá)式) 循環(huán)體,例: i=1; /循環(huán)變量初始化 while (i= 10) /循環(huán)條件 /循環(huán)體 sum=sum+i; i+ ; /改變循環(huán)變量的值 可簡(jiǎn)化為:,while(sum+=i+,i=10 );,Sum+=i+;,2.3.3 do-whi
13、le循環(huán),結(jié)構(gòu): do 循環(huán)體 while(條件表達(dá)式) 該語(yǔ)句至少執(zhí)行一次循環(huán),而while 語(yǔ)句可能一次都不執(zhí)行。,例: #include using namespace std; void main( ) int i ,sum=0; i=1; do sum=sum+i; i+; while(i=100); coutsum=sumendl; 結(jié)果: sum=5050 注:編程時(shí),循環(huán)體通常是復(fù)合語(yǔ)句,應(yīng)注意使用花括號(hào)。,2.3.4 循環(huán)語(yǔ)句舉例,例1:字符圖形 例2:素?cái)?shù)判定,例1:字符圖形 用for循環(huán)編程畫出下列圖形: M MM MMM MMMM MMMMM MMMMMM MMMMMM
14、M 程序代碼:f0204.cpp,例2:素?cái)?shù)判定 給定一個(gè)整數(shù)m,判斷該數(shù)是否為素?cái)?shù)。 分析: m是素?cái)?shù)的條件是m不能被2,3,m-1整除。 實(shí)現(xiàn)代碼: 方法一:f0207 方法二:f0208,2.5 輸入輸出語(yǔ)句,2.5.1 標(biāo)準(zhǔn)I/O流 2.5.2 流狀態(tài)(流控制符) 2.5.3文件流 2.5.4 C語(yǔ)言版輸入輸出語(yǔ)句(補(bǔ)充),2.5.1 標(biāo)準(zhǔn)I/O流,I/O流是指輸入輸出的一系列數(shù)據(jù)流。 cin標(biāo)準(zhǔn)輸入 流,cin指標(biāo)準(zhǔn)輸入設(shè)備鍵盤 cout 標(biāo)準(zhǔn)輸出流,cout指標(biāo)準(zhǔn)輸出設(shè)備顯示器 在程序中使用cin和cout需要使用標(biāo)準(zhǔn)輸入輸出庫(kù),即包含iostream頭文件,插入操作符“” 輸出使
15、用插入操作符“”從cin輸入流中抽取字符。 int myage; cin myage; 又如: int i; float f; long l; cin i f l; cin 能抽取輸入變量的類型,i, f, l分別接收輸入的整型,浮點(diǎn)型 和長(zhǎng)整型。,.5.2流狀態(tài)(流控制符),當(dāng)不希望以默認(rèn)方式輸出時(shí),可以使用流控制符對(duì)輸出狀態(tài)進(jìn)行控制。 控制符是在頭文件iomanip.h中定義的對(duì)象,可直接插入流中。使用控制符時(shí),應(yīng)在程序的頭上加上此頭文件。 下面是一些常用的控制字符:,例、設(shè)置輸出寬度(setw) cout setw(8) 10 endl; 輸出結(jié)果是: 若數(shù)值10和20均按照寬度8輸出,
16、則 cout setw(8) 10 setw(8) 20 endl; 輸出結(jié)果是: 注意:如果一個(gè)值的位數(shù)大于setw(n)確定的寬度位數(shù),則按原寬度輸出 。 float amount = 4.53671; cout setw(4) amount endl; 輸出結(jié)果是:,_ _ _ _ _ _10,_ _ _ _ _ _ 10_ _ _ _ _ _20,4.53671,例2、輸出八進(jìn)制,十六進(jìn)制和十進(jìn)制數(shù) #include #include using namespace std; void main( ) int number=1001; cout “Decimal:” decnumber
17、endl “Hexadecimal:”hexnumberendl “Octal:”octnumberendl “Hexadecimal:”hex uppercasenumberendl; ,Decimal:1001 Hexadecimal:3e9 Octal:1751 Hexadecimal:3E9,輸出結(jié)果:,例3、用字符填充輸出寬度(setfill) #include #include using namespace std; void main( ) coutsetfill(*) setw(2)25endl setw(3)25endl setw(4)25endl; coutsetfill
18、( ); /恢復(fù)缺省設(shè)置 輸出結(jié)果:,25 *25 *25,例4、控制左右對(duì)齊輸出(left,right) 缺省時(shí),I/O流以右對(duì)齊格式顯示 #include #include using namespace std; void main( ) coutrightsetw(5)1setw(5)2 setw(5)3endl; coutleftsetw(5)1setw(5)2 setw(5)3endl; 輸出結(jié)果為:,_ _ _ _ 1_ _ _ _ 2_ _ _ _ 3 1_ _ _ _2_ _ _ _ 3,例5 強(qiáng)制顯示小數(shù)點(diǎn)和符號(hào)(showpoint,showpos) #include #i
19、nclude using namespace std; void main( ) cout10.0/5endl; coutshowpoint10.0/5endl; cout10 -20endl; coutshowpos 10 -20endl; coutnoshowpos33endl; 輸出為:2 2.00000 10 -20 +10 -20 33,例6、精度(setprecision) #include #include using namespace std; void main( ) double amout=22.0/7; coutamoutendl; coutsetprecision(
20、0)amoutendl setprecision(1)amoutendl setprecision(2)amoutendl setprecision(3)amoutendl setprecision(4)amoutendl;,3.14286,3.14286,3,3.1,3.14,3.143,coutfixed; coutsetprecision(8)amoutendl; coutscientificamout endl; coutsetprecision(6);/還原系統(tǒng)默認(rèn)設(shè)置 ,3.14285714,3.14285714e+000,.5.3 文件流,流是一種設(shè)備,一種概念設(shè)備。 將流與某個(gè)
21、文件捆綁后,對(duì)流的操作就是對(duì)文件的操作。 打開一個(gè)文件,就是將實(shí)際的文件名與文件流名對(duì)應(yīng),程序中只要操作文件流就可以實(shí)際地進(jìn)行文件讀寫。,中打開文件的方法: ifstream fin(filename, openmode=ios:in); ofstream fout(filename, openmode=ios:out); 注: ifstream和ofstream是類型名,表述輸入和輸出文件流,需要包含頭文件; fin和fout是定義的文件流名稱; filename是外部文件名,即需要進(jìn)行操作的磁盤文件; openmode是打開方式,ifstream的默認(rèn)打開方式是ios:in,表示輸入方式,
22、ofstream的默認(rèn)打開方式是ios:out,表示輸出方式,在打開已經(jīng)存在的輸入文件和新建一個(gè)輸出文件時(shí)可以省略這個(gè)參數(shù)。 舉例:f0211.cpp,2.5.4 C語(yǔ)言版輸入輸出語(yǔ)句(補(bǔ)充),C語(yǔ)言版輸入輸出,2.6 轉(zhuǎn)移語(yǔ)句,2.6.1 break語(yǔ)句 2.6.2 continue語(yǔ)句 2.6.3 goto 語(yǔ)句 2.6.4 轉(zhuǎn)移語(yǔ)句舉例,2.6.1 break語(yǔ)句,用途: break 語(yǔ)句用于while, dowhile, for語(yǔ)句中,從最近的封閉循環(huán)體中跳出。 break語(yǔ)句用于switch語(yǔ)句中,跳出switch語(yǔ)句。 例1:break 用于循環(huán)語(yǔ)句中 for(;) for(;) / if(i=1) break; / a=1; / ,/從break跳出至此處,例2: break 用于switch語(yǔ)句中 char grade=B; switch(grade) caseA:cout“85-100n”;break; c
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【初中數(shù)學(xué)課件】眾數(shù)、中位數(shù)課件
- 績(jī)效評(píng)價(jià)實(shí)務(wù)操作流程教學(xué)課件
- 2025屆江蘇省鎮(zhèn)江市句容市重點(diǎn)達(dá)標(biāo)名校中考猜題生物試卷含解析
- 2025屆廣西玉林市博白縣重點(diǎn)中學(xué)中考生物對(duì)點(diǎn)突破模擬試卷含解析
- 廣東省珠海市香洲區(qū)重點(diǎn)中學(xué)2025屆中考聯(lián)考生物試題含解析
- 2025屆山西省(運(yùn)城地區(qū))達(dá)標(biāo)名校中考聯(lián)考生物試題含解析
- 2025屆長(zhǎng)春市二道區(qū)達(dá)標(biāo)名校中考生物模試卷含解析
- 攪拌站崗位責(zé)任制(2篇)
- 財(cái)務(wù)部各崗位工作職責(zé)模版(2篇)
- 2025年輔導(dǎo)員工作計(jì)劃模版(二篇)
- JJF 1636-2017交流電阻箱校準(zhǔn)規(guī)范
- GB/T 40537-2021航天產(chǎn)品裕度設(shè)計(jì)指南
- 政協(xié)個(gè)人簡(jiǎn)歷模板12篇
- 木工工具及使用方法課件
- 節(jié)能減排獎(jiǎng)懲制度(5篇)
- 部編六年級(jí)語(yǔ)文上冊(cè) 讀音易錯(cuò)字
- COPD(慢性阻塞性肺病)診治指南(2023年中文版)
- 氣相色譜儀作業(yè)指導(dǎo)書
- ?中醫(yī)院醫(yī)院等級(jí)復(fù)評(píng)實(shí)施方案
- 跨高速橋梁施工保通專項(xiàng)方案
- 鐵路貨車主要輪對(duì)型式和基本尺寸
評(píng)論
0/150
提交評(píng)論