C++講解4(全10講)ppt課件_第1頁(yè)
C++講解4(全10講)ppt課件_第2頁(yè)
C++講解4(全10講)ppt課件_第3頁(yè)
C++講解4(全10講)ppt課件_第4頁(yè)
C++講解4(全10講)ppt課件_第5頁(yè)
已閱讀5頁(yè),還剩46頁(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、.,1,一、基本概念,數(shù)據(jù)結(jié)構(gòu)+算法=程序1、算法:是對(duì)特定問(wèn)題求解步驟的一種描述2、數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)的組織形式及其相互關(guān)系,.,2,二、算法舉例,1、求1*2*3*4*5的值。2、判斷一個(gè)數(shù)n是否為素?cái)?shù)。(n2),.,3,四、算法的表示,1、自然語(yǔ)言2、流程圖3、偽代碼4、計(jì)算機(jī)語(yǔ)言,.,4,五、結(jié)構(gòu)化程序設(shè)計(jì)方法,1、含義:規(guī)范程序設(shè)計(jì)風(fēng)格和程序結(jié)構(gòu)。2、思路:將復(fù)雜的問(wèn)題分階段處理3、方法:自頂向下、逐步細(xì)化、模塊化設(shè)計(jì)、結(jié)構(gòu)化編碼,.,5,S1:求12,得到結(jié)果2.S2:將第1步所得結(jié)果2乘以3,得到結(jié)果6.S3:將6乘以4,得24.S4:將24乘以5,得120.,求1*2*3*4*5的

2、值。(思路一),.,6,設(shè)p為被乘數(shù),i為乘數(shù)S1:使p=1.S2:使i=2.S3:使pi,乘積賦給p.S4:使i的值加1.S5:若i=5,執(zhí)行S3;否則程序結(jié)束.,求1*2*3*4*5的值。(思路二),.,7,S1:輸入n的值.S2:置變量i的值為2.S3:求解m=n%i;若m=0,轉(zhuǎn)向S6,否則執(zhí)行S4.S4:變量i的值自加1.S5:判斷i0)printf(|x|=%d,x);elseprintf(|x|=%d,-x);,.,14,:用括起來(lái)的一組語(yǔ)句一般形式:數(shù)據(jù)說(shuō)明部分;執(zhí)行語(yǔ)句部分;說(shuō)明:“”后不加分號(hào)語(yǔ)法上和單一語(yǔ)句相同復(fù)合語(yǔ)句可嵌套,復(fù)合語(yǔ)句,.,15,算法的基本控制結(jié)構(gòu),問(wèn)題的

3、提出:(1)-1(x0)(2)統(tǒng)計(jì)任意一個(gè)人群的平均身高算法算法的基本控制結(jié)構(gòu):順序結(jié)構(gòu)分支結(jié)構(gòu)循環(huán)結(jié)構(gòu)程序流程圖,.,16,結(jié)構(gòu)化程序設(shè)計(jì)基本思想:任何程序都可以用三種基本結(jié)構(gòu)表示,限制使用無(wú)條件轉(zhuǎn)移語(yǔ)句(goto)結(jié)構(gòu)化程序:由三種基本結(jié)構(gòu)反復(fù)嵌套構(gòu)成的程序叫優(yōu)點(diǎn):結(jié)構(gòu)清晰,易讀,提高程序設(shè)計(jì)質(zhì)量和效率三種基本結(jié)構(gòu)順序結(jié)構(gòu),程序的三種基本結(jié)構(gòu),.,17,二分支選擇結(jié)構(gòu),多分支選擇結(jié)構(gòu),選擇結(jié)構(gòu),.,18,當(dāng)型循環(huán)結(jié)構(gòu),直到型循環(huán)結(jié)構(gòu),注:A,B,A1.An可以是一個(gè)簡(jiǎn)單語(yǔ)句,也可以是一個(gè)基本結(jié)構(gòu),循環(huán)結(jié)構(gòu),.,19,賦值語(yǔ)句,格式:賦值表達(dá)式;賦值語(yǔ)句與賦值表達(dá)式的區(qū)別:賦值表達(dá)式可以包含

4、在其它表達(dá)式中,而賦值語(yǔ)句不可。例:if(a=b)0)t=a;不可寫為:if(a=b;)0)t=a;,.,20,這是C中新加的非常簡(jiǎn)單易用的輸入、輸出方式,C+中沒(méi)有專門的輸入輸出語(yǔ)句,是用I/O流類來(lái)實(shí)現(xiàn)。在程序的開(kāi)頭增加一行:#include1)用插入操作符“”向標(biāo)準(zhǔn)輸出流cout中插入字符。向標(biāo)準(zhǔn)輸出設(shè)備(顯示器)輸出例:intx;cout“x=“”從標(biāo)準(zhǔn)輸入流cin中抽取字符從標(biāo)準(zhǔn)輸入設(shè)備(鍵盤)輸入例:intx;cinx;inta,b;cinab;,)使用控制符有時(shí)缺省輸出格式不能滿足要求,這時(shí)可以用控制符控制輸出的格式。在程序的開(kāi)頭增加一行:#include,.,22,例:,#in

