《C語言復習第十節(jié)》ppt課件_第1頁
《C語言復習第十節(jié)》ppt課件_第2頁
《C語言復習第十節(jié)》ppt課件_第3頁
《C語言復習第十節(jié)》ppt課件_第4頁
《C語言復習第十節(jié)》ppt課件_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、假設假設int a34=0; 那么下面正確的表達是:那么下面正確的表達是: A 只有元素只有元素 a00 可得到初值可得到初值 0。 B 此說明語句不正確此說明語句不正確 。C 數(shù)組數(shù)組 a 中各元素都可得到初值,但其值不中各元素都可得到初值,但其值不一定為一定為 0 。D 數(shù)組數(shù)組 a 中每個元素均可得到初值中每個元素均可得到初值 0 。復習復習 假設定義數(shù)組:假設定義數(shù)組:int a108; int a108; 問數(shù)組問數(shù)組共有多少元素?在內存中存儲時占多少共有多少元素?在內存中存儲時占多少字節(jié)?如何在內存中存放?最后一個單字節(jié)?如何在內存中存放?最后一個單元的元素下標是多少?元的元素下標

2、是多少?7.3 字符數(shù)組字符數(shù)組 字符數(shù)組是用來存放字符數(shù)據(jù)的數(shù)組,數(shù)字符數(shù)組是用來存放字符數(shù)據(jù)的數(shù)組,數(shù)組中的每個元素只能存放一個字符。組中的每個元素只能存放一個字符。一、定義一、定義形式:形式:char c5包含包含5個元素:個元素:c0、c1.c4c0 c1 c2 c3 c4 C h i n a 說明說明:由于機器內實際存放的是字符的由于機器內實際存放的是字符的ASCII碼值碼值整型數(shù),故上面的定義也可以是:整型數(shù),故上面的定義也可以是: int c5;二、賦初值二、賦初值同一維數(shù)組類似。同一維數(shù)組類似。1。定義時賦初值。定義時賦初值如如: char c5=C,h,i,n,a; 不能超過

3、不能超過5個字符個字符,假設少于假設少于5個,后面的個,后面的賦給空字符賦給空字符“0。 說明:說明:1假設字符個數(shù)與數(shù)組長度一樣時,可以假設字符個數(shù)與數(shù)組長度一樣時,可以不指定數(shù)組長度。如:不指定數(shù)組長度。如: char c =H,o,w, ,a,r,e, ,y,o,u; 系統(tǒng)可以自動定義系統(tǒng)可以自動定義c數(shù)組的長度為數(shù)組的長度為11,即,即c112。用賦值語句。用賦值語句-必逐個賦值必逐個賦值. 如如:chr c3; c0=A;c1=B; c2=C;三、字符串和字符串完畢標志三、字符串和字符串完畢標志 C語言中將字符串用字符數(shù)組來表示。語言中將字符串用字符數(shù)組來表示。1。用。用“0作為字符

4、串的完畢標志作為字符串的完畢標志?!?是是ASCII碼值為碼值為“0的空操作,在此表示字符串的空操作,在此表示字符串完畢。完畢。2。字符串常量的初始化。字符串常量的初始化 前面講初始化時,一個一個字符寫,也可簡單。前面講初始化時,一個一個字符寫,也可簡單。如:如:char c =“How are you;或:或: char c =“How are you ;系統(tǒng)可以自動識別系統(tǒng)可以自動識別c數(shù)組的長度為數(shù)組的長度為12,相當于:相當于:char c =H,o,w, ,a,r,e, ,y,o,u,0; H o w a r e y o u 0四、字符數(shù)組的輸入輸出四、字符數(shù)組的輸入輸出一字符數(shù)組的

5、輸入一字符數(shù)組的輸入1。用。用scanf函數(shù)函數(shù)1用格式符用格式符%c: 一次輸入一個單字符。一次輸入一個單字符。 如:如: char str6; int i; for i=0;iy?x:y; returnz8.2 函數(shù)定義函數(shù)定義一、一般形式一、一般形式:類型標識符類型標識符 函數(shù)名函數(shù)名形式參數(shù)列表形式參數(shù)列表變量說明變量說明 語句語句如:如:int maxint x,int y int z; z=xy?x:y; returnz定義一個求絕對值函數(shù)定義一個求絕對值函數(shù)abs?float absfloat x float y; y=x=0?x:-x; returny說明說明:1.類型標識符類

6、型標識符為函數(shù)的數(shù)據(jù)類型為函數(shù)的數(shù)據(jù)類型,表示了該函表示了該函數(shù)返回值的數(shù)據(jù)類型數(shù)返回值的數(shù)據(jù)類型. 假設不加類型說明按整型假設不加類型說明按整型.2.無參函數(shù)無形參列表無參函數(shù)無形參列表,也可無類型也可無類型因無返回值因無返回值。3.形參類型說明既可在參數(shù)列表中,也可在函數(shù)體形參類型說明既可在參數(shù)列表中,也可在函數(shù)體外給出。外給出。如:形式參數(shù)說明的傳統(tǒng)方式如:形式參數(shù)說明的傳統(tǒng)方式int maxx,yint x,y;.4 .變量說明變量說明不能寫在函數(shù)體外,如:不能寫在函數(shù)體外,如:int z .5 .空函數(shù)空函數(shù) 形式形式: 類型說明符類型說明符 函數(shù)名函數(shù)名 如如:dummy 表示該函

