C++教程第3章_第1頁(yè)
C++教程第3章_第2頁(yè)
C++教程第3章_第3頁(yè)
C++教程第3章_第4頁(yè)
C++教程第3章_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第第3 3章章 C+C+程序設(shè)計(jì)基礎(chǔ)(下)程序設(shè)計(jì)基礎(chǔ)(下) 本章內(nèi)容提要3.1 C+語(yǔ)句的類型語(yǔ)句的類型3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出3.3 程序的流程控制程序的流程控制3.4 預(yù)處理命令預(yù)處理命令3.1 C+語(yǔ)句的類型語(yǔ)句的類型3.1.1 聲明語(yǔ)句聲明語(yǔ)句用于變量、常量、函數(shù)、類型等的聲明和定義用于變量、常量、函數(shù)、類型等的聲明和定義例如:例如:char ch;/變量聲明語(yǔ)句變量聲明語(yǔ)句const int MAX_LEN=128;/常量聲明語(yǔ)句常量聲明語(yǔ)句double sqrt(double);/函數(shù)聲明語(yǔ)句函數(shù)聲明語(yǔ)句typedef unsigned int NUM;/類型聲明語(yǔ)句

2、類型聲明語(yǔ)句n全局聲明語(yǔ)句:用于對(duì)全局變量的聲明和定義、函數(shù)的聲全局聲明語(yǔ)句:用于對(duì)全局變量的聲明和定義、函數(shù)的聲明、類的聲明和定義等,作用范圍是從聲明語(yǔ)句開始到本明、類的聲明和定義等,作用范圍是從聲明語(yǔ)句開始到本源程序單元結(jié)束源程序單元結(jié)束n函數(shù)內(nèi)部的聲明語(yǔ)句:用于對(duì)局部變量的定義,作用范圍函數(shù)內(nèi)部的聲明語(yǔ)句:用于對(duì)局部變量的定義,作用范圍是從聲明語(yǔ)句開始到本函數(shù)或本程序塊結(jié)束是從聲明語(yǔ)句開始到本函數(shù)或本程序塊結(jié)束3.1.2 執(zhí)行語(yǔ)句執(zhí)行語(yǔ)句表達(dá)式表達(dá)式;1表達(dá)式語(yǔ)句表達(dá)式語(yǔ)句例如:例如:const int A=5;/賦值語(yǔ)句賦值語(yǔ)句a+=9;/復(fù)合賦值語(yǔ)句復(fù)合賦值語(yǔ)句i+;/自增語(yǔ)句自增語(yǔ)

3、句sin(x);/函數(shù)調(diào)用語(yǔ)句函數(shù)調(diào)用語(yǔ)句2基本輸入輸出語(yǔ)句基本輸入輸出語(yǔ)句例如:例如:cinab;/輸入語(yǔ)句輸入語(yǔ)句couta+b;/輸出語(yǔ)句輸出語(yǔ)句3控制語(yǔ)句控制語(yǔ)句n選擇語(yǔ)句:選擇語(yǔ)句: if( )else(條件語(yǔ)句)(條件語(yǔ)句) switch(多分支選擇語(yǔ)句)(多分支選擇語(yǔ)句)n循環(huán)語(yǔ)句:循環(huán)語(yǔ)句: for( )(for循環(huán)語(yǔ)句)循環(huán)語(yǔ)句) while( )(while循環(huán)語(yǔ)句)循環(huán)語(yǔ)句) dowhile( )(dowhile循環(huán)語(yǔ)句)循環(huán)語(yǔ)句)n轉(zhuǎn)向語(yǔ)句:轉(zhuǎn)向語(yǔ)句: break(終止執(zhí)行(終止執(zhí)行switch或循環(huán)語(yǔ)句)或循環(huán)語(yǔ)句) continue(結(jié)束本次循環(huán))(結(jié)束本次循環(huán))

