c語(yǔ)言程序設(shè)計(jì)基礎(chǔ)函數(shù)學(xué)習(xí)教案_第1頁(yè)
c語(yǔ)言程序設(shè)計(jì)基礎(chǔ)函數(shù)學(xué)習(xí)教案_第2頁(yè)
c語(yǔ)言程序設(shè)計(jì)基礎(chǔ)函數(shù)學(xué)習(xí)教案_第3頁(yè)
c語(yǔ)言程序設(shè)計(jì)基礎(chǔ)函數(shù)學(xué)習(xí)教案_第4頁(yè)
c語(yǔ)言程序設(shè)計(jì)基礎(chǔ)函數(shù)學(xué)習(xí)教案_第5頁(yè)
已閱讀5頁(yè),還剩96頁(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、會(huì)計(jì)學(xué)1c語(yǔ)言程序設(shè)計(jì)基礎(chǔ)函數(shù)語(yǔ)言程序設(shè)計(jì)基礎(chǔ)函數(shù)第一頁(yè),編輯于星期六:四點(diǎn) 三十分。本章內(nèi)容本章內(nèi)容 5.2 函數(shù)原型與函數(shù)調(diào)用函數(shù)原型與函數(shù)調(diào)用 5.3 函數(shù)的嵌套調(diào)用函數(shù)的嵌套調(diào)用 5.4 函數(shù)的遞歸調(diào)用函數(shù)的遞歸調(diào)用 5.1 函數(shù)基礎(chǔ)知識(shí)函數(shù)基礎(chǔ)知識(shí)第1頁(yè)/共101頁(yè)第二頁(yè),編輯于星期六:四點(diǎn) 三十分。本章內(nèi)容本章內(nèi)容 5.6 變量的作用域變量的作用域5.7 變量的存儲(chǔ)類別變量的存儲(chǔ)類別 5.5 調(diào)用與被調(diào)用函數(shù)間的數(shù)據(jù)傳遞調(diào)用與被調(diào)用函數(shù)間的數(shù)據(jù)傳遞第2頁(yè)/共101頁(yè)第三頁(yè),編輯于星期六:四點(diǎn) 三十分。本節(jié)內(nèi)容本節(jié)內(nèi)容 5.1.2 函數(shù)的分類函數(shù)的分類 5.1.3 函數(shù)的定義函數(shù)的定

2、義 5.1.1 函數(shù)的概念函數(shù)的概念第3頁(yè)/共101頁(yè)第四頁(yè),編輯于星期六:四點(diǎn) 三十分。C程序程序源程序文件源程序文件1函數(shù)函數(shù)1函數(shù)函數(shù)n源程序文件源程序文件n函數(shù)函數(shù)1函數(shù)函數(shù)m第4頁(yè)/共101頁(yè)第五頁(yè),編輯于星期六:四點(diǎn) 三十分。n可以將一些重復(fù)使用的功能或操作定義成一個(gè)函數(shù),在其他函數(shù)中如果需要可以直接調(diào)用這個(gè)函數(shù),而省掉了很多重復(fù)性的工作。并且使程序結(jié)構(gòu)看起來(lái)更加簡(jiǎn)單清晰。第5頁(yè)/共101頁(yè)第六頁(yè),編輯于星期六:四點(diǎn) 三十分。#include /包含預(yù)處理命令main( ) /主函數(shù)int max1(int x, int y); /max1函數(shù)聲明int a,b,c; /聲明部分,

3、定義變量printf(Please input two integers:n); /調(diào)用printf函數(shù) scanf(%d,%d,&a,&b); /調(diào)用scanf函數(shù) c=max1(a,b); /調(diào)用max1函數(shù)printf(max=%dn, c); /調(diào)用printf函數(shù) int max1(int x, int y) /定義max1函數(shù) int z; if(xy) z=x; else z=y; return(z ); 第6頁(yè)/共101頁(yè)第七頁(yè),編輯于星期六:四點(diǎn) 三十分。數(shù)調(diào)用。因此,語(yǔ)言程序的執(zhí)行總是從main函數(shù)開(kāi)始, 完成對(duì)其它函數(shù)的調(diào)用后再返回到main函數(shù),最后由main函數(shù)結(jié)束整

4、個(gè)程序。一個(gè)語(yǔ)言源程序必須有且只有一個(gè)主函數(shù)main。第7頁(yè)/共101頁(yè)第八頁(yè),編輯于星期六:四點(diǎn) 三十分。使用。第8頁(yè)/共101頁(yè)第九頁(yè),編輯于星期六:四點(diǎn) 三十分。它的返回值為“空類型”,空類型的說(shuō)明符為“void”。第9頁(yè)/共101頁(yè)第十頁(yè),編輯于星期六:四點(diǎn) 三十分。#include /包含預(yù)處理命令main( )/主函數(shù)void max2(int x, int y);/max2函數(shù)聲明int a,b;/聲明部分,定義變量printf(Please input two integers:n); /調(diào)用printf函數(shù) scanf(%d,%d,&a,&b);/調(diào)用scanf函數(shù) max2

5、(a,b);/調(diào)用max2函數(shù),無(wú)返回值 void max2(int x, int y)/定義max2函數(shù) int z; if(xy) z=x; else z=y; printf(max=%dn, z); 第10頁(yè)/共101頁(yè)第十一頁(yè),編輯于星期六:四點(diǎn) 三十分。函數(shù)定義及函數(shù)說(shuō)明時(shí)用到的參數(shù),稱為形式參數(shù)(簡(jiǎn)稱為形參)。在函數(shù)調(diào)用時(shí)也必須給出參數(shù),稱為實(shí)際參數(shù)(簡(jiǎn)稱為實(shí)參)。進(jìn)行函數(shù)調(diào)用時(shí),主調(diào)函數(shù)將把實(shí)參的值傳送給形參,供被調(diào)函數(shù)使用。如例5-1中的max1或max2函數(shù)都有兩個(gè)整型的參數(shù)x和y。第11頁(yè)/共101頁(yè)第十二頁(yè),編輯于星期六:四點(diǎn) 三十分。第12頁(yè)/共101頁(yè)第十三頁(yè),編輯于

6、星期六:四點(diǎn) 三十分。n由左、右大括號(hào)括起來(lái)的部分稱為函數(shù)體。其中聲明部分對(duì)函數(shù)內(nèi)部用到的變量以及變量的類型進(jìn)行說(shuō)明,并說(shuō)明該函數(shù)中所調(diào)用的函數(shù)類型。語(yǔ)句部分,規(guī)定函數(shù)中要執(zhí)行的語(yǔ)句,由C語(yǔ)言的基本語(yǔ)句組成,是函數(shù)的核心部分。第13頁(yè)/共101頁(yè)第十四頁(yè),編輯于星期六:四點(diǎn) 三十分。帶形式參數(shù)的個(gè)數(shù)及各參數(shù)的類型。形式參數(shù)表列可以為空,即定義的函數(shù)為無(wú)參函數(shù),也可以有多個(gè)形參,當(dāng)有多個(gè)形參時(shí),各參數(shù)之間用逗號(hào)隔開(kāi)。但無(wú)論有沒(méi)有形參,函數(shù)名后的括號(hào)都不能丟掉。第14頁(yè)/共101頁(yè)第十五頁(yè),編輯于星期六:四點(diǎn) 三十分。#include int dif(int x, int y) int z;z =

7、 x y ? x-y : y-x; return( z );main( )/主函數(shù)int a,b,c; /聲明部分,定義變量printf(Please input two integers:n); /調(diào)用printf函數(shù) scanf(%d,%d,&a,&b);/調(diào)用scanf函數(shù) c=dif(a,b);/調(diào)用dif函數(shù)有參,有返回值并賦給變量cprintf(dif=%dn, c);/調(diào)用printf函數(shù) 第15頁(yè)/共101頁(yè)第十六頁(yè),編輯于星期六:四點(diǎn) 三十分。序結(jié)構(gòu)清晰,需要時(shí)可以用其它函數(shù)代替。第16頁(yè)/共101頁(yè)第十七頁(yè),編輯于星期六:四點(diǎn) 三十分。本節(jié)內(nèi)容本節(jié)內(nèi)容 5.2.2 函數(shù)的參

8、數(shù)函數(shù)的參數(shù) 5.2.3 函數(shù)的調(diào)用函數(shù)的調(diào)用 5.2.4 函數(shù)的返回值函數(shù)的返回值 5.2.1 函數(shù)的原型函數(shù)的原型第17頁(yè)/共101頁(yè)第十八頁(yè),編輯于星期六:四點(diǎn) 三十分。第18頁(yè)/共101頁(yè)第十九頁(yè),編輯于星期六:四點(diǎn) 三十分。, 第19頁(yè)/共101頁(yè)第二十頁(yè),編輯于星期六:四點(diǎn) 三十分。#include main( ) void calc(float x,float y,char opr);/對(duì)被調(diào)函數(shù)calc的說(shuō)明 float a,b; char opr;printf(Input expression:);scanf(%f%c%f,&a,&opr,&b);calc(a,b,opr);

9、void calc(float x,float y,char opr)/函數(shù)calc的定義 switch(opr) case +:printf(%5.2f%c%5.2f=%6.2fn,x,opr,y,x+y);return;case -:printf(%5.2f%c%5.2f=%6.2fn,x,opr,y,x-y);return;case *:printf(%5.2f%c%5.2f=%6.2fn,x,opr,y,x*y);return;case /:printf(%5.2f%c%5.2f=%6.2fn,x,opr,y,x/y);return;default :printf(Operator e

10、rror! n); 第20頁(yè)/共101頁(yè)第二十一頁(yè),編輯于星期六:四點(diǎn) 三十分。數(shù)之后時(shí),一定要先聲明函數(shù),再使用。第21頁(yè)/共101頁(yè)第二十二頁(yè),編輯于星期六:四點(diǎn) 三十分。為實(shí)參。n實(shí)參的值是在主調(diào)函數(shù)中給定的,在調(diào)用過(guò)程中將實(shí)參的值傳遞給相應(yīng)的形參,從而實(shí)現(xiàn)主調(diào)函數(shù)向被調(diào)函數(shù)的數(shù)據(jù)傳送。實(shí)參出現(xiàn)在主調(diào)函數(shù)中,進(jìn)入被調(diào)函數(shù)后,實(shí)參變量也不能使用。第22頁(yè)/共101頁(yè)第二十三頁(yè),編輯于星期六:四點(diǎn) 三十分。第23頁(yè)/共101頁(yè)第二十四頁(yè),編輯于星期六:四點(diǎn) 三十分。n指針),實(shí)參傳遞地址給形參,這樣形參和實(shí)參存在于一個(gè)地址空間,被調(diào)函數(shù)對(duì)形參做的任何操作都會(huì)影響主調(diào)函數(shù)中的實(shí)參變量,實(shí)參與形