7、數(shù)什么也不作表示該函數(shù)什么也不作.通常通常程序中將一些要調用的函數(shù)處程序中將一些要調用的函數(shù)處,加一空函數(shù)。將加一空函數(shù)。將后來編好的函數(shù)可以加在此處。后來編好的函數(shù)可以加在此處。8.3 函數(shù)參數(shù)及函數(shù)的值函數(shù)參數(shù)及函數(shù)的值一、形參與實參:一、形參與實參: 形參:形參:函數(shù)定義中的參數(shù)函數(shù)定義中的參數(shù)在被調函數(shù)中。在被調函數(shù)中。 實參:實參:調用函數(shù)時,給出的參數(shù),在主調調用函數(shù)時,給出的參數(shù),在主調函數(shù)中函數(shù)中 調用函數(shù)時,調用函數(shù)時,大都有值傳遞關系大都有值傳遞關系,即將,即將主調函主調函數(shù)實參送到被調函數(shù)的形參數(shù)實參送到被調函數(shù)的形參。調用后,被調函數(shù)。調用后,被調函數(shù)將將函數(shù)值再傳回主

8、調函數(shù)函數(shù)值再傳回主調函數(shù)int maxint x,int y int z; z=xy?x:y; returnz如:如: d=maxa,b; m=maxc,d; a,b x,y; zd c,d x,y; z m每次把最大值返給主調函數(shù)每次把最大值返給主調函數(shù) 例例1 :求:求a,b,c三個數(shù)中的最大值。三個數(shù)中的最大值。 main int a,b,c,d,m ; scanf“%d,%d,%d, &a,&b,&c ; _ _ printf“max is %dn , m; /*輸出結果輸出結果*/ d=max a,b ; m=maxc,d;m=maxmaxa,b,c;主函數(shù)

9、:主函數(shù):定義;定義;輸入;輸入;調用函數(shù)計算或處理;調用函數(shù)計算或處理;輸出;輸出;子函數(shù):子函數(shù):處理:實現(xiàn)函數(shù)功能處理:實現(xiàn)函數(shù)功能 int max int x, int y ; int z ; if xy z=x; else z=y; return z; /*將將z值返回值返回*/ 總結規(guī)律?總結規(guī)律?兩步合一兩步合一用用if語句寫函數(shù)語句寫函數(shù)說明說明:1.定義函數(shù)時,形參必指定類型定義函數(shù)時,形參必指定類型int x, int y。2 .實參與形參類型應一致。實參與形參類型應一致。字符型和整型可通字符型和整型可通用。用。3。實參可以是常量,變量或表達式。但變量和。實參可以是常量,變

10、量或表達式。但變量和表達式要有確定表達式要有確定 的值。的值。如:如:a=1, b=2; maxa*b, a+b;4. 參數(shù)的傳遞是參數(shù)的傳遞是“值傳遞值傳遞, 即單向傳遞即單向傳遞。數(shù)據(jù)只能由數(shù)據(jù)只能由“實參實參“形參形參,不能由不能由“形參形參 “實參實參如如:將上例改動一下:將上例改動一下:a=1,b=2; d=maxa+2,b;參數(shù)傳遞:參數(shù)傳遞:int maxint x,int ya 1 b 2 a 1 b 2x 3 y 2 x 3 y 2完畢后,完畢后,x的的3并不送回并不送回a.5. 值傳遞前,形參值傳遞前,形參x,y并未分配內存單元。并未分配內存單元。調用完畢后,調用完畢后,形

11、參所占內存空間即可釋放。形參所占內存空間即可釋放。請說出該程序的輸出結果:請說出該程序的輸出結果:main int a=5,b=10; asda,b; printfa=%d,b=%dn,a,b; getch;asdint x,int yx=x+3;y=y+5;作用作用:將將一個一個確定的返回值確定的返回值送給調用函數(shù)。送給調用函數(shù)。說明說明:1函數(shù)中可以沒有返回值函數(shù)中可以沒有返回值。 函數(shù)中也可以有多個函數(shù)中也可以有多個return.2返回值可以是表達式:返回值可以是表達式:如:如: maxint x,int y returnxy?x:y;3可以不寫。可以不寫。如:如: return z 與

12、與return z一樣。一樣。二、函數(shù)的返回值二、函數(shù)的返回值返回值語句的格式:返回值語句的格式:return 返回返回一個一個確定的值確定的值4。返回值的類型一般應與函數(shù)的類型一致。返回值的類型一般應與函數(shù)的類型一致。如:如:int maxint x,int y; max為整型為整型,z也應為整也應為整型。型。5。假設函數(shù)類型與返回值類型不同,由。假設函數(shù)類型與返回值類型不同,由函數(shù)類型決函數(shù)類型決定定返回值類型返回值類型。返回值類型自動轉換成函數(shù)類型返回值類型自動轉換成函數(shù)類型。6。為了明確函數(shù)。為了明確函數(shù)“不帶回值,可用關鍵字不帶回值,可用關鍵字“void 定義定義“無類型函數(shù)。無類型