4、goto(轉(zhuǎn)向語(yǔ)句)(轉(zhuǎn)向語(yǔ)句) return(從函數(shù)返回語(yǔ)句)(從函數(shù)返回語(yǔ)句)3.1.3 空語(yǔ)句空語(yǔ)句只有一個(gè)分號(hào)組成的語(yǔ)句,它不執(zhí)行任何操作只有一個(gè)分號(hào)組成的語(yǔ)句,它不執(zhí)行任何操作例如:例如:for(i=1;i100;i+);/起延時(shí)的作用起延時(shí)的作用3.1.4 復(fù)合語(yǔ)句復(fù)合語(yǔ)句 將若干條語(yǔ)句用將若干條語(yǔ)句用括起來(lái),又稱為塊語(yǔ)句。通常作為函數(shù)的括起來(lái),又稱為塊語(yǔ)句。通常作為函數(shù)的函數(shù)體、循環(huán)語(yǔ)句的循環(huán)體、函數(shù)體、循環(huán)語(yǔ)句的循環(huán)體、if語(yǔ)句的分支等語(yǔ)句的分支等例如:例如:if(b) a=a+b;if(a=b)couta=0表達(dá)式表達(dá)式1表達(dá)式表達(dá)式2表達(dá)式表達(dá)式n; 兩個(gè)數(shù)據(jù)之間用空格(兩

5、個(gè)數(shù)據(jù)之間用空格(Space)、制表符()、制表符(Tab)或換行符)或換行符(Enter)分隔開)分隔開3.2.1 輸入語(yǔ)句輸入語(yǔ)句例如:例如:char a, b;float c;int d;cinabcd;如果輸入如果輸入1 234.56 78 結(jié)果:結(jié)果:a=1,b= 2,c=34.56,d=78cout表達(dá)式表達(dá)式1表達(dá)式表達(dá)式2表達(dá)式表達(dá)式nendl;3.2.2 輸出語(yǔ)句輸出語(yǔ)句例如:例如: cout變量變量score1的值是:的值是:score1t 變量變量score2的值是:的值是:score2endl;也可以寫成:也可以寫成:cout變量變量score1的值是:的值是:;/雙引

6、號(hào)中的字符串在屏幕上原樣輸出雙引號(hào)中的字符串在屏幕上原樣輸出coutscore1;/輸出變量輸出變量score1的值的值coutt;/輸出轉(zhuǎn)義字符,移動(dòng)一個(gè)制表位輸出轉(zhuǎn)義字符,移動(dòng)一個(gè)制表位cout變量變量score2的值是:的值是:/雙引號(hào)中的字符串在屏幕上原樣輸出雙引號(hào)中的字符串在屏幕上原樣輸出coutscore2;/輸出變量輸出變量score2的值的值coutendl;/輸出全部數(shù)據(jù)并換行輸出全部數(shù)據(jù)并換行3.2.3 輸入輸入/輸出的格式控制輸出的格式控制常用的輸入常用的輸入/輸出流格式控制符輸出流格式控制符3.3 程序的流程控制程序的流程控制3.3.1 選擇結(jié)構(gòu)選擇結(jié)構(gòu)n簡(jiǎn)化的簡(jiǎn)化的i

