版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1.局部變量和全局變量提綱2.動態(tài)變量和靜態(tài)變量3.變量的其他存儲類別4.內(nèi)部函數(shù)與外部函數(shù)1.局部變量和全局變量局部變量全局變量C語言程序設計定義:局部變量也稱為內(nèi)部變量。局部變量是在函數(shù)內(nèi)作定義說明的,其作用域僅限于函數(shù)內(nèi)。例如:intf1(inta){intb,c;……}intf2(intx){inty,z;……}main(){intm,n;……}函數(shù)f1:函數(shù)f2:主函數(shù)main:
C語言程序設計注意說明:(1)主函數(shù)中定義的變量也只能在主函數(shù)中使用,不能在其它函數(shù)中使用。
(2)形參變量是屬于被調(diào)函數(shù)的局部變量,實參變量是屬于主調(diào)函數(shù)的局部變量。
(3)允許在不同的函數(shù)中使用相同的變量名,它們代表不同的對象,分配不同的單元,互不干擾。運行結(jié)果語句編寫voidf(inta,intb){inti,j;i=a+2;j=b-1;printf("函數(shù)f中:a=%d,b=%d\n",a,b);printf("函數(shù)f中:i=%d,j=%d\n",i,j);}main(){inti=4,j=5;f(i,j);printf("主函數(shù)中:i=%d,j=%d\n",i,j);}函數(shù)f中:a=4,b=5函數(shù)f中:i=6,j=4主函數(shù)中:i=4,j=51.局部變量和全局變量局部變量全局變量1.局部變量和全局變量局部變量全局變量C語言程序設計定義:全局變量也稱為外部變量,它是在函數(shù)外部定義的變量,其作用域是整個源程序。例如:函數(shù)f1:函數(shù)f2:主函數(shù)main:
inta,b;voidf1(){……}floatx,y;intf2(){……}main(){……}1.局部變量和全局變量局部變量全局變量C語言程序設計輸入圓的半徑,求圓的周長和面積。
運行結(jié)果語句編寫floats;floatls(floatr){floatlen;
len=2*3.14*r;s=3.14*r*r;returnlen;}main(){floatc,r;printf("請輸入圓的半徑:");scanf("%f",&r);c=ls(r);printf("圓的周長為:%f\n",c);printf("圓的面積為:%f\n",s);}請輸入圓的半徑:5↙圓的周長為:31.400000圓的面積為:78.5000002.動態(tài)變量和靜態(tài)變量動態(tài)變量靜態(tài)變量C語言程序設計定義:變量前如不加以任何聲明或者專門聲明為auto存儲類別,稱為動態(tài)變量。f(inta){autointb,c=3;
……
}例題:說明:a是形參,屬于動態(tài)變量,b和c是函數(shù)中定義的變量,也屬于屬于動態(tài)變量,對c賦初值3。執(zhí)行完f函數(shù)后,自動釋放a,b,c所占的存儲單元。2.動態(tài)變量和靜態(tài)變量動態(tài)變量靜態(tài)變量C語言程序設計定義:變量的值在函數(shù)調(diào)用結(jié)束后保留原值,用關(guān)鍵字static進行聲明,稱為靜態(tài)變量。注意說明:(1)靜態(tài)變量屬于靜態(tài)存儲類別,在靜態(tài)存儲區(qū)內(nèi)分配存儲單元,在程序整個運行期間都不釋放。(2)靜態(tài)變量在編譯時賦初值,即只賦初值一次。語句編寫f(inta){autob=2;staticc=3;b=b+1;c=c+1;returna+b+c;}main(){inta=1,i;for(i=1;i<=2;i++)printf("第%d次調(diào)用后結(jié)果:%d\n",i,f(a));}變量存儲圖:實參a1b2c3調(diào)用f(1)形參a134運行結(jié)果第1次調(diào)用后結(jié)果:8調(diào)用f(2)5第2次調(diào)用后結(jié)果:93.變量的其他存儲類別register
externC語言程序設計寄存器變量定義:C語言允許將局部變量的值放在CPU中的寄存器中,這種變量叫“寄存器變量”,用關(guān)鍵字register作聲明。注意說明:(1)只有局部自動變量和形式參數(shù)可以作為寄存器變量。(2)一個計算機系統(tǒng)中的寄存器數(shù)目有限,不能定義任意多個寄存器變量。(3)局部靜態(tài)變量不能定義為寄存器變量。3.變量的其他存儲類別register
externC語言程序設計聲明外部變量定義:如果在定義點之前想引用某外部變量,則應該在引用之前用關(guān)鍵字extern作“外部變量聲明”。用extern聲明外部變量,擴展變量的作用域。語句編寫運行結(jié)果請輸入存款金額:800↙余額為:10800元voidsave(){intmoney;externamount;printf("請輸入存款金額:");scanf("%d",&money);amount=amount+money;}intamount=10000;main(){save();printf("余額為:%d元\n",amount);}如果沒有聲明語句externamount;那么在save函數(shù)中amount不會識別,系統(tǒng)報錯。4.內(nèi)部函數(shù)與外部函數(shù)內(nèi)部函數(shù)外部函數(shù)C語言程序設計定義:如果一個函數(shù)只能被本文件中其他函數(shù)所調(diào)用,它稱為內(nèi)部函數(shù)。內(nèi)部函數(shù)又稱靜態(tài)函數(shù)。格式:static
類型標識符函數(shù)名(形參表)static
int
fun(int
a,int
b)
例如:使用內(nèi)部函數(shù)解決兩個文件中存在重名函數(shù)問題。文件test0.c文件test.cstaticintsum(inta,intb,intc){ints;s=a+b+c;returns;}#include"stdio.h"intsum(inta,intb){ints;s=a+b;returns;}main(){intx,y,s;scanf("%d%d",&x,&y);s=sum(x,y);printf("s=%d\n",s);}4.內(nèi)部函數(shù)與外部函數(shù)內(nèi)部函數(shù)外部函數(shù)C語言程序設計定義:在定義函數(shù)時,如果在函數(shù)首部的最左端冠以關(guān)鍵字extern,則表示此函數(shù)是外部函數(shù)。格式:extern
類型標識符函數(shù)名(形參表)extern
int
fun
(int
a,
int
b)
例如:使用外部函數(shù)解決一個文件調(diào)用其他文件中函數(shù)問題。文件test0.c文件test.cexternintdiffer(inta,intb){intz;z=a-b;returnz;}#include"stdio.h"intsum(inta,intb){ints;s=a+b;returns;}main(){intx,y,s,z;scanf("%d%d
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年大理州南澗縣供排水有限責任公司考核招聘工作人員(4人)考試參考題庫及答案解析
- 2026年甘肅蘭州皋蘭縣教育系統(tǒng)招聘教師10人考試參考試題及答案解析
- 2026廣東廣州花山鎮(zhèn)華僑初級中學招聘水電工1人考試備考題庫及答案解析
- 2026廣東江門鶴山市址山鎮(zhèn)專職消防員招聘1人考試參考試題及答案解析
- 2026福建福州市馬尾醫(yī)療保障局勞務派遣工作人員招聘2人考試參考試題及答案解析
- 2026云南昭通中藥材貿(mào)易有限公司招聘行政專員3人考試參考題庫及答案解析
- 2026陜西西安長安大學工程設計研究院有限公司招聘考試備考題庫及答案解析
- 2026年天津市北辰區(qū)婦幼保健計劃生育服務中心招聘高層次專業(yè)技術(shù)人員1人考試參考試題及答案解析
- 2026年臺州市椒江區(qū)章安街道中心幼兒園保健醫(yī)生招聘1人筆試模擬試題及答案解析
- 2026上海復旦大學附屬腫瘤醫(yī)院胸外科大學科團隊招聘3人考試備考試題及答案解析
- 2025年秋蘇教版(新教材)初中生物八年級上冊期末知識點復習卷及答案(共三套)
- 2025年小升初學校家長面試題庫及答案
- 2025年資產(chǎn)清查自查報告
- 2025年浙江省杭州市輔警考試真題及答案
- 山東名校考試聯(lián)盟2025年12月高三年級階段性檢測英語試卷(含答案)
- 建筑企業(yè)工傷預防培訓體系
- 2025年江南大學招聘真題(行政管理崗)
- 2024-2025學年江蘇省南通市海門區(qū)高二上學期期末調(diào)研地理試題(解析版)
- 汽車焊接知識培訓
- 團干部培訓課件
評論
0/150
提交評論