語言課件-第六章函數(shù)結構化程序設計基礎_第1頁
語言課件-第六章函數(shù)結構化程序設計基礎_第2頁
語言課件-第六章函數(shù)結構化程序設計基礎_第3頁
語言課件-第六章函數(shù)結構化程序設計基礎_第4頁
語言課件-第六章函數(shù)結構化程序設計基礎_第5頁
免費預覽已結束,剩余40頁可下載查看

下載本文檔

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

文檔簡介

第六章 ——結構化程序設計基結構化程序設計概的系統(tǒng)劃分為相對獨立的,功能較為單能的子系統(tǒng)的組合。獨調(diào)試。易于,通用aabc函數(shù)的定義和調(diào)⒈#includevoidmain(void{intscanf(“%d,%d”,&a,&b)c=max(a,printf(“%d”‘c)}intmax(intx,intintzz=x>=y?x:y

return(z)}

定義函數(shù)定義是要確定如下四點名函數(shù)的函數(shù)的函數(shù)的⒉函數(shù)的定type函數(shù)名(參數(shù)說明表

intmax(intx,int{

如果函數(shù)

}

有returnintzz=x>=y?x:yurn(⑴函數(shù)不能嵌套定義,但可以嵌套,包括自己⑵函數(shù)如果無返回值,type應說明}void{}

intcx(intc,int{… /*Error⒊函數(shù)⑴方式一般方式有三種表達式形式 c=max(a,b)*2函數(shù)參數(shù) c=max(a,max(b,d))⑵過voidmain{inta,b,cscanf(“%d,%d”,&a,&b);c=max(a,b);printf(“%5d”,c intmax(intx,inty{intz;z=x>y?x:y;return(z) }⑴⑵函數(shù)中可以出現(xiàn)多個return語句,遇到一個return intimax(int,int);voidmain(void)

原 語句,加{intx,y,z…

int{floata

(x,y) returny }

returnz;/*z先轉化為整型}xn;。#include<stdio.h;。doublepow(float,int)voidmain(void){intifor(i=1;i<=9;printf(“%d,%f\n”,i,pow(2.5}

doublepow(floatx,int{inti;doublep=1;for(i=1;i<=n;p=p*xreturn(p)}變量的類型及作用符號。此外,變量還有類型,類型確定了變量在時間上的

靜態(tài)變動態(tài)變變量的四種類⑵寄存器類 ⑶靜態(tài)類 ⑷外部類 類型 autointa,b;作用域和生存期和auto的

}}

⒊局部static(靜態(tài))類生存期:{}時,原值并不,只是不能生voidrow(void)生存voidmain(void存期{期從intb從編for(b=1;b<=9;b++編譯row()譯開}開始voidrow(void始 intb for(b=1;b<=9; printf(“%5d”,a*b) printf(“\n”) a++}⒋外部變量(extern類型、全局變量改都會影響其他函數(shù)對外部變量時的值#includevoidintvoid{

add();}void{c=a+b;⑴voidmain(新的新的…}inti;/*i為全局變量*/voidmax(inta,int{…} inta inta⑷intvoid{…} {int}#includeintvoid{

a、bfun( }void {intc=a;a=b;}#include

voidvoidmain(void{

i==0

prt(

void{

函數(shù)的作用:打印五個*

}函數(shù)間的數(shù)據(jù)傳⑴⑵將被調(diào)函數(shù)的結果返回給調(diào)用函數(shù) 被調(diào)函⑵通過返回值傳遞結果⒈使用參數(shù)傳遞數(shù)⑴傳值方#include<stdio.h>intsplus(int,int);voidmain(void) {inta,b,c scanf(“%d,%d”,&a,&b) c=splus(a,b) a、數(shù)量的值y: printf(“a*b=%d\n”,cy:x:x: splus(intx,inty{intzz=x*y

z:return(z)z:}

⑵傳地址方#include swapint*,int* 4voidmain(void4

6 6inta,b

個scanfd,%d&a&b 個if(a<b)swap&a,&b aprintfndd\na,bab bvoidswap(int*x,int*y{inttt=*x;*x=*y;*y=t

⒉全局變量傳遞參#includeintcvoidmain({inta,b

scanf(“%d,%d”,&a,&b);splus(a,b);printf(“a*b=%d\n”,c)}voidsplus(intx,inty c=x*y;說明:應盡量少用全局變量,應使函數(shù)的內(nèi)聚性強,函數(shù)數(shù)組與函數(shù)參 ⒈形參為指針ave(⒉形參為無下標數(shù)組a[⒊#include<stdio.hfloatmean(int*,int)voidmain{intarray[10]={1,2,3,4,5,6,7,8,9,10}floatavprintf(“av=%f\n%d”,av,array[0])}

⒈指針法⒉形參為無下標數(shù)組⒊floatmean(int{intifloatavg=0for(i=0;i<num;avg+=data[i]; avg/=num;data[0]=- return(avg)}

,intnum為有下標數(shù)組。⑵形參的任何改變都影響實參⑶#include<stdio.h>voidSrrLwr(char*);voidmain(void){charszBuff[80];}voidStrLwr(char*{while(*p!={if(*p>='A'&&*p<={*p+=}}}返回指針的函 *函數(shù)名(形參表{…}*#include<stdio.h>#include<string.h> char*lstrchar(char*,char);/*函數(shù)原型聲名{例:voidmain{在charc,*p,str[80] gets(str) scanf(“%c”,&c)中 p=lstrchar(str,c)中if(p==NULL printf(“char%cnotfound\n”,c)查 printf(“Thepositionis%d”,p-str)查}找; ;的 char的while字if字{chp=s;break chp}指向函數(shù)的指其首地址稱為函數(shù)的地址,用函數(shù)名表示。C語言可以通過指intintmax(intx,int{return} ⑴⑵指針指向函數(shù);⑶通過指針函數(shù)。格式 (*p)(實參表#include<stdio.h>intlmax(int,int);voidmain(void){intint(*funp)();

c=

printf(“Max.is}intlmax(intx,int{return}

#includeintintfuna(int,int,int(*)(int,int));voidmain(void){inta,b,c;printf(“\na-}intfuna(intx,inty,int{}

sub(intx,int{return(x-}遞歸函intfun1(int{…

intfun1(int fun2(int ;;

直接自身。

lfac(n-

命令行參如DOS命令:COPY intargcchar*argv[intargc,char*argv[ argv[i](i<argc-1)’’ 編譯預處C語言除了說明語句、執(zhí)行語句及控制語句外,還有一類編譯 參數(shù)⒈宏定義預處⑴作用:格式: 宏名字符#definePI ⑴⑵編譯時用字符串無條件替代宏名;;G#defineGG

PIS⑷ ⑵帶參數(shù)的宏定格式:#define宏名(參數(shù)表 含參數(shù)的字符①將實際參數(shù)替換宏定義的參數(shù)

③替換整個宏 ①要嚴格按格式書寫,否則會造成錯誤②參數(shù)有可能用到表達式時,參數(shù)字符要加()#defineS(r)#include<被包含的文件名>#include”<>表示編譯系統(tǒng)定義路徑; ⑴一個#include只能包含一個文件⑵

溫馨提示

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

最新文檔

評論

0/150

提交評論