7、f語(yǔ)句:語(yǔ)句:1if語(yǔ)句語(yǔ)句if(表達(dá)式)(表達(dá)式)語(yǔ)句語(yǔ)句;nifelse語(yǔ)句:語(yǔ)句:if(表達(dá)式)(表達(dá)式)語(yǔ)句語(yǔ)句1;else 語(yǔ)句語(yǔ)句2;nifelse if語(yǔ)句語(yǔ)句:if(表達(dá)式(表達(dá)式1)語(yǔ)句語(yǔ)句1;else if(表達(dá)式(表達(dá)式2)語(yǔ)句語(yǔ)句2;else if(表達(dá)式(表達(dá)式n)語(yǔ)句語(yǔ)句n;else 語(yǔ)句語(yǔ)句n+1;2if語(yǔ)句的嵌套語(yǔ)句的嵌套注:注:else必須與必須與if配對(duì)使用,它總是與它上面最近的且未配對(duì)的配對(duì)使用,它總是與它上面最近的且未配對(duì)的if配配 對(duì)。對(duì)。3switch語(yǔ)句語(yǔ)句switch(表達(dá)式表達(dá)式)case 常量表達(dá)式常量表達(dá)式1:語(yǔ)句:語(yǔ)句1; break;c

8、ase 常量表達(dá)式常量表達(dá)式2:語(yǔ)句:語(yǔ)句2; break;case 常量表達(dá)式常量表達(dá)式n:語(yǔ)句:語(yǔ)句n; break;default: 語(yǔ)句語(yǔ)句n+1; break;注意:注意:n每個(gè)每個(gè)case后面的常量表達(dá)式必須各不相同,否則會(huì)出現(xiàn)后面的常量表達(dá)式必須各不相同,否則會(huì)出現(xiàn)矛盾,即一個(gè)值有多種選擇。矛盾,即一個(gè)值有多種選擇。n各個(gè)各個(gè)case語(yǔ)句和語(yǔ)句和default語(yǔ)句出現(xiàn)的順序?qū)?zhí)行結(jié)果沒(méi)有語(yǔ)句出現(xiàn)的順序?qū)?zhí)行結(jié)果沒(méi)有影響。影響。n若若case后面沒(méi)有后面沒(méi)有break,則執(zhí)行完,則執(zhí)行完case語(yǔ)句后不再進(jìn)行語(yǔ)句后不再進(jìn)行判斷,程序?qū)⑥D(zhuǎn)到下一個(gè)判斷,程序?qū)⑥D(zhuǎn)到下一個(gè)case語(yǔ)句繼續(xù)

