第8章 8.4變量的作用域和生存期_第1頁(yè)
第8章 8.4變量的作用域和生存期_第2頁(yè)
第8章 8.4變量的作用域和生存期_第3頁(yè)
第8章 8.4變量的作用域和生存期_第4頁(yè)
第8章 8.4變量的作用域和生存期_第5頁(yè)
已閱讀5頁(yè),還剩12頁(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、LOGOLOGO第8章 函數(shù)CONTENTS 目 錄提出問(wèn)題 引入新課自主學(xué)習(xí) 明確考點(diǎn)案例分析 明確新知仿真演練 體驗(yàn)探索課后作業(yè) 自我提升思考C語(yǔ)言函數(shù)中變量的定義、存儲(chǔ)? 使用過(guò)程中對(duì)變量有什么要求?形參變量與實(shí)參變量有什么區(qū)別?變量的作用域是指變量有效性的作用范圍稱變量的作用域。定義:分類:根據(jù)變量作用域的不同,變量被分為局部變量和全局變量?jī)纱箢???键c(diǎn)一:變量的作用域1局部變量#includemain() int i=2,j=3,k; k=i+j; int k=8; k=k+i+j; i+=j+3; printf(1.k=%d,i=%dn,k,i); printf(2.k=%d,i=%

2、dn,k,i);1、局部變量int f2(int a) a=a*2; printf(f2:a=%dn,a); return (a);int f1() int a,b; a=10; b=f2(a); printf(f1:a=%d,b=%dn,a,b);main() int a,c; a=2; c=8; f1(); printf(main:a=%d,c=%dn,a,c);1、局部變量main() int a; a=10; int b; b=5; printf(a=%d,b=%dn,a,b); printf(a=%d,b=%dn,a,b);2全局變量int a;int f2() int a; a=3

3、0; printf(f2:a=%dn,a); return (a);int f1() int b; printf(Begin of f1:a=%dn,a); a=10; b=f2(); printf(End of f1:a=%d,b=%dn,a,b);main() a=2; printf(Begin of main;a=%dn,a); f1(); printf(End of main:a=%dn,a); getch();2全局變量#include int a,b; void f1( ) int t1,t2; int b=50; t1 = a * 2; t2 = b * 3; printf (t

4、1=%d,t2=%d,b=%dn,t1,t2,b); main() a=2; b=4; f1( ); printf (a=%d,b=%d, a, b); 2全局變量#include main() extern int a,b; printf (a=%d,b=%dn, a, b); f1(); getch();int a=2,b=4;f1() int t1,t2; int b=50; t1 = a * 2; t2 = b * 3; printf (t1=%d,t2=%d,b=%dn,t1,t2,b);3.全局變量的申明 指在定義點(diǎn)的函數(shù)如果要引用全局變量,則應(yīng)該在函數(shù)中要進(jìn)行全局變量的申明。格式

5、:extern 全局變量和局部變量的區(qū)別:變量的生存期則是指變量在程序執(zhí)行過(guò)程中的哪一段時(shí)期內(nèi)存在、擁有分配的內(nèi)存存儲(chǔ)單元,即變量在哪些函數(shù)的執(zhí)行期內(nèi)被分配存儲(chǔ)單元。生存期是從時(shí)間角度分析變量特性的名詞。定義:分類:從變量的作用域(即從空間)角度來(lái)分,可以分為全局變量和局部變量。從變量值存在的時(shí)間(即生存期)角度來(lái)分,可以分為靜態(tài)存儲(chǔ)方式和動(dòng)態(tài)存儲(chǔ)方式。考點(diǎn)二:變量的生存期考點(diǎn)二:變量的生存期【例1】以下程序運(yùn)行后的輸出結(jié)果是( )。fun(int a) int b=0;static int c=3; b+;c+; return (a+b+c);main() int i,a=5; for(i=

6、0;i3;i+) printf(%d%d,i,fun(a); printf(n);循環(huán)次數(shù) i的值a 的值b的值c的值 fun返回值1051 4102151 5 113251 6 12三、案例分析 交流提升【例2】有以下程序執(zhí)行后輸出結(jié)果是( ) int a=2; int f(int n) static int a=3; int t=0; if(n%2) static int a=4; t+=a+; else static int a=5; t+=a+; return t+a+; main() int s=a, i; for( i=0; i3; i+) s+=f(i); printf(%dn,

7、 s);第一次執(zhí)行f函數(shù)后,各變量的值第二次執(zhí)行f函數(shù)后,各變量的值第三次執(zhí)行f函數(shù)后,各變量的值i123全局變量a222f函數(shù)中的a456if語(yǔ)句條件成立時(shí)的a 55if語(yǔ)句條件不成立時(shí)的a667函數(shù)返回值8811s101829四、仿真演練,體驗(yàn)探索1、下面程序的運(yùn)行結(jié)果是( )int d=1;fun(int p) static int d=5; d+=p; printf(“%d ”,d); return (d); main() int a=3; printf(“%dn”,fun(a+fun(d); 四、仿真演練,體驗(yàn)探索2、分析下面的程序,執(zhí)行后結(jié)果是() fun3(int x) static int a=3; a+=x;return (a); main() int

溫馨提示

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