第3章 模塊化程序設(shè)計(jì)_第1頁(yè)
第3章 模塊化程序設(shè)計(jì)_第2頁(yè)
第3章 模塊化程序設(shè)計(jì)_第3頁(yè)
第3章 模塊化程序設(shè)計(jì)_第4頁(yè)
第3章 模塊化程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩54頁(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)介

第3章模塊化程序設(shè)計(jì)

3.1模塊化程序設(shè)計(jì)思想★

3.2函數(shù)定義★★★★

3.3函數(shù)調(diào)用★★★★

3.4函數(shù)的原型與聲明★★★★

3.5函數(shù)的嵌套與遞歸★★

3.6庫(kù)函數(shù)★

3.7變量的作用域與存儲(chǔ)類型★★★★

3.8指針與函數(shù)★★★★3.1模塊化程序設(shè)計(jì)思想模塊化是指解決一個(gè)復(fù)雜問(wèn)題時(shí)自頂向下逐層把系統(tǒng)劃分成若干模塊的過(guò)程。每個(gè)模塊完成一個(gè)特定的子功能,所有的模塊按某種方法組裝起來(lái),成為一個(gè)整體,完成整個(gè)系統(tǒng)所要求的功能。把整個(gè)程序劃分為若干個(gè)功能單一、相對(duì)獨(dú)立、較易求解的程序模塊,然后分別予以實(shí)現(xiàn),最后再把所有的程序模塊整合起來(lái),這種在程序設(shè)計(jì)中逐步分解、分而治之的策略,被稱為模塊化程序設(shè)計(jì)方法。C語(yǔ)言中用函數(shù)實(shí)現(xiàn)模塊的功能?!纠?.1】求表達(dá)式的值。其中,K、M、N是正整數(shù)。#include<stdio.h>voidmain(){ inti,k,m,n; doublefk,fm,fn; scanf("%d%d%d",&k,&m,&n);

fk=1; for(i=1;i<=k;i++) fk=fk*i;

fm=1; for(i=1;i<=m;i++) fm=fm*i;

fn=1; for(i=1;i<=n;i++) fn=fn*i; printf("%f\n",fk/(fm+fn));}該程序?qū)⑺写a都放在了main函數(shù)中,階乘的實(shí)現(xiàn)代碼重復(fù)了3次,而該功能可以獨(dú)立出來(lái),通過(guò)自定義一個(gè)函數(shù)實(shí)現(xiàn),在main函數(shù)中調(diào)用3次即可得到階乘結(jié)果。voidmain(){intk,m,n;doublefk,fm,fn;scanf("%d%d%d",&k,&m,&n);

fk=fact(k);fm=fact(m);fn=fact(n);

printf("%f\n",fk/(fm+fn)); }#include<stdio.h>doublefact(intn){

inti; doublef=1; for(i=1;i<=n;i++) f=f*i; returnf;}按照模塊化程序設(shè)計(jì)思想分析,該程序可以劃分成3個(gè)模塊:①輸入數(shù)據(jù)模塊②計(jì)算階乘模塊③輸出結(jié)果模塊每個(gè)模塊用一個(gè)函數(shù)實(shí)現(xiàn),再在主函數(shù)main中直接調(diào)用這些函數(shù)即可實(shí)現(xiàn)整個(gè)程序。輸入/輸出模塊系統(tǒng)提供了相應(yīng)的函數(shù)實(shí)現(xiàn),剩下的任務(wù)就是編寫自定義函數(shù)實(shí)現(xiàn)計(jì)算階乘的模塊。3.2函數(shù)定義根據(jù)模塊化程序設(shè)計(jì)的思想,一個(gè)較大的程序一般應(yīng)分為若干個(gè)程序模塊,每一個(gè)模塊包含一個(gè)或多個(gè)函數(shù),每個(gè)函數(shù)實(shí)現(xiàn)一個(gè)特定的功能。一個(gè)C語(yǔ)言程序由一個(gè)主函數(shù)和若干其他函數(shù)構(gòu)成。程序的執(zhí)行從主函數(shù)的入口開(kāi)始,到主函數(shù)的出口結(jié)束,其間主函數(shù)可以調(diào)用其他函數(shù),其他函數(shù)之間也可以相互調(diào)用。在C語(yǔ)言中,函數(shù)分為以下兩種:(1)