9、執(zhí)行,直至遇到語(yǔ)句繼續(xù)執(zhí)行,直至遇到break,程序才能退出,程序才能退出switch語(yǔ)句。語(yǔ)句。ndefault后面的后面的break可以省略??梢允÷?。n多個(gè)多個(gè)case可以共用一組執(zhí)行語(yǔ)句??梢怨灿靡唤M執(zhí)行語(yǔ)句。3.3.2 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)for(表達(dá)式(表達(dá)式1;表達(dá)式表達(dá)式2;表達(dá)式表達(dá)式3)循環(huán)體語(yǔ)句循環(huán)體語(yǔ)句;1for語(yǔ)句語(yǔ)句while(表達(dá)式表達(dá)式)循環(huán)體語(yǔ)句循環(huán)體語(yǔ)句;2while語(yǔ)句語(yǔ)句do循環(huán)體語(yǔ)句循環(huán)體語(yǔ)句;while(表達(dá)式表達(dá)式);3dowhile語(yǔ)句語(yǔ)句 在一個(gè)循環(huán)的循環(huán)體中又包含另一個(gè)循環(huán)語(yǔ)句稱為循環(huán)在一個(gè)循環(huán)的循環(huán)體中又包含另一個(gè)循環(huán)語(yǔ)句稱為循環(huán)嵌套,又稱多重

10、循環(huán)。三種循環(huán)語(yǔ)句嵌套,又稱多重循環(huán)。三種循環(huán)語(yǔ)句for、while和和dowhile可以互相嵌套,執(zhí)行順序是先執(zhí)行最里層的循環(huán)語(yǔ)句,依次可以互相嵌套,執(zhí)行順序是先執(zhí)行最里層的循環(huán)語(yǔ)句,依次往外執(zhí)行,最后執(zhí)行最外層的循環(huán)。往外執(zhí)行,最后執(zhí)行最外層的循環(huán)。4循環(huán)嵌套循環(huán)嵌套3.3.3 轉(zhuǎn)向語(yǔ)句轉(zhuǎn)向語(yǔ)句break;1break語(yǔ)句語(yǔ)句continue;2continue語(yǔ)句語(yǔ)句goto 語(yǔ)句標(biāo)號(hào);語(yǔ)句標(biāo)號(hào);3goto語(yǔ)句語(yǔ)句return 表達(dá)式表達(dá)式;4return語(yǔ)句語(yǔ)句3.4 預(yù)處理命令預(yù)處理命令3.4.1 宏定義宏定義#define 標(biāo)識(shí)符標(biāo)識(shí)符 字符串字符串例如:例如: #define P

11、I 3.1415926#define 宏名(參數(shù)表)宏名(參數(shù)表) 字符串字符串例如:例如: #define L(a,b) (a+b)/2另外,還可以用另外,還可以用#define命令定義帶參數(shù)的宏命令定義帶參數(shù)的宏:3.4.2 文件包含文件包含#include 文件名文件名或或 #include 3.4.3 條件編譯條件編譯(1)#ifdef 標(biāo)識(shí)符標(biāo)識(shí)符程序段程序段1#else程序段程序段2#endif(2)#ifndef 標(biāo)識(shí)符標(biāo)識(shí)符程序段程序段1#else程序段程序段2#endif(3)#if 表達(dá)式表達(dá)式程序段程序段1#else程序段程序段2#endif綜合實(shí)例綜合實(shí)例1 根據(jù)輸入的

12、年齡判斷根據(jù)輸入的年齡判斷 所屬年齡階段所屬年齡階段/實(shí)例實(shí)例3-1.cpp#include void main()int n;/局部聲明語(yǔ)句局部聲明語(yǔ)句do/循環(huán)結(jié)構(gòu),輸入年齡信息循環(huán)結(jié)構(gòu),輸入年齡信息 coutn;/輸入年齡輸入年齡if(n=0)/如果年齡如果年齡=0,顯示出錯(cuò)信息,結(jié)束循環(huán),顯示出錯(cuò)信息,結(jié)束循環(huán) cout輸入錯(cuò)誤!輸入錯(cuò)誤!0&n10)cout“小孩小孩”;/多重選擇語(yǔ)句,用于進(jìn)行年齡階多重選擇語(yǔ)句,用于進(jìn)行年齡階段的判定段的判定else if(n20)cout少年少年;else if(n30)cout青年青年;else if(n50)cout=50)cout老年老年;

13、coutendl;while(n200);/循環(huán)條件循環(huán)條件請(qǐng)輸入年齡:請(qǐng)輸入年齡:45 中年中年請(qǐng)輸入年齡:請(qǐng)輸入年齡:15 少年少年請(qǐng)輸入年齡:請(qǐng)輸入年齡:0 輸入錯(cuò)誤!輸入錯(cuò)誤!測(cè)試數(shù)據(jù)與運(yùn)行結(jié)果:測(cè)試數(shù)據(jù)與運(yùn)行結(jié)果:綜合實(shí)例綜合實(shí)例2 2 將輸入數(shù)字轉(zhuǎn)換為以漢字將輸入數(shù)字轉(zhuǎn)換為以漢字 形式輸出的貨幣金額形式輸出的貨幣金額/實(shí)例實(shí)例3-2.cpp#include #include void main() double x,i=10000000;int j=0;unsigned int quotient,remainder;bool beginFlag=0,zeroFlag=0;coutx

14、;while (x=100000000)/如果連續(xù)三次輸入的數(shù)字不符合要求,則退出程序如果連續(xù)三次輸入的數(shù)字不符合要求,則退出程序 if (j=2)/控制連續(xù)輸入無(wú)效數(shù)字的次數(shù)控制連續(xù)輸入無(wú)效數(shù)字的次數(shù) cout你的錯(cuò)誤輸入已達(dá)你的錯(cuò)誤輸入已達(dá)3次,你無(wú)權(quán)再輸入!次,你無(wú)權(quán)再輸入!endl;return;cout輸入金額無(wú)效,請(qǐng)重新輸入!輸入金額無(wú)效,請(qǐng)重新輸入!endl;coutx;j+;/累計(jì)輸入次數(shù)累計(jì)輸入次數(shù)x=floor(x*100+0.5)/100;/實(shí)現(xiàn)輸入數(shù)值的小數(shù)點(diǎn)后實(shí)現(xiàn)輸入數(shù)值的小數(shù)點(diǎn)后2位四舍五入位四舍五入while(i0.001) if(i=1)quotient=(un

15、signed int)floor(x/i);/將不大于將不大于x/i的最大整數(shù)轉(zhuǎn)換成無(wú)符號(hào)整數(shù)的最大整數(shù)轉(zhuǎn)換成無(wú)符號(hào)整數(shù)else if(i=0.1)quotient=(unsigned int)floor(x*10);/取第一位小數(shù)取第一位小數(shù)elsequotient=(unsigned int)floor(x*100); /取第二位小數(shù)取第二位小數(shù)remainder=quotient%10;/取個(gè)位數(shù)字取個(gè)位數(shù)字if(remainder!=0)/如果當(dāng)前數(shù)字不等于如果當(dāng)前數(shù)字不等于0 beginFlag=1;/置置beginFlag標(biāo)記位為標(biāo)記位為1/根據(jù)標(biāo)記位判斷是否將數(shù)字之間的根據(jù)標(biāo)記位

16、判斷是否將數(shù)字之間的0轉(zhuǎn)換為轉(zhuǎn)換為零零if(zeroFlag=1)&(beginFlag=1)&(i=1)&(remainder0)cout零零;switch(remainder)/將數(shù)字轉(zhuǎn)換為相應(yīng)的漢字將數(shù)字轉(zhuǎn)換為相應(yīng)的漢字 case 0:break;case 1:cout壹壹;break;case 2:cout貳貳;break;case 3:cout叁叁;break;case 4:cout肆肆;break;case 5:cout伍伍;break;case 6:cout陸陸;break;case 7:cout柒柒;break;case 8:cout捌捌;break;case 9:cout0)