5、clude#includevoidmain()coutsetw(5)setprecision(3)3.1415endl;3.14,.,23,C語(yǔ)言無(wú)I/O語(yǔ)句,I/O操作由函數(shù)實(shí)現(xiàn),#include,C語(yǔ)言中的輸入輸出,.,24,printf和scanf,printf函數(shù)(1)printf函數(shù)的一般格式為:printf(格式控制字符串,輸出項(xiàng)1,輸出項(xiàng)2,)括號(hào)中的格式控制字符串和輸出項(xiàng)都是函數(shù)參數(shù)。printf()函數(shù)的功能是將后面的參數(shù)按給定的格式輸出。格式控制字符串中有格式說(shuō)明,也有普通字符。格式說(shuō)明由”%”和格式字符組成,如%d,%f等。它的作用是將輸出的數(shù)據(jù)轉(zhuǎn)換成指定的格式輸出。普通

6、字符按原樣輸出,如:#includestdio.hvoidmain()inta=10,b=20;printf(%d,%d,a,b);,輸出結(jié)果為:10,20,.,25,(2)%d格式符用來(lái)輸出10進(jìn)制整數(shù),可以有長(zhǎng)度修飾。如:#includestdio.hvoidmain()inta=28,b=38;longc=123456;printf(%5d,%5dn%ldn,a,b,c);printf(%3ldn%7ldn%dn,c,c,c);輸出結(jié)果為:28,38123456123456123456123456,%5d表示輸出寬度為5,%ld表示輸出為長(zhǎng)整型如果整數(shù)的位數(shù)多于指定寬度,則按實(shí)際位數(shù)輸出

7、,.,26,(3)%o和%x格式符用來(lái)輸出8進(jìn)制、16進(jìn)制整數(shù)。8進(jìn)制和16進(jìn)制都是無(wú)符號(hào)整數(shù),輸出時(shí)不帶符號(hào)。如:#includestdio.hvoidmain()inta=1200;printf(%d,%o,%x,%X,%6xn,a,a,a,a,a);輸出結(jié)果為:1200,2260,4b0,4B0,4b0,.,27,(4)%u格式符用來(lái)輸出無(wú)符號(hào)10進(jìn)制整數(shù)。(5)%c格式符用來(lái)輸出一個(gè)字符。如果一個(gè)整數(shù),其值在0255之間,也可以字符方式輸出。它們都可以指定格式寬度。例如:charch=a;inta=65;printf(%c,%d,%3cn,ch,ch,ch);printf(%c,%d,

8、%3dn,a,a,a);輸出結(jié)果為:a,97,aA,65,65,.,28,(6)%s格式符用來(lái)輸出字符串。可以指定格式寬度,如果字符串長(zhǎng)小于指定的寬度時(shí),可以選擇左對(duì)齊或右對(duì)齊。另外,還可以選擇輸出字符中的前n個(gè)字符。例如:printf(%s,Hellon);printf(Hellon);printf(%3s,%-5.3s,%5.2sn,Hello,Hello,Hello);輸出結(jié)果為:HelloHelloHello,Hel,He如果輸出的只有一個(gè)字符串,可以省略格式參數(shù),因?yàn)楦袷絽?shù)本身可以是原樣輸出的普通字符串?!?-5.3s”中的負(fù)號(hào)表示左對(duì)齊,如果沒(méi)有負(fù)號(hào),則默認(rèn)為右對(duì)齊。5表示格式寬

9、度,3表示截取字符串中3個(gè)字符。,.,29,(7)%f格式符用來(lái)以小數(shù)方式輸出??芍付ǜ袷綄挾龋部梢灾付ㄐ?shù)位數(shù),還可以規(guī)定左對(duì)齊或右對(duì)齊。如:floatx=123.456;doubley=321.654321;printf(%f,%-7.2f,%10.4fn,x,x,x);printf(%lf,%-7.2lf,%10.4lfn,y,y,y);輸出結(jié)果為:123.456001,123.46,123.4560321.654321,321.65,321.6543以%f格式輸出時(shí),默認(rèn)的小數(shù)位數(shù)是6位。%-7.2f表示左對(duì)齊,總長(zhǎng)度為7位,小數(shù)位數(shù)為2位。,.,30,(8)%e,%E,%g,%G格