庫(kù)函數(shù)由系統(tǒng)提供,用戶不用定義,只需用#include命令包含其頭文件,即可直接使用。如:printf()、scanf()、sqrt()等。(2)自定義函數(shù)是用戶根據(jù)具體需求編寫的,以完成相應(yīng)的功能。

函數(shù)定義就是編寫實(shí)現(xiàn)函數(shù)功能的程序模塊。和變量的先定義、后使用一樣,函數(shù)在使用之前也必須先定義,然后才能調(diào)用。voidmain(){ intk,m,n; dlublefk,fm,fn; scanf("%d%d%d",&k,&m,&n);

fk=fact(k); fm=fact(m); fn=fact(n);

printf("%f\n",fk/(fm+fn)); }函數(shù)定義格式:

函數(shù)返回值類型函數(shù)名(形參表){函數(shù)體}#include<stdio.h>doublefact(intn){

inti; doublef=1; for(i=1;i<=n;i++) f=f*i; returnf;}例如:doublefact(intn){…}函數(shù)調(diào)用格式:函數(shù)名(實(shí)參表);例如:fk=fact(k);函數(shù)名:命名規(guī)則同變量相同;同一個(gè)文件中函數(shù)名不能重復(fù)!形參表:用于在主調(diào)函數(shù)和被調(diào)函數(shù)間傳遞數(shù)據(jù)。需說(shuō)明參數(shù)的個(gè)數(shù)和類型,多個(gè)形參間用逗號(hào)間隔,也可以無(wú)形參。形參與實(shí)參一一對(duì)應(yīng)。函數(shù)定義的說(shuō)明形參書寫格式:每一個(gè)參數(shù)都要寫上數(shù)據(jù)類型和參數(shù)名;參數(shù)之間以逗號(hào)分隔,無(wú)參數(shù)時(shí)一般寫上void或什么也不寫。floataverage(floata1,floata2,floata3){……}形參不能寫成:floata1,a2,a3

×函數(shù)定義的說(shuō)明函數(shù)體:由左右花括號(hào)括起來(lái)的部分。包括說(shuō)明部分和語(yǔ)句部分,是實(shí)現(xiàn)函數(shù)的核心部分。

說(shuō)明部分:定義函數(shù)內(nèi)除形參以外的其它變量等;

語(yǔ)句部分:實(shí)現(xiàn)函數(shù)功能的執(zhí)行語(yǔ)句;類型標(biāo)識(shí)符函數(shù)名(形參表){

說(shuō)明部分;

語(yǔ)句部分;}類型標(biāo)識(shí)符:當(dāng)函數(shù)有返回值時(shí),在函數(shù)名前指定函數(shù)返回值的類型。

若省略類型標(biāo)識(shí)符,默認(rèn)為int。

若函數(shù)無(wú)返回值,函數(shù)定義時(shí)應(yīng)寫上void。①C語(yǔ)言不允許在一個(gè)函數(shù)內(nèi)定義另一個(gè)函數(shù),即不能嵌套定義。所有函數(shù)在書寫時(shí)都是平行的。main(){floata,b,s;scanf("%f%f",&a,&b);s=area(a,b);printf("s=%f",s);}floatarea(floata,floatb){floats;s=a*b;returns;}×嵌套定義注意注意當(dāng)參數(shù)表中的參數(shù)個(gè)數(shù)多于1個(gè)時(shí),它和普通變量的定義稍有區(qū)別。普通變量定義如下:inta;/*以分號(hào)結(jié)束*/intb;函數(shù)中的參數(shù)定義為:(inta,intb)/*以逗號(hào)分隔,最后不需要符號(hào)*/普通變量定義如下:inta,b;/*多個(gè)類型相同的變量可以一起定義*/函數(shù)中的參數(shù)定義為:(inta,intb)/*數(shù)據(jù)類型和參數(shù)必須成對(duì)出現(xiàn),有一個(gè)參數(shù)就必須有一個(gè)數(shù)據(jù)類型*/例:①編寫一個(gè)函數(shù),打印一行信息“Howdoyoudo!”printf("Howdoyoudo!\n");____print(____){}void