17、/如果當(dāng)前數(shù)字不為零如果當(dāng)前數(shù)字不為零zeroFlag=0;/置置zeroFlag標(biāo)記位為標(biāo)記位為0else if(beginFlag=1)/如果當(dāng)前數(shù)字為零且不是第一如果當(dāng)前數(shù)字為零且不是第一個(gè)非零數(shù)字個(gè)非零數(shù)字zeroFlag=1;/置置zeroFlag標(biāo)記位為標(biāo)記位為1if(beginFlag=1)/對(duì)于非對(duì)于非0數(shù)字,輸出各位數(shù)字后面的單位數(shù)字,輸出各位數(shù)字后面的單位 if(i=10000000)&(remainder0)cout0)cout0)cout拾拾;if(i=10000)cout0)cout0)cout0)cout拾拾;if(i=1)cout0)cout0)cout分分;i=

18、i/10;cout整整endl;/每個(gè)金額的最后一個(gè)字為每個(gè)金額的最后一個(gè)字為整整請(qǐng)輸入要轉(zhuǎn)換的數(shù)字(小于請(qǐng)輸入要轉(zhuǎn)換的數(shù)字(小于1億):億):-144.35 輸入金額無(wú)效,請(qǐng)重新輸入!輸入金額無(wú)效,請(qǐng)重新輸入!請(qǐng)輸入要轉(zhuǎn)換的數(shù)字(小于請(qǐng)輸入要轉(zhuǎn)換的數(shù)字(小于1億):億):4050076.5364 肆佰零伍萬(wàn)零柒拾陸元伍角肆分整肆佰零伍萬(wàn)零柒拾陸元伍角肆分整測(cè)試數(shù)據(jù)與運(yùn)行結(jié)果:測(cè)試數(shù)據(jù)與運(yùn)行結(jié)果:綜合實(shí)例綜合實(shí)例3 3 輸出楊輝三角輸出楊輝三角/實(shí)例實(shí)例3-3.cpp#include void main() int n,r,c,m,j=0;coutm;while (m=14)/如果連續(xù)三次輸入的數(shù)字不符合要求,則退出程序如果連續(xù)三次輸入的數(shù)字不符合要求,則退出程序 if (j=2) cout你的錯(cuò)誤輸入已達(dá)你的錯(cuò)誤輸入已達(dá)3次,你無(wú)權(quán)再輸入!次,你無(wú)權(quán)再輸入!endl;return;cout你輸入的行數(shù)超出范圍,請(qǐng)重新輸入!你輸入的行數(shù)超出范圍,請(qǐng)重新輸入!endl;coutm;j+;/累計(jì)輸入次數(shù)累計(jì)輸入次數(shù)for (n=0;n=m-1;n+)/逐行輸出數(shù)字和空格逐行輸出數(shù)字和空格 for(r=1;r1

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論