版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第十二章函數(shù)參數(shù)12目標(biāo)掌握函數(shù)參數(shù)按值傳遞掌握函數(shù)參數(shù)按指針傳遞掌握函數(shù)參數(shù)為數(shù)組類型掌握全局變量和局部變量3按值傳遞函數(shù)參數(shù)在默認(rèn)情況下的傳值方式按值傳遞是賦值過程,當(dāng)修改了形參的值,不會(huì)改變實(shí)參的值4#include"stdio.h"http://聲明并定義函數(shù)voidchangeParaValue(intpara1){ para1++; printf("函數(shù)內(nèi)形參值為:%d\n",para1);}//主函數(shù)voidmain(){ inti; i=10; printf("調(diào)用函數(shù)前值為:%d\n",i); changeParaValue(i);//調(diào)用函數(shù),i作為實(shí)參傳入
printf("調(diào)用函數(shù)后值為:%d\n",i);}5交換值功能#include"stdio.h"voidswap(inti,intj){ inttmp; tmp=i; i=j; j=tmp;}voidmain(){ intx,y; x=1; y=4; swap(x,y);}通過函數(shù)使變量的兩個(gè)值交換是否能夠?qū)崿F(xiàn)我們需要另外的值傳遞方式6指針作為函數(shù)參數(shù)函數(shù)的參數(shù)可以是簡(jiǎn)單數(shù)據(jù)類型,也可以是指針類型。使用指針類型做函數(shù)的參數(shù),實(shí)際向函數(shù)傳遞的變量的值是一個(gè)地址。7#include"stdio.h"http://定義并聲明函數(shù)changeValue,該函數(shù)有一個(gè)參數(shù),該參數(shù)的類型為指針voidchangeValue(int*p){ (*p)++;//對(duì)該指針變量所指向的值進(jìn)行自增}voidmain(){ inta,*pi; a=10; pi=&a; printf("調(diào)用函數(shù)前變量值:%d\n",*pi); //調(diào)用函數(shù),由于該函數(shù)的參數(shù)為一個(gè)指針參數(shù),所以傳一個(gè)指針變量
changeValue(p); printf("調(diào)用函數(shù)后變量值:%d\n",*pi);}8#include"stdio.h"http://swap函數(shù)實(shí)現(xiàn)了互換兩個(gè)變量的值voidswap(int*px,int*py){ inttmp; tmp=*px; *px=*py; *py=tmp;}voidmain(){ intm,n,*pm,*pn; m=3; n=12; pm=&m; pn=&n; printf("調(diào)用函數(shù)前變量m=%d,n=%d\n",m,n); swap(pm,pn); printf("調(diào)用函數(shù)后變量m=%d,n=%d\n",m,n);}&m&n312&m12&n3pmmpnnpxmpyn實(shí)參的值賦給形參9數(shù)組作為函數(shù)參數(shù)數(shù)組名包含了數(shù)組中第一個(gè)元素的地址當(dāng)用數(shù)組作為參數(shù)時(shí),傳遞的就是數(shù)組中第一個(gè)元素的地址我們可以給函數(shù)加一個(gè)參數(shù),該參數(shù)就是用來傳遞數(shù)組長(zhǎng)度給函數(shù)的10#include"stdio.h"intgetLargest(intarr[],intlength){ intmax,i; max=arr[0]; for(i=0;i<length;i++) { if(max<arr[i]) { max=arr[i]; } } returnmax;}voidmain(){ intinputArr[10],i,max; printf("請(qǐng)輸入10個(gè)數(shù)字。\n"); //通過循環(huán)輸入10個(gè)數(shù)字
for(i=0;i<10;i++) {scanf("%d",&inputArr[i]); } //調(diào)用getLargest函數(shù),該函數(shù)返回一個(gè)數(shù)組中的最大值
max=getLargest(inputArr,10); //輸出最大值
printf("最大值為:%d",max);}01236789inputArr數(shù)組arr11voidmain(){ intarr[10],arrLength,max; //調(diào)用輸入輸入函數(shù)
arrLength=inputArr(arr); //得到最大值
max=getLargest(arr,arrLength); //輸出最大值
printf("最大值為:%d\n",max);}#include"stdio.h"intinputArr(intarr[]){ charin,i; intcount=0 printf("請(qǐng)輸入數(shù)字。\n"); for(i=0;i<10;i++) { scanf("%d",&arr[i]); count++; getchar(); printf("是否繼續(xù)輸入?(y/n)"); scanf("%c",&in); if(in=='n'||in=='N') { break;//用戶停止輸入,退出循環(huán)
} } returncount;//這個(gè)count的值就是用戶輸入的數(shù)量}intgetLargest(intarr[],intlength){ intmax,i; max=arr[0];
for(i=0;i<length;i++) { if(max<arr[i]) {max=arr[i]; } } returnmax;}12局部變量和全局變量局部變量是在函數(shù)內(nèi)部定義的變量,其作用域?yàn)樗诘暮瘮?shù)內(nèi)全局變量是函數(shù)外聲明的變量。其作用域?yàn)閺亩x變量的位置開始到程序結(jié)束,其它任何函數(shù)都能訪問。13變量的作用域限于陸地限于水中限于空中14局部變量15全局變量#include"stdio.h"intgm=1,gn=3;//聲明兩個(gè)全局變量gm和gn//聲明并定義函數(shù)f1,該函數(shù)返回類型為int,有一個(gè)int類型參數(shù)intf1(intt){intr;r=t+gm;//使用全局變量gmreturnr;}voidmain(){intx,y;x=10;y=f1(x)+gn;//使用全局變量gn}16變量的存儲(chǔ)類型自動(dòng)的(auto)靜態(tài)的(static)寄存器(register)外部的(extern)17靜態(tài)的(static)#include"stdio.h"voidfunc(intcount){ staticintm=0; intn=0; m=m+1; n=n+1; printf("第%d次調(diào)用函數(shù)的時(shí)候:m=%d,n=%d\n",count,m,n);}voidmain(){ inti; for(i=0;i<10;i++) {func(i);}}18總結(jié)在默認(rèn)情況下,函數(shù)是按值傳遞函數(shù)的參數(shù)可以是我們?cè)谇懊鎸W(xué)過的簡(jiǎn)單數(shù)據(jù)類型,也可以是指針類型。使用指針類型做函數(shù)的參數(shù),實(shí)際向函數(shù)傳遞的變量的值是一個(gè)地址。函數(shù)參數(shù)是數(shù)組時(shí),實(shí)際傳遞的是數(shù)組的首地址。所謂的作用域就是程序中的那些部分可以訪問哪些變量,哪些變量在哪些地方不能被別人訪問。局部變量
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026湖南長(zhǎng)沙市雅禮中南附屬中學(xué)春季非事業(yè)編制教師招聘?jìng)淇碱}庫完整參考答案詳解
- 2026湖南長(zhǎng)沙市雨花區(qū)雅境中學(xué)春季合同制教師招聘?jìng)淇碱}庫及一套參考答案詳解
- 2026黑龍江齊齊哈爾市泰來縣城鎮(zhèn)建設(shè)服務(wù)中心招聘市政園林養(yǎng)護(hù)人員3人備考題庫完整參考答案詳解
- 2026浙江金華市武義縣安然殯儀服務(wù)有限公司招聘1人備考題庫帶答案詳解
- 2026浙江臺(tái)州黃巖天朗筑家房地產(chǎn)營(yíng)銷策劃有限公司招聘勞務(wù)派遣工作人員4人備考題庫及完整答案詳解1套
- 華鎣市就業(yè)創(chuàng)業(yè)促進(jìn)中心2026年第一批城鎮(zhèn)公益性崗位人員招聘?jìng)淇碱}庫及一套完整答案詳解
- 2026湖南高速工程咨詢有限公司招聘專業(yè)技術(shù)人員10人備考題庫及答案詳解一套
- 2026湖北恩施供銷好農(nóng)友現(xiàn)代農(nóng)業(yè)有限公司市場(chǎng)營(yíng)銷部人員招聘?jìng)淇碱}庫及答案詳解1套
- 2026西藏日喀則市薩嘎縣招聘藝術(shù)團(tuán)演職人員5人備考題庫及完整答案詳解一套
- 2026貴州貴陽禮物旅游產(chǎn)業(yè)發(fā)展有限公司招聘1人備考題庫有完整答案詳解
- 人工智能翻譯倫理探討-全面剖析
- 代理招生合作協(xié)議
- 《金融大數(shù)據(jù)分析》-課件匯 第1-9章 數(shù)據(jù)的管理與探索 - 集成學(xué)習(xí)
- 醫(yī)院護(hù)理信息小組年度工作計(jì)劃
- 包裝標(biāo)準(zhǔn)規(guī)范要求
- GB 21258-2024燃煤發(fā)電機(jī)組單位產(chǎn)品能源消耗限額
- 碧桂園資金池管理制度
- 數(shù)字媒體藝術(shù)史全冊(cè)完整教學(xué)課件
- 維保電梯應(yīng)急方案范文
- 小學(xué)文言文重點(diǎn)字詞解釋梳理
- 交通船閘大修工程質(zhì)量檢驗(yàn)規(guī)范
評(píng)論
0/150
提交評(píng)論