voidmain(){}print();#include<stdio.h>經(jīng)驗(yàn)1:數(shù)據(jù)已知或固定則不需要作為參數(shù)傳遞;值事先不確定則需要參數(shù)傳遞!經(jīng)驗(yàn)2:不要求計(jì)算結(jié)果或沒(méi)有計(jì)算出任何數(shù)值則不需要返回值。②求整數(shù)x的n次冪(n>0,且為整數(shù))______

power(__________){}intx,intndoublefor(i=1;i<=n;i++)p=p*x;inti;doublep=1;return(p);voidmain(){}scanf("%d%d",&x,&n);s=power(x,n);printf("%d^%d=%lg\n",x,n,s);printf("Inputx,n:");intx,n;doubles;#include<stdio.h>主函數(shù)應(yīng)包含哪些內(nèi)容:voidmain(){}變量定義輸入數(shù)據(jù)處理——函數(shù)調(diào)用輸出結(jié)果③將指定的字符打印n次____print(_____________){}charch,intnvoidfor(i=1;i<=n;i++)putchar(ch);inti;printf("\n");voidmain(){}printf("Inputch(char):");scanf("%c",&ch);printf("Inputn(int):");scanf("%d",&n);print(ch,

n);charch;intn;#include<stdio.h>3.3函數(shù)調(diào)用3.3.1函數(shù)調(diào)用的形式1、形式:函數(shù)名(實(shí)參表列);2、說(shuō)明①實(shí)參表列由0到多個(gè)實(shí)參名組成,實(shí)參之間用逗號(hào)分隔;②實(shí)參與形參的個(gè)數(shù)、類型和順序要一致;③調(diào)用無(wú)參函數(shù)的格式為:函數(shù)名();#include<stdio.h>intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}voidmain(){inta,b,c;scanf("%d%d",&a,&b);c=max(a,b);printf("max=%d\n",c);}3、函數(shù)調(diào)用的方式①函數(shù)調(diào)用語(yǔ)句:–無(wú)返回值函數(shù)的調(diào)用

由函數(shù)調(diào)用加上分號(hào)構(gòu)成,在主調(diào)函數(shù)中可作為一個(gè)獨(dú)立的語(yǔ)句;此時(shí)不要求函數(shù)帶回返回值。printf("ThisisaCprogram");②函數(shù)表達(dá)式:

函數(shù)調(diào)用作為一個(gè)運(yùn)算對(duì)象出現(xiàn)在表達(dá)式中,此時(shí)要求函數(shù)帶回一個(gè)確定的值以參加表達(dá)式的運(yùn)算。c=max(a,b);y=2*pow(x,2.5);③函數(shù)參數(shù):

函數(shù)調(diào)用作為另一個(gè)函數(shù)的實(shí)參,其值作為一個(gè)實(shí)際參數(shù)傳給被調(diào)函數(shù)的形參;此時(shí)也要求函數(shù)帶回一個(gè)確定值。m=max(a,max(b,c));printf("%d\n",max(a,b));3.3.2函數(shù)間的參數(shù)傳遞定義函數(shù)的目的是為了實(shí)現(xiàn)某個(gè)特定功能。當(dāng)函數(shù)被調(diào)用時(shí),一般需要給它傳遞一些數(shù)據(jù),供它直接處理或輔助它實(shí)現(xiàn)具體的功能。把需要參數(shù)的函數(shù)稱為有參函數(shù),不需要參數(shù)的函數(shù)稱為無(wú)參函數(shù)。形式參數(shù):定義函數(shù)時(shí)函數(shù)名后面括號(hào)內(nèi)的變量,簡(jiǎn)稱形參實(shí)際參數(shù):調(diào)用函數(shù)時(shí)函數(shù)名后面括號(hào)內(nèi)的變量,簡(jiǎn)稱實(shí)參#include<stdio.h>intmax(intx,inty){return(x>y?x:y);}voidmain(){inta,b,c;scanf("%d%d",&a,&b);c=max(a,b);printf("Max=%d.\n",c);}形參實(shí)參定義函數(shù)時(shí)需要解決的問(wèn)題:有沒(méi)有參數(shù):若有,則從主調(diào)函數(shù)中傳遞數(shù)據(jù)。參數(shù)的個(gè)數(shù)參數(shù)的類型:int、float、double、char或指針是否有返回值:若有,則向主調(diào)函數(shù)返回計(jì)算結(jié)果。返回值的類型編寫函數(shù)的原則:數(shù)據(jù)的輸入輸出均在主調(diào)函數(shù)中進(jìn)行,通過(guò)參數(shù)將要計(jì)算的數(shù)據(jù)傳入被調(diào)函數(shù),由被調(diào)函數(shù)進(jìn)行計(jì)算,并通過(guò)返回值返回計(jì)算結(jié)果?!纠?.2】輸入兩個(gè)整數(shù),求其平均值。要求用函數(shù)實(shí)現(xiàn)平均值的計(jì)算。有沒(méi)有參數(shù):參數(shù)的個(gè)數(shù):參數(shù)的類型:是否有返回值:返回值的類型:#include<stdio.h>doubleaverage(intx,inty){doubleresult;result=(x+y)/2.0;returnresult;}voidmain(){inta,b;