10、式符用來(lái)以指數(shù)方式輸出浮點(diǎn)數(shù)。默認(rèn)的小數(shù)位數(shù)為6,指數(shù)位數(shù)為3(不包括e+和e-):floatx=123.456;doubley=321.654321;printf(%e,%-7.2e,%10.4en,x,x,x);printf(%e,%-7.2e,%10.4en,y,y,y);輸出結(jié)果為:1.234560e+002,1.23e+002,1.2346e+0023.216543e+002,3.22e+002,3.2165e+002%E格式同%e,只是將輸出的小寫e改為大寫E。%g根據(jù)數(shù)值的大小,自動(dòng)選取f格式或e格式。,.,31,(9)注意事項(xiàng)除X,E,G格式外,其他格式必須用小寫字母,例如%d

11、不能寫成%D可以在printf函數(shù)中的“格式控制”字符串內(nèi)使用“轉(zhuǎn)義字符”?!案袷娇刂啤弊址?,在%后的d、o、x、u、c、s、f、e、g做為格式符,否則做為普通字符,如:printf(“c=%c,f=%f,s=%s”,c,f,s);如果想輸出字符%,則應(yīng)該在“格式控制”字符串中連續(xù)用兩個(gè)%表示,如:printf(“%f%”,1.0/3);,.,32,inti,j;scanf(“%3d%3d”,/輸入3,4,.,33,(3)注意事項(xiàng)scanf函數(shù)中的“格式控制”后面應(yīng)當(dāng)是變量地址,而不是變量名。如果在“格式控制”字符串中除了格式說(shuō)明以外還有其他字符,則在輸入數(shù)據(jù)時(shí)在對(duì)應(yīng)位置應(yīng)輸入與這些字符相

12、同的字符。在使用%c格式輸入字符時(shí),空格字符和“轉(zhuǎn)義字符”都作為有效字符輸入在輸入數(shù)據(jù)時(shí),遇以下情況時(shí)該數(shù)據(jù)認(rèn)為結(jié)束遇空格,或按“回車”,或”Tab”鍵按指定的寬度結(jié)束,如%3d,只取3列遇非法輸入。,.,34,/*ch3_12.c*/#include#includemain()floata,b,c,s,area;scanf(%f,%f,%f,輸入:3,4,6輸出:a=3.00,b=4.00,c=6.00s=6.50area=5.33,例輸入三角形邊長(zhǎng),求面積,.,35,字符輸出,格式:putchar(c)參數(shù):c為字符常量、變量或表達(dá)式功能:把字符c輸出到顯示器上返值:正常,為顯示的代碼值;

13、出錯(cuò),為EOF(-1),字符輸出函數(shù),.,36,/*ch3_13.c*/#includestdio.hmain()charc1,c2;c1=getchar();printf(%c,%dn,c1,c1);c2=c1+32;printf(%c,%dn,c2,c2);,輸入:A輸出:A,65a,97,例從鍵盤輸入大寫字母,用小寫字母輸出,.,第三章程序設(shè)計(jì)初步,選擇結(jié)構(gòu)設(shè)計(jì),.,38,條件運(yùn)算符與條件表達(dá)式,一般形式:表達(dá)式1?表達(dá)式2:表達(dá)式3表達(dá)式1必須是bool類型執(zhí)行順序:先求解表達(dá)式1,若表達(dá)式1的值為true,則求解表達(dá)式2,表達(dá)式2的值為最終結(jié)果若表達(dá)式1的值為false,則求解表達(dá)式

14、3,表達(dá)式3的值為最終結(jié)果,例x=ab?a:cd?c:d即ab?a:(cd?c:d)(3)條件表達(dá)式與一般if的語(yǔ)句的關(guān)系coutb?a:b;()表達(dá)式2、3的類型可以不同,條件表達(dá)式的最終類型為2和3中較高的類型。,.,40,if(表達(dá)式)語(yǔ)句例:if(xy)couty)coutx;elsecoutage;if(age10)cout=0)if(x50)cout“xisokn”;elsecout“xisnotokn”;,If語(yǔ)句的嵌套二義性因?yàn)閕f可以嵌套,所有在嵌套時(shí)有時(shí)會(huì)出歧義,例如上例中,else是與第一個(gè)if配對(duì),還是與第二個(gè)if配對(duì)?這種時(shí)候,系統(tǒng)就認(rèn)為:else與最近的一個(gè)if相對(duì)應(yīng),.,二義性:(1)if()if()coutendl;/輸出能被整除,能被整除elsecoutendl;/輸出能被整除,不能被整除(2)if()if()coutendl;/輸出能被

溫馨提示

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