11、參的傳遞是雙向的。第24頁(yè)/共101頁(yè)第二十五頁(yè),編輯于星期六:四點(diǎn) 三十分。#include void swap(int x, int y) int z;z=x; x=y; y=z; printf(x=%d,y=%d,x ,y);main( ) int a,b;printf(please input a,b: );scanf(%d,%d,&a,&b);swap(a,b); printf(na=%d,b=%dn,a,b);第25頁(yè)/共101頁(yè)第二十六頁(yè),編輯于星期六:四點(diǎn) 三十分。n函數(shù)名()第26頁(yè)/共101頁(yè)第二十七頁(yè),編輯于星期六:四點(diǎn) 三十分。#include int dif(int

12、x, int y) int z; z = x y ? x-y : y-x; return( z );main( )int m,n ,diff;m=10;n=4;diff=dif(m,n);printf(dif=%d n,diff);第27頁(yè)/共101頁(yè)第二十八頁(yè),編輯于星期六:四點(diǎn) 三十分。第28頁(yè)/共101頁(yè)第二十九頁(yè),編輯于星期六:四點(diǎn) 三十分。n作為參數(shù)的函數(shù)調(diào)用。函數(shù)作為另一個(gè)函數(shù)調(diào)用的實(shí)際參數(shù)出現(xiàn)。n這種情況是把該函數(shù)的返回值作為實(shí)參進(jìn)行傳遞,因此要求該函數(shù)必須是有返回值的。第29頁(yè)/共101頁(yè)第三十頁(yè),編輯于星期六:四點(diǎn) 三十分。#include int cube (int x)