13、函數(shù)。 單項選擇題單項選擇題有以下程序有以下程序 #define P 3 void Fint x returnP*x*x; main printf%dn,F3+5; 程序運行后的輸出結果是程序運行后的輸出結果是 A192B29C25D編譯出錯編譯出錯一、函數(shù)調用的一般形式:一、函數(shù)調用的一般形式:函數(shù)名實參列表;函數(shù)名實參列表;如:如:a=5;b=8;c=maxa,b;說明:說明:1假設為無參函數(shù)調用,可以無實假設為無參函數(shù)調用,可以無實參列表。參列表。2各參數(shù)間用各參數(shù)間用“,號分開。,號分開。3實參與形參個數(shù)應相等,類型應一致。實參與形參個數(shù)應相等,類型應一致。8.4 函數(shù)的調用函數(shù)的調用

14、二、函數(shù)的調用方式:二、函數(shù)的調用方式:1。作為函數(shù)語句:。作為函數(shù)語句:把函數(shù)調用作為一個語句把函數(shù)調用作為一個語句 swap*p1,*p2; 交換數(shù)據(jù)函數(shù)交換數(shù)據(jù)函數(shù),如:如: shorta,10;2。作為函數(shù)表達式。作為函數(shù)表達式main int a,b,s;scanf“%d,%d,&a,&b;s=suma+b,b*2; printf“sum=%dn,s;sum int x,int yint z;z=x+y; 運行:運行:10,15 returnz 問:問:sum 函數(shù)為何類型?函數(shù)為何類型?sum=55默認默認-int如:如:c=5*maxa,b-2; 這種情況函數(shù)應有

15、返回值這種情況函數(shù)應有返回值。3。作為函數(shù)參數(shù)。作為函數(shù)參數(shù)將函數(shù)調用作為一個函數(shù)的實參。將函數(shù)調用作為一個函數(shù)的實參。如:如:m=maxmaxa,b,c;又如又如:求:求:s=a+b+cprintf“s=%d,suma,sumb,c;本質也是函數(shù)表達式調用的一種。本質也是函數(shù)表達式調用的一種。*三、對被調函數(shù)的說明三、對被調函數(shù)的說明 用戶定義的函數(shù),假設與主函數(shù)在同一文件中,用戶定義的函數(shù),假設與主函數(shù)在同一文件中,應在主函數(shù)中應在主函數(shù)中對被調函數(shù)返回值類型進展說明。對被調函數(shù)返回值類型進展說明。例例3。求:。求:y=x2+x3+x5分析:分析:編一求編一求xn的函數(shù)的函數(shù)-powerx

16、,n,調用,調用3次。次。函數(shù)形參:函數(shù)形參:x,n;用;用t=t*x, 開場開場t=1循環(huán)循環(huán)n次,次,t為為xn。主函數(shù):主函數(shù):1定義,定義,ax的實參的實參,y. 2輸入輸入a. 3 3次調用次調用powerx,n 4 輸出輸出y的值。的值。一般一般主函數(shù)主函數(shù)中中:定義、輸入、調子函數(shù)處定義、輸入、調子函數(shù)處理、理、輸出;輸出; 子函數(shù)子函數(shù)中:處理或計算數(shù)據(jù)中:處理或計算數(shù)據(jù)。 main long powerint x, int n; /*聲明被調函數(shù)聲明被調函數(shù)*/ int a ; long y ;scanf %d, &a;y=power a,2 +powera,3+po

17、wera,5;printfy= %ldn, y; long power int x, int n /*函數(shù)首部函數(shù)首部*/ int i; /*函數(shù)體函數(shù)體*/ long t =1; for i=1; i=n; i+ t=t*x; return t; t=1;for i=1; i1n1例例4例例87。有五人,第有五人,第5人比第人比第4人大人大2歲,第歲,第4人比第人比第3人大人大2歲,第歲,第3人比第人比第2人大人大2歲,第歲,第2人比第人比第1人大人大2歲。第歲。第1人人10歲,問第歲,問第5人多少歲?人多少歲?n=1 n=1 時,時,c=10 ,c=10 ,否那么否那么c=agec=age

18、n-1n-1+2 +2 ageageint nint n 求求ageage5 5的過程:的過程:int c; ageint c; age5 5=age=age4 4+2+2 age age3 3+2+2 age age2 2+2+2 return returnc c; age; age1 1+2+2 10 10 mainmain int nl; int nl; nl=agenl=age5 5; ; printfprintf“第第5 5人的年齡為人的年齡為:%d:%d, nl, nl; ; if n=1 c=10;else c=agen-1+2;運行運行:第第5人的年齡為:人的年齡為:18回推回推遞推遞推agen= 10 n=1 agen-1 +2 n1例例5 5 用遞歸調用法求用遞歸調用法求n!.n!.分析分析:6!=66!=6* *5!, 5!=55

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論