doubleave;scanf("%d%d",&a,&b);

ave=average(a,b);printf("ave=%.1f\n",ave);}有2int有float或double說(shuō)明:①程序在編譯時(shí)不為形參分配存儲(chǔ)空間,只有當(dāng)函數(shù)被調(diào)用時(shí),形參才被分配存儲(chǔ)空間,并在調(diào)用結(jié)束后釋放所占的存儲(chǔ)空間。②形參只能是變量;而實(shí)參可以是常量、變量、表達(dá)式或具有返回值的函數(shù)調(diào)用,但要求它們有確定的值。調(diào)用時(shí)將實(shí)參的值傳遞給形參。m=max(3,a+b);/*x=3;y=a+b;*/m=max(a,max(b,c));/*x=a;y=max(b,c);*/③C規(guī)定,實(shí)參對(duì)形參的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞。只能把實(shí)參的值傳送給形參,而不能把形參的值反向傳送給實(shí)參。④在內(nèi)存中,實(shí)參與形參占用不同的內(nèi)存單元,因此即使同名也互不影響。#include<stdio.h>voidsum(intx,inty,intz){x=10;y=20;z=x+y;printf("x=%d,y=%d,z=%d\n",x,y,z);}voidmain(){inta=1,b=2,c=3;sum(a,b,c);printf("a=%d,b=%d,c=%d\n",a,b,c);}x=10,y=20,z=30a=1,b=2,c=33.3.3函數(shù)的返回值intmax(intx,inty){intz;z=x>y?x:y;

return(z);}1.函數(shù)的返回值是指函數(shù)被調(diào)用之后,執(zhí)行函數(shù)體中的程序段所取得的、并返回給主調(diào)函數(shù)的值。函數(shù)的返回值只能通過(guò)return語(yǔ)句返回到主調(diào)函數(shù)。return語(yǔ)句的一般形式是:return(表達(dá)式);或

return

表達(dá)式;2.函數(shù)返回值的類型:在定義函數(shù)時(shí)指定。intmax(intx,inty)doublepower(intx,inty)C語(yǔ)言規(guī)定,凡不指定類型的函數(shù),自動(dòng)按整型(int)處理。max(intx,inty)intmax(intx,inty)

return語(yǔ)句的作用是終止當(dāng)前函數(shù)的執(zhí)行并將一個(gè)確定的值帶回主調(diào)函數(shù)中。

函數(shù)值的類型與return語(yǔ)句中表達(dá)式的類型應(yīng)一致;若不一致,則以函數(shù)類型為準(zhǔn)(自動(dòng)轉(zhuǎn)換)。intmax(doublex,doubley){return(x>y?x:y);}3.一個(gè)函數(shù)可以有多個(gè)return語(yǔ)句,但每個(gè)return后的表達(dá)式類型要相同;每次調(diào)用只能有一個(gè)return語(yǔ)句被執(zhí)行,因此函數(shù)的返回值只能有一個(gè);當(dāng)執(zhí)行到其中任何一個(gè)return語(yǔ)句時(shí),會(huì)立即返回主調(diào)函數(shù)。4.對(duì)于有返回值的函數(shù),若return語(yǔ)句后面沒(méi)有表達(dá)式,或沒(méi)有return語(yǔ)句,此時(shí)帶回一個(gè)不確定的返回值。return;5.為了明確表示“不帶回值”,可以用void定義“無(wú)類型”(或稱“空類型”,即無(wú)返回值)。voidmain(){…}例:定義一個(gè)函數(shù),判斷整數(shù)m是否是素?cái)?shù)。是素?cái)?shù)返回整數(shù)1,不是返回0。isPrime(){

}intmintk=sqrt(m);for(i=2;i<=k;i++)if(m%i==0)break;if(i<=k)elsereturn(0);return(1);inti,k;intisPrime(intm){inti,k;k=sqrt(m);for(i=2;i<=k;i++)if(m%i==0)

return(0);

return(1);}3.4函數(shù)的原型與聲明