13、/定義cube函數(shù) return (x * x * x); main( ) int a;printf(nEnter an integer number:);scanf(%d, &a);printf(%d * %d * %d = %dn, a, a, a, cube (a); 第30頁(yè)/共101頁(yè)第三十一頁(yè),編輯于星期六:四點(diǎn) 三十分。第31頁(yè)/共101頁(yè)第三十二頁(yè),編輯于星期六:四點(diǎn) 三十分。第32頁(yè)/共101頁(yè)第三十三頁(yè),編輯于星期六:四點(diǎn) 三十分。#include main() int dif(float x,float y); float a,b; int c; printf(pleas

14、e input a,b: ); scanf(%f,%f,&a,&b); c=dif(a,b); printf(difference is %dn,c);int dif(float x,float y) /函數(shù)類型為整型 float z; /z為實(shí)型變量 z=xy?x-y:y-x; return(z);第33頁(yè)/共101頁(yè)第三十四頁(yè),編輯于星期六:四點(diǎn) 三十分。第34頁(yè)/共101頁(yè)第三十五頁(yè),編輯于星期六:四點(diǎn) 三十分。第35頁(yè)/共101頁(yè)第三十六頁(yè),編輯于星期六:四點(diǎn) 三十分。第36頁(yè)/共101頁(yè)第三十七頁(yè),編輯于星期六:四點(diǎn) 三十分。#include int dif(int x,int y,