在函數(shù)調(diào)用之前應(yīng)當(dāng)對(duì)所調(diào)用的函數(shù)進(jìn)行聲明,指出該函數(shù)的返回值的類型以及形參的個(gè)數(shù)和類型,編譯器根據(jù)此信息對(duì)函數(shù)調(diào)用進(jìn)行語(yǔ)法檢查,保證參數(shù)及返回值的正確性。1.函數(shù)聲明的格式:函數(shù)類型函數(shù)名(形參表);floatfun(doublea,intb,floatc){……}可以聲明為以下幾種形式:

floatfun(doublea,intb,floatc);floatfun(double,int,float);floatfun(doublex,inty,floatz);2.說(shuō)明:①函數(shù)聲明的位置:一種是在主調(diào)函數(shù)中對(duì)被調(diào)函數(shù)進(jìn)行函數(shù)聲明;另一種是在所有函數(shù)的外部進(jìn)行函數(shù)聲明(推薦)。②如果被調(diào)函數(shù)出現(xiàn)在主調(diào)函數(shù)之前,可以不必進(jìn)行聲明。#include<stdio.h>intmax(intx,inty);voidmain(){……}intmax(intx,inty){……}#include<stdio.h>intmax(intx,inty){……}voidmain(){……}3.5函數(shù)的嵌套與遞歸3.5.1函數(shù)的嵌套調(diào)用C語(yǔ)言的函數(shù)定義都是互相平行、獨(dú)立的,即不允許嵌套定義函數(shù)(在一個(gè)函數(shù)內(nèi)部定義另一個(gè)函數(shù))。但是,可以嵌套調(diào)用函數(shù)。所謂嵌套調(diào)用是指在一個(gè)函數(shù)的定義中出現(xiàn)對(duì)另一個(gè)函數(shù)的調(diào)用,即在被調(diào)函數(shù)中又調(diào)用其他函數(shù)。voidmain(){:

fun();:}voidfun(void){:

g();:}main函數(shù)fun函數(shù)g函數(shù)調(diào)用調(diào)用嵌套調(diào)用例:計(jì)算2~n之間所有素?cái)?shù)的和。voidmain(){輸入n(n是整數(shù))求和---s=sum(n)輸出s}intsum(intn){for(i=2,s=0;i<=n;i++)if(i是素?cái)?shù))s+=i;return(s);}intisPrime(intm){inti,k;k=sqrt(m);for(i=2;i<=k;i++)if(m%i==0)return(0);return(1);}組織成一個(gè)完整的C程序:#include<stdio.h>#include<math.h>intisPrime(intm){inti,k;k=sqrt(m);for(i=2;i<=k;i++)if(m%i==0)return(0);return(1);}intsum(intn){inti,s=0;for(i=2;i<=n;i++)if(isPrime(i)==1)s+=i;return(s);}voidmain(){輸入n(n是整數(shù))求和---s=sum(n)輸出s}voidmain(){intn,s;printf("Inputn(n>1):");scanf("%d",&n);