15、int z);/dif函數(shù)的說(shuō)明int max(int x,int y,int z);/max函數(shù)的說(shuō)明int min(int x,int y,int z);/min函數(shù)的說(shuō)明void main() int a,b,c,d;printf(please input a b c:); scanf(%d%d%d,&a,&b,&c); d=dif(a,b,c);/調(diào)用dif函數(shù) printf(Max-Min=%dn,d);int dif(int x,int y,int z) /定義dif函數(shù),求最大值與最小值之差 return max(x,y,z)-min(x,y,z); /調(diào)用max和min函數(shù)第3

16、7頁(yè)/共101頁(yè)第三十八頁(yè),編輯于星期六:四點(diǎn) 三十分。int max(int x,int y,int z) /定義max函數(shù),求三個(gè)數(shù)中最大值 int r;r=xy?x:y;return(rz?r:z);int min(int x,int y,int z) /定義min函數(shù),求三個(gè)數(shù)中最小值 int r;r=xy?x:y;return(rz?r:z);第38頁(yè)/共101頁(yè)第三十九頁(yè),編輯于星期六:四點(diǎn) 三十分。最終可以達(dá)到結(jié)束遞歸的條件。第39頁(yè)/共101頁(yè)第四十頁(yè),編輯于星期六:四點(diǎn) 三十分。第40頁(yè)/共101頁(yè)第四十一頁(yè),編輯于星期六:四點(diǎn) 三十分。第41頁(yè)/共101頁(yè)第四十二頁(yè),編輯于

17、星期六:四點(diǎn) 三十分。#include void dtoo( int x)/定義遞歸函數(shù)dtoo unsigned int m;m=x%8;/除8取余數(shù)x=x/8;/除8求商if (x!=0) dtoo(x);printf(%d,m);main( ) unsigned int n;printf(please decimal digit n:);scanf(%d,&n);/輸入十進(jìn)制整數(shù)printf(%d)10=(,n);dtoo(n);/調(diào)用遞歸函數(shù)dtooprintf()8n); 第42頁(yè)/共101頁(yè)第四十三頁(yè),編輯于星期六:四點(diǎn) 三十分。#include float fac (int n)

18、 float f=0; if(n0) printf(n0,error!); else if (n=0 | n=1) f=1; else f=fac(n-1)*n; return (f);main( ) int n; float y; printf(Input a integer n:); scanf(%d,&n); y=fac(n); printf(%d!=%-10.0fn,n,y);第43頁(yè)/共101頁(yè)第四十四頁(yè),編輯于星期六:四點(diǎn) 三十分。ABC第44頁(yè)/共101頁(yè)第四十五頁(yè),編輯于星期六:四點(diǎn) 三十分。A B CA BCA B C第45頁(yè)/共101頁(yè)第四十六頁(yè),編輯于星期六:四點(diǎn) 三十分

19、。n1.2 將A上一個(gè)盤子從A移到B;n1.3 將C上一個(gè)盤子從C移到B。A BC1.1A BC1.2A BC1.3第46頁(yè)/共101頁(yè)第四十七頁(yè),編輯于星期六:四點(diǎn) 三十分。A B C3第47頁(yè)/共101頁(yè)第四十八頁(yè),編輯于星期六:四點(diǎn) 三十分。第48頁(yè)/共101頁(yè)第四十九頁(yè),編輯于星期六:四點(diǎn) 三十分。第49頁(yè)/共101頁(yè)第五十頁(yè),編輯于星期六:四點(diǎn) 三十分。第50頁(yè)/共101頁(yè)第五十一頁(yè),編輯于星期六:四點(diǎn) 三十分。第51頁(yè)/共101頁(yè)第五十二頁(yè),編輯于星期六:四點(diǎn) 三十分。#include void move(int no, char from, char to) printf(Mov

20、e %3d : %c - %cn, no, from, to); void hanoi(int n, char one, char two, char three) if (n=1) move(n, one, three); else hanoi(n-1, one, three,two); move(n, one, three); hanoi(n-1, two, one, three); void main() int n; printf(Input the number of diskes: ); scanf(%d,&n); printf(The step to moving %3d dis

21、kes:n,n); hanoi(n, A, B, C); 第52頁(yè)/共101頁(yè)第五十三頁(yè),編輯于星期六:四點(diǎn) 三十分。第53頁(yè)/共101頁(yè)第五十四頁(yè),編輯于星期六:四點(diǎn) 三十分。本節(jié)內(nèi)容本節(jié)內(nèi)容 5.5.2調(diào)用與被調(diào)用函數(shù)間的地址傳遞調(diào)用與被調(diào)用函數(shù)間的地址傳遞 5.5.1調(diào)用與被調(diào)用函數(shù)間的數(shù)值傳遞調(diào)用與被調(diào)用函數(shù)間的數(shù)值傳遞第54頁(yè)/共101頁(yè)第五十五頁(yè),編輯于星期六:四點(diǎn) 三十分。第55頁(yè)/共101頁(yè)第五十六頁(yè),編輯于星期六:四點(diǎn) 三十分。第56頁(yè)/共101頁(yè)第五十七頁(yè),編輯于星期六:四點(diǎn) 三十分。#include void fun(int x, int y) x+; y+; print

22、f(x=%d,y=%d,x ,y);main( ) int m,n;printf(please input m,n: );scanf(%d,%d,&m,&n); fun(m,n); printf(nm=%d,n=%dn,m,n);第57頁(yè)/共101頁(yè)第五十八頁(yè),編輯于星期六:四點(diǎn) 三十分。第58頁(yè)/共101頁(yè)第五十九頁(yè),編輯于星期六:四點(diǎn) 三十分。#include void sort(int x, int y,int z)int temp; if(xy) temp=x; x=y; y=temp;if(xz) temp=x; x=z; z=temp;if(yz) temp=y; y=z; z=t

23、emp;printf(x=%d y=%d z=%dn,x,y,z);第59頁(yè)/共101頁(yè)第六十頁(yè),編輯于星期六:四點(diǎn) 三十分。main( )int a3,i ;for (i=0; i3; i+) scanf(%d,&ai); sort(a0,a1,a2); for(i=0;i3;i+) printf(a%d=%d,i,ai); printf(n);第60頁(yè)/共101頁(yè)第六十一頁(yè),編輯于星期六:四點(diǎn) 三十分。指向該數(shù)組第一個(gè)元素的指針傳給被調(diào)函數(shù)。實(shí)際上形參和實(shí)參為同一數(shù)組,因此當(dāng)形參數(shù)組發(fā)生變化時(shí),實(shí)參數(shù)組也隨之變化。n5.5.2.1 一維數(shù)組名作為函數(shù)參數(shù)第61頁(yè)/共101頁(yè)第六十二頁(yè),編輯

24、于星期六:四點(diǎn) 三十分。#include void sort(int b ,int n); void printarr(int b ); main( ) int a10 = 11,52,23,77,48,64,59, 32,93,38; printf(Before sort:n); printarr(a); sort(a,10); printf(After sort:n); printarr(a);void printarr(int b10) int i; for (i=0; i10; i+) printf(%5d,bi); printf(n); 第62頁(yè)/共101頁(yè)第六十三頁(yè),編輯于星期六:

25、四點(diǎn) 三十分。void sort(int b , int n) int i,j,t; for (i=1; in; i+) for (j=0; jbj+1) t=bj;bj=bj+1;bj+1=t; 第63頁(yè)/共101頁(yè)第六十四頁(yè),編輯于星期六:四點(diǎn) 三十分。第64頁(yè)/共101頁(yè)第六十五頁(yè),編輯于星期六:四點(diǎn) 三十分。第65頁(yè)/共101頁(yè)第六十六頁(yè),編輯于星期六:四點(diǎn) 三十分。第66頁(yè)/共101頁(yè)第六十七頁(yè),編輯于星期六:四點(diǎn) 三十分。#include get_sum_row(int x 3, int result ,int row, int col) int i,j; for(i=0;irow

26、;i+) resulti=0; for(j=0;jcol;j+) resulti+=xij; main() int a23=3,6,9,1,4,7; int sum_row2,row=2,col=3,i; get_sum_row(a,sum_row,row,col); for(i=0;irow;i+) printf(The sum of row%d=%dn,i+1,sum_rowi);第67頁(yè)/共101頁(yè)第六十八頁(yè),編輯于星期六:四點(diǎn) 三十分。第68頁(yè)/共101頁(yè)第六十九頁(yè),編輯于星期六:四點(diǎn) 三十分。#include void turn(int arra 4,int arrb 3); mai

27、n( ) int a34=1,2,3,4,5,6,7,8,9,10,11,12; int i,j,b43;turn(a,b);printf(array b:n);for (i=0; i4; i+) for (j=0; j3; j+)printf(%5d,bij);printf(n); 第69頁(yè)/共101頁(yè)第七十頁(yè),編輯于星期六:四點(diǎn) 三十分。void turn(int arra 4,int arrb 3) /矩陣轉(zhuǎn)置函數(shù) int r, c; for (r=0; r3;r+) for (c=0; c4; c+) arrbcr=arrarc;第70頁(yè)/共101頁(yè)第七十一頁(yè),編輯于星期六:四點(diǎn) 三十

28、分。共同擁有一段內(nèi)存空間。第71頁(yè)/共101頁(yè)第七十二頁(yè),編輯于星期六:四點(diǎn) 三十分。本節(jié)內(nèi)容本節(jié)內(nèi)容 5.6.2 全局變量全局變量 5.6.1 局部變量局部變量第72頁(yè)/共101頁(yè)第七十三頁(yè),編輯于星期六:四點(diǎn) 三十分。和。第73頁(yè)/共101頁(yè)第七十四頁(yè),編輯于星期六:四點(diǎn) 三十分。第74頁(yè)/共101頁(yè)第七十五頁(yè),編輯于星期六:四點(diǎn) 三十分。第75頁(yè)/共101頁(yè)第七十六頁(yè),編輯于星期六:四點(diǎn) 三十分。#include void sub();main() int a,b; a=3; b=4; printf(main:a=%d,b=%dn,a,b); sub(); printf(main:a=%

29、d,b=%dn,a,b);void sub() int a,b; a=6; b=7; printf(sub:a=%d,b=%dn,a,b);第76頁(yè)/共101頁(yè)第七十七頁(yè),編輯于星期六:四點(diǎn) 三十分。#include void sub(int a,int b) /定義sub函數(shù),有兩個(gè)形參a,b int c;/定義變量ca=a+b; b=b+a; c=b-a;printf(sub:ta=%d b= %d c= %dn,a,b,c);main() int a=1,b=1,c=1;/main函數(shù)中定義變量a、b、c printf(main:ta=%d b= %d c= %dn,a,b,c);sub

30、(a,b); int a=2,b=2; printf(comp:ta=%d b= %d c= %dn,a,b,c); printf(main:ta=%d b= %d c= %dn,a,b,c); 第77頁(yè)/共101頁(yè)第七十八頁(yè),編輯于星期六:四點(diǎn) 三十分。第78頁(yè)/共101頁(yè)第七十九頁(yè),編輯于星期六:四點(diǎn) 三十分。第79頁(yè)/共101頁(yè)第八十頁(yè),編輯于星期六:四點(diǎn) 三十分。第80頁(yè)/共101頁(yè)第八十一頁(yè),編輯于星期六:四點(diǎn) 三十分。#include void sub() extern int x;/在sub函數(shù)內(nèi)說(shuō)明全局變量xx+;/若沒(méi)有對(duì)全局變量x進(jìn)行說(shuō)明,則無(wú)法使用printf(sub:

31、%dn,x); extern int x=5; /定義全局變量xmain() sub();x=x+5; /在main函數(shù)內(nèi)全局變量x無(wú)須說(shuō)明,可直接使用printf(main: %dn,x);第81頁(yè)/共101頁(yè)第八十二頁(yè),編輯于星期六:四點(diǎn) 三十分。n在同一源文件中,允許全局變量和局部變量同名。在局部變量的作用域內(nèi),全局變量不起作用。第82頁(yè)/共101頁(yè)第八十三頁(yè),編輯于星期六:四點(diǎn) 三十分。#include #define N 3#define M 5float aveN;/定義外部變量main()void aver(float stuM);float scoreNM;int i,j;pr

32、intf(please input scores: );for(i=0;iN;i+)for(j=0;jM;j+)scanf(%f,&scoreij);aver(score);/調(diào)用aver函數(shù)計(jì)算每人平均分for(i=0;iN;i+)printf(ave%d= %f ,i,avei); /輸出外部數(shù)組ave中各元素值printf(n); 第83頁(yè)/共101頁(yè)第八十四頁(yè),編輯于星期六:四點(diǎn) 三十分。void aver(float stu5)int m,n;float sum;for(m=0;mN;m+)sum=0;for(n=0;nM;n+)sum+=stumn;avem=sum/5; /每人平

33、均分保存在外部數(shù)組ave中第84頁(yè)/共101頁(yè)第八十五頁(yè),編輯于星期六:四點(diǎn) 三十分。#include main( ) void f(int x, int y);/函數(shù)f的說(shuō)明extern int a;/全局變量a的說(shuō)明int b=6,c=7;/定義局部變量b、cf(b,c);printf(%dt%dt%dn,a,b,c); int a=9,b=8;/定義局部變量a、b printf(%dt%dt%dn,a,b,c); c=10; printf(%dt%dt%dn, a,b,c); printf(%dt%dt%dn,a,b,c); printf(%dt%dt%dn,a,b,c); 第85頁(yè)/共

34、101頁(yè)第八十六頁(yè),編輯于星期六:四點(diǎn) 三十分。int a = 5; /定義全局變量avoid f(int x, int y)/定義函數(shù)f int b,c;/定義局部變量b、cb=a+x; c=a-y;printf(%dt%dt%dn,a,b,c); 第86頁(yè)/共101頁(yè)第八十七頁(yè),編輯于星期六:四點(diǎn) 三十分。本節(jié)內(nèi)容本節(jié)內(nèi)容 5.7.2 自動(dòng)變量自動(dòng)變量 5.7.3 靜態(tài)變量靜態(tài)變量 5.7.4 外部變量外部變量 5.7.1 變量的存儲(chǔ)方式與生存期變量的存儲(chǔ)方式與生存期 5.7.5 寄存器變量寄存器變量第87頁(yè)/共101頁(yè)第八十八頁(yè),編輯于星期六:四點(diǎn) 三十分。第88頁(yè)/共101頁(yè)第八十九頁(yè),編輯于星期六:四點(diǎn) 三十分。變量名;第89頁(yè)/共101頁(yè)第九十頁(yè),編輯于星期六:四點(diǎn) 三十分。n由于自動(dòng)變量的作用域和生存期都局限于定義它的個(gè)體內(nèi)(函數(shù)或復(fù)合語(yǔ)句內(nèi)), 因此不同的個(gè)體中允許使用同名的變量而不會(huì)混淆。第90頁(yè)/共101頁(yè)第九十一頁(yè),編輯于星期六:四點(diǎn) 三十分。#include main() void prt(void);int x=1; int x=3; prt();printf(2nd x=%dn,x); /輸出2nd x=3, 復(fù)合語(yǔ)句內(nèi)定義的x有效printf(1st x=%dn

溫馨提示

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