s=sum(n);printf("s=%d\n",s);}3.5.2函數(shù)的遞歸調(diào)用(不講)函數(shù)在被調(diào)用的過(guò)程中,又直接或間接的調(diào)用自身,則稱函數(shù)的遞歸調(diào)用。floatfunc(intn){intm;floatf;

……f=func(m);

……}(1)直接遞歸調(diào)用func1(intn){intm;

……

func2(y);

……

}func2(intx){inty;

……

func1(a);

……

}(2)間接遞歸調(diào)用例:輸入一個(gè)非負(fù)整數(shù)n,利用遞歸計(jì)算n!f(n)=n*f(n-1)(n>0)1(n=0)分析:n!=n*(n-1)!即longintfact(intn){longintf;if(n==0)

f=1;else

f=n*fact(n-1);return(f);}main(){intn;longintresult;

longintfact();while(1){printf("Inputadata:");scanf("%d",&n);if(n>=0)break;}result=fact(n);printf("result=%ld",result);}保證輸入非負(fù)整數(shù)n=5result=fact(5)=5*fact(4)=4*fact(3)=3*fact(2)=2*fact(1)=1*fact(0)=1result=120遞推回溯遞歸過(guò)程圖示用遞歸求解問(wèn)題的特點(diǎn)存在遞歸的終止條件存在能使問(wèn)題求解的遞歸方式使用遞歸的優(yōu)缺點(diǎn)優(yōu)點(diǎn):程序簡(jiǎn)潔,代碼緊湊。缺點(diǎn):每調(diào)用函數(shù)一次,在內(nèi)存堆棧區(qū)分配空間,用于存放函數(shù)變量、返回值等信息,所以遞歸次數(shù)過(guò)多,可能引起堆棧溢出,且時(shí)間效率較差。例:求n的階乘#include<stdio.h>/*非遞歸的方式*/floatfac(intn){floatf;inti;f=1;for(i=1;i<=n;i++) f=f*i;return(f);}voidmain(){intn;floaty;printf("Inputaintegernumber:");scanf("%d",&n);

y=fac(n);printf("%d!=%.0f",n,y);}#include<stdio.h>/*遞歸方式*/#inlcude<stdlib.h>floatfac(intn){floatf;if(n<0)exit(0);elseif(n==0||n==1)f=1;elsef=fac(n-1)*n;return(f);}voidmain(){floaty;intn;printf("Inputaintegernumber:");scanf("%d",&n);

y=fac(n);printf("%d!=%.0f",n,y);}遞歸的終止條件遞歸方式main函數(shù)輸入m3y=fac(m)輸出y6調(diào)用facmn3因3!=1或0f=3*fac(3-1)返回f=6調(diào)用facmn2返回f=2返回f=1因2!=1或0f=2*fac(2-1)調(diào)用facmn1因1==1f=1結(jié)束上例遞歸調(diào)用過(guò)程:3.6庫(kù)函數(shù)庫(kù)函數(shù):即系統(tǒng)已經(jīng)定義好、具有特定功能的函數(shù)。這些函數(shù)可以直接使用,不必重新定義,但使用時(shí)需要用#include命令把相應(yīng)的頭文件包含進(jìn)來(lái)。輸入輸出函數(shù)(頭文件:stdio.h):printf()scanf()getchar()putchar()數(shù)學(xué)函數(shù)(頭文件:math.h):sqrt()pow()exp()log10()fabs()字符串函數(shù)(頭文件:string.h):strcpy()strcat()strcmp()strlen()各函數(shù)的功能見(jiàn)附錄,使用時(shí)注意參數(shù)的個(gè)數(shù)和類型以及函數(shù)的返回值類型。3.7變量的作用域與存儲(chǔ)類型3.7.1變量的作用域

變量的作用域:指該變量有效的區(qū)域。變量定義的位置不同,其作用域也不同,作用域是從空間角度對(duì)變量特性的一個(gè)描述。按照作用域,C語(yǔ)言中的變量分為局部變量和全局變量。1.局部變量#include<stdio.h>intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}voidmain(){inta,b,c;scanf("%d%d",&a,&b);c=max(a,b);printf("max=%d\n",c);}局部變量是指在一個(gè)函數(shù)或復(fù)合語(yǔ)句內(nèi)部(位于一對(duì)花括號(hào)之間)定義的變量;其作用域是本函數(shù)或復(fù)合語(yǔ)句的內(nèi)部。x、y、z的有效范圍a、b、c的有效范圍說(shuō)明:①main函數(shù)中定義的變量是局部變量,只能在main函數(shù)中使用②不同函數(shù)中可以使用相同名字的變量,它們占用不同的內(nèi)存單元,相互獨(dú)立③形式參數(shù)也是局部變量④復(fù)合語(yǔ)句中定義的變量,其作用域只是本復(fù)合語(yǔ)句voidmain(){inta,b;……{intc;c=a+b;

溫馨提示

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