![C語言程序設(shè)計(jì)課件第4章函數(shù)_第1頁](http://file4.renrendoc.com/view/fc140d2ee5c316b790cce184eab39e4c/fc140d2ee5c316b790cce184eab39e4c1.gif)
![C語言程序設(shè)計(jì)課件第4章函數(shù)_第2頁](http://file4.renrendoc.com/view/fc140d2ee5c316b790cce184eab39e4c/fc140d2ee5c316b790cce184eab39e4c2.gif)
![C語言程序設(shè)計(jì)課件第4章函數(shù)_第3頁](http://file4.renrendoc.com/view/fc140d2ee5c316b790cce184eab39e4c/fc140d2ee5c316b790cce184eab39e4c3.gif)
![C語言程序設(shè)計(jì)課件第4章函數(shù)_第4頁](http://file4.renrendoc.com/view/fc140d2ee5c316b790cce184eab39e4c/fc140d2ee5c316b790cce184eab39e4c4.gif)
![C語言程序設(shè)計(jì)課件第4章函數(shù)_第5頁](http://file4.renrendoc.com/view/fc140d2ee5c316b790cce184eab39e4c/fc140d2ee5c316b790cce184eab39e4c5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1教學(xué)目標(biāo)了解函數(shù)的分類掌握函數(shù)的聲明和定義規(guī)范掌握函數(shù)的形式參數(shù)和實(shí)際參數(shù)的定義和用法掌握函數(shù)返回值的大小和類型掌握函數(shù)的調(diào)用方法和參數(shù)傳遞了解函數(shù)的嵌套調(diào)用掌握函數(shù)的遞歸調(diào)用及其程序規(guī)范了解變量存儲(chǔ)類型的基本概念掌握局部變量與全局變量的概念會(huì)課程思政結(jié)合24.1問題引導(dǎo)問題1:輸入4個(gè)整數(shù),求它們的最大值.問題2:輸入4個(gè)正整數(shù),求它們的最大公約數(shù)問題3:輸入一個(gè)正整數(shù),判斷該數(shù)是否為絕對(duì)素?cái)?shù)(所謂絕對(duì)素?cái)?shù)就是這個(gè)數(shù)本身是素?cái)?shù),它的反位數(shù)也是素?cái)?shù))比較求四個(gè)數(shù)的最大值程序3#include<stdio.h>#include<stdlib.h>intmain(){ inta,b,c,d,m; scanf("%d%d%d%d",&a,&b,&c,&d); m=a; if(m<b)m=b;if(m<c)m=c;if(m<d)m=d; printf(“最大數(shù)=%d\n",m);system("pause"); return0;}#include<stdio.h>#include<stdlib.h>intmax(int,int);/*函數(shù)聲明*/intmain(){
inta,b,c,d,m;
scanf("%d%d%d%d",&a,&b,&c,&d);
m=max(max(max(a,b),c),d);
printf(“最大數(shù)=%d\n",m);system("pause");
return0;}intmax(intx,inty)/*函數(shù)定義*/{
intz;z=x>y?x:y;returnz;}4C是模塊化程序設(shè)計(jì)語言C程序結(jié)構(gòu)C是函數(shù)式語言必須有且只能有一個(gè)名為main的主函數(shù)C程序的執(zhí)行總是從main函數(shù)開始,在main中結(jié)束函數(shù)不能嵌套定義,可以嵌套調(diào)用4.2函數(shù)分類5函數(shù)分類函數(shù)定義的角度上分庫函數(shù)用戶自定義函數(shù)返回值情況來分有返回值函數(shù)無返回值函數(shù)函數(shù)參數(shù)的傳遞來分有參數(shù)函數(shù)無參數(shù)函數(shù)64.3函數(shù)的聲明和定義函數(shù)的聲明形式
函數(shù)返回值類型說明符
函數(shù)名(形式參數(shù)列表);intmax(intx,inty);intmax(int,int);7函數(shù)返回值的類型說明告訴編譯器它返回什么類型的數(shù)據(jù)不同的數(shù)據(jù)有不同的長(zhǎng)度和內(nèi)部表示形式參數(shù)列表指出每一個(gè)參數(shù)的類型(可以不指出參數(shù)名稱)
必須以分號(hào);結(jié)束8函數(shù)的定義形式
函數(shù)返回值類型說明符
函數(shù)名(形式參數(shù)列表){
函數(shù)內(nèi)部變量聲明函數(shù)操作語句序列}思考:比較函數(shù)聲明和函數(shù)定義形式有何不同?比較求四個(gè)整數(shù)的最大公約數(shù)的程序#include<stdio.h>#include<stdlib.h>intmain(){ inta,b,c,d,m; scanf("%d%d%d%d",&a,&b,&c,&d); m=a%b; while(m!=0) { a=b; b=m; m=a%b; } m=b%c; while(m!=0) { b=c; c=m; m=b%c; }9 m=c%d; while(m!=0) {
c=d;
d=m;
m=c%d; } printf("最大公約數(shù)=%d\n",d); system("pause"); return0;}例4.1:求四個(gè)整數(shù)的最大公約數(shù)10#include<stdio.h>#include<stdlib.h>intgcd(int,int);intmain(){ inta,b,c,d,m; scanf("%d%d%d%d",&a,&b,&c,&d);
m=gcd(gcd(gcd(a,b),c),d); printf("最大公約數(shù)=%d\n",m); system("pause"); return0;}intgcd(intx,inty){ intr; r=x%y; while(r!=0) { x=y; y=r; r=x%y; } returny;}11intgcd(intx,inty){ intr; r=x%y; while(r!=0) { x=y; y=r; r=x%y; } returny;}返回值類型函數(shù)名函數(shù)參數(shù)函數(shù)體12說明函數(shù)返回值類型說明符是C語言合法的數(shù)據(jù)類型說明符。函數(shù)名是合法的C語言標(biāo)識(shí)符函數(shù)參數(shù)列表包含函數(shù)參數(shù)的類型說明和參數(shù)名稱多個(gè)函數(shù)參數(shù)之間用逗號(hào)分開如果沒有函數(shù)參數(shù)列表,函數(shù)名后面的圓括號(hào)不能省略。134.4函數(shù)的參數(shù)和函數(shù)的返回值函數(shù)的形式參數(shù)函數(shù)的定義中使用的參數(shù)叫做形式參數(shù),簡(jiǎn)稱形參在整個(gè)函數(shù)體內(nèi)都可以使用,離開該函數(shù)則不能使用形參只能是變量,形參變量只有在被調(diào)用時(shí)才分配內(nèi)存單元形參只有在函數(shù)內(nèi)部有效,函數(shù)調(diào)用結(jié)束返回主調(diào)函數(shù)后則不能再使用該形參變量intgcd(intx,inty){ intr; r=x%y; while(r!=0) { x=y; y=r; r=x%y; } returny;}14函數(shù)的實(shí)際參數(shù)主調(diào)函數(shù)中對(duì)應(yīng)于形式參數(shù)的量稱為實(shí)際參數(shù),簡(jiǎn)稱實(shí)參實(shí)參可以是常量、變量、表達(dá)式、函數(shù)進(jìn)行函數(shù)調(diào)用時(shí),實(shí)參必須具有確定的值實(shí)參和形參在類型上兼容,數(shù)量上、順序上應(yīng)嚴(yán)格保持一致;否則會(huì)發(fā)生“類型不匹配”的錯(cuò)誤。15#include<stdio.h>#include<stdlib.h>intmax(intx,inty);/*函數(shù)聲明*/intmain(){ inta,b,m; scanf("%d%d",&a,&b);
m=max(a,b); printf("最大值:%d\n",m);
system("pause"); return0;}intmax(intx,inty){intz;if(x>y) z=x;else z=y;returnz;}例4.2:求四個(gè)整數(shù)的最大值的函數(shù)定義16…main()a=10b=20mmax()函數(shù)…main()a=10b=20mmax()函數(shù)x=10y=20…main()a=10b=20mmax()函數(shù)x=10y=20z=20…main()a=10b=20m=20max()函數(shù)x=10y=20z=20…main()a=10b=20m=20max()函數(shù)調(diào)用前參數(shù)傳遞計(jì)算最大值返回函數(shù)值調(diào)用結(jié)束實(shí)際參數(shù)僅僅是將值復(fù)制給形式參數(shù),這是一個(gè)單向值傳遞過程
17例4.3:用函數(shù)實(shí)現(xiàn)兩個(gè)整數(shù)的交換#include<stdio.h>#include<stdlib.h>voidswap(intx,inty);
intmain(){inta,b;scanf("%d%d",&a,&b);printf("調(diào)用函數(shù)之前:\n");printf("a=%d,b=%d\n",a,b);swap(a,b);printf("\n");printf("a=%d,b=%d\n",a,b);system("pause");return0;}voidswap(intx,inty){intt;t=x;x=y;y=t;printf("調(diào)用函數(shù)內(nèi)部:\n");printf("x=%d,y=%d\n",x,y);}從鍵盤上輸入10
20回車調(diào)用函數(shù)之前:a=10,b=20調(diào)用函數(shù)內(nèi)部:x=20,y=10調(diào)用函數(shù)之后:a=10,b=201819函數(shù)的返回值形式:return表達(dá)式;或return(表達(dá)式);功能:計(jì)算表達(dá)式的值,并返回給主調(diào)函數(shù)函數(shù)返回值的類型由定義函數(shù)是的類型決定函數(shù)中允許有多個(gè)return語句,但每次只能有一個(gè)return語句被執(zhí)行函數(shù)定義時(shí),如果函數(shù)的類型為void,則該函數(shù)沒有返回值204.5函數(shù)的調(diào)用函數(shù)調(diào)用的一般形式:函數(shù)名(實(shí)際參數(shù)列表)對(duì)于無參數(shù)函數(shù)調(diào)用時(shí),則沒有實(shí)際參數(shù)列表。實(shí)際參數(shù)表中的參數(shù)可以是變量、常量和表達(dá)式等。實(shí)際參數(shù)之間用逗號(hào)分隔實(shí)參的求值順序是不確定的,不同的編譯器略有不同max(a,b)fun()max(max(a,b),c)f(i,i++)例4.4:函數(shù)參數(shù)求值順序21#include<stdio.h>#include<stdlib.h>intpow(intx,intm);/*聲明函數(shù)*/intmain(){ intn,result; scanf("%d",&n);
result=pow(n,n--); printf("result=:%d\n",result); system("pause"); return0;}intpow(intx,intm)
{ intp; for(p=1;m>0;m--) p=p*x; returnp;}輸入n的值為4:2019環(huán)境下:81DevCPP環(huán)境下:81CodeBlocks環(huán)境下:81函數(shù)調(diào)用改為:
result=pow(n--,n);2019環(huán)境下:64DevCPP環(huán)境下:256CodeBlocks環(huán)境下:25622函數(shù)調(diào)用方式作為表達(dá)式的一部分:c=2*max(a,b)
作為C語言語句:max(a,b);作為函數(shù)參數(shù):max(max(a,b),c)23函數(shù)調(diào)用規(guī)范24例4.5:函數(shù)調(diào)用方形式,求三個(gè)整數(shù)的最大公約數(shù)#include<stdio.h>#include<stdlib.h>intgcd(intx,inty);intmain(){inta,b,c,g;scanf("%d%d%d",&a,&b,&c);if(a==0||b==0||c==0){printf("數(shù)據(jù)輸入錯(cuò)誤!\n");exit(0);}g=gcd(a,b);
printf(“最大公約數(shù)%d\n",gcd(g,c));system("pause");return0;}intgcd(intx,inty)/*函數(shù)定義*/{intr;do{r=x%y;x=y;y=r;}while(r!=0);returnx;}輸入432
8回車最大公約數(shù)是:425例4.6:求2~100之間的所有素?cái)?shù)#include<stdio.h>#include<stdlib.h>#include<math.h>intisprime(intn);
intmain(){inti;for(i=2;i<=100;i++){if(isprime(i))printf("%4d",i);}system("pause");return0;}intisprime(intn){intk;for(k=2;k<=sqrt(1.0*n);k++)if(n%k==0)return0;return1;}2357111317192329313741434753596167717983899726函數(shù)的嵌套調(diào)用
函數(shù)的嵌套調(diào)用:在一個(gè)函數(shù)的定義中出現(xiàn)對(duì)另一個(gè)函數(shù)的調(diào)用C語言中的函數(shù)之間不存在上下級(jí)之間的關(guān)系不能在一個(gè)函數(shù)內(nèi)又定義另外一個(gè)函數(shù)只能在一個(gè)函數(shù)的定義中出現(xiàn)對(duì)另一個(gè)函數(shù)的調(diào)用
27例4.7:函數(shù)嵌套調(diào)用,計(jì)算組合數(shù)28#include<stdio.h>#include<stdlib.h>intfac(int);intcomb(int,int);intmain(){intm,n;printf("輸入兩個(gè)正整數(shù)n和m,且n>=m:");scanf("%d%d",&n,&m);printf("組合數(shù)=%d\n",comb(n,m));system("pause");return0;}intfac(intn){ inti,p=1; for(i=1;i<=n;i++) p=p*i; returnp;}intcomb(intn,intm){ returnfac(n)/(fac(m)*fac(n-m));}29
4.5.4函數(shù)遞歸調(diào)用定義:在函數(shù)體內(nèi)間接或直接調(diào)用函數(shù)本身,并傳入不同的變量來執(zhí)行的一種程序設(shè)計(jì)技巧遞歸是一種簡(jiǎn)化復(fù)雜問題求解過程的手段先將問題逐步簡(jiǎn)化,但在簡(jiǎn)化過程中保持問題的性質(zhì)不變,直到問題最簡(jiǎn)intf(intx){inty,z;……
z=f(y);…….return(2*z);}intf1(intx){inty,z;……
z=f2(y);…….return(2*z);}intf2(intt){inta,c;……
c=f1(a);…….return(3+c);}3031例4.8:用遞歸調(diào)用求n!#include<stdio.h>#inxlude<stdlib.h>intfact(int);intmain(){intn,fac;scanf("%d",&n);fac=fact(n);printf("%d的階乘=%d\n",n,fac);
system("pause");return0;}intfact(intn){intresult;if(n==1) result=1;elseresult=n*fact(n-1);returnresult;}輸入3回車3的階乘=632longfact(1){if(1==1)return1;return1*fact(1-1);}longfact(2){if(2==1)return1;return2*fact(2-1);}longfact(3){if(3==1)return1;return3*fact(3-1);}main(){fac=fact(3);}藍(lán)線:函數(shù)調(diào)用線路綠線:函數(shù)內(nèi)部執(zhí)行路線紅線:函數(shù)執(zhí)行結(jié)束返回主調(diào)函數(shù)的路線longfact(longn){if(n==1)return1;returnn*fact(n-1);}33Fibonacci(斐波那契)序列的遞歸定義F1=1,F2=1Fn=Fn-1+Fn-2(n>2)1,1,2,3,5,8,13,21,34,65,99,…longfib(intn){returnn<=2?1:fib(n-1)+fib(n-2);}34例fib(5)調(diào)用過程fib(5)fib(4)fib(3)fib(3)fib(2)fib(2)fib(1)fib(2)fib(1)35遞歸程序書寫規(guī)范if(最簡(jiǎn)單情形){
直接得到最簡(jiǎn)單情形下的解}else{
將原始問題轉(zhuǎn)化為稍微簡(jiǎn)單一些的一個(gè)或多個(gè)子問題以遞歸方式逐個(gè)求解這些子問題以合理有效的方式將這些子問題的解組裝成原始問題的解}例4.9:Hanoi塔問題36ABC21337Hanoi塔問題的遞歸算法if(n==1)將一個(gè)圓盤從A移到Celse{將n-1個(gè)圓盤從A以C為中轉(zhuǎn)移到B上將圓盤n從A移到C上將n-1個(gè)圓盤從B上以A為中轉(zhuǎn)移到C上}ABC21338voidmoveplate(unsignedintn,charfrom,charto){ printf("%u:%c-->%c\n",n,from,to);}voidhanoi(unsignedintn,charfrom,chartemp,charto){if(n==1) moveplate(n,from,to);else{ hanoi(n-1,from,to,temp);/*n-1個(gè)圓盤從A以C為中轉(zhuǎn)移到B上*/ moveplate(n,from,to);/*將圓盤n從A移到C上*/ hanoi(n-1,temp,from,to);/*將n-1個(gè)圓盤從B上以A為中轉(zhuǎn)移到C上*/}}39#include<stdio.h>#include<stdlib.h>voidhanoi(unsignedintn,charfrom,chartemp,charto);/*遞歸函數(shù)聲明*/voidmoveplate(unsignedintn,charfrom,charto);/*移動(dòng)函數(shù)的聲明*/intmain(){ unsignedintn; scanf("%u",&n);/*輸入盤子數(shù)目*/ hanoi(n,'A','B','C');
system("pause"); return0;}遞歸的關(guān)鍵邊界條件遞歸表達(dá)式40寫出下面問題的遞歸表達(dá)式假如計(jì)算機(jī)沒有乘法運(yùn)算,實(shí)現(xiàn)兩個(gè)整數(shù)m*n求兩個(gè)正整數(shù)a,b的最大公約數(shù)組合數(shù):函數(shù)調(diào)用本質(zhì)(棧)-略4142#include<stdio.h>#include<stdlib.h>longintfac(int);intmain(){ intn; longinty; scanf("%d",&n); y=fac(n); printf("%ld\n",y);
system("pause"); return0;}longintfac(intn){ longintf; if(n==0) f=1; else f=n*fac(n-1); returnf;}main()調(diào)用fac(1)前43main()調(diào)用fac(1)后fac(1)調(diào)用fac(0),fac(0)返回前44fac(1)返回前main()返回前454.6局部變量和全局變量局部變量:在函數(shù)內(nèi)作定義說明的變量。其作用域僅限于函數(shù)內(nèi)部,離開該函數(shù)后就不能再使用intf1(intx){inty,z;
……}intf2(inta){intb,c;
……}intmain(){intm,n;
……}主函數(shù)main中定義的變量只能在主函數(shù)中使用。形參變量屬于被調(diào)函數(shù)的局部變量,實(shí)參函數(shù)屬于主調(diào)函數(shù)的局部變量。允許在不同的函數(shù)中使用相同的變量名,但它們代表不同的對(duì)象,占用不同的存儲(chǔ)單元在復(fù)合語句中也可以定義變量,但其作用域只能在復(fù)合語句內(nèi)。46#include<stdio.h>#include<stdlib.h>voidfun();intmain(){inta=1,x=2;doubley=5.0;printf("main函數(shù)中變量的值:\n");printf("a=%d,x=%d,y=%lf\n",a,x,y);fun();system("pause");return0;}voidfun(){inta=2,x=3;doubley=10.5;printf("fun函數(shù)中變量的值:\n");printf("a=%d,x=%d,y=%lf\n",a,x,y);}main函數(shù)中變量的值:a=1,x=2,y=5.000000fun函數(shù)中變量的值:a=2,x=3,y=10.500000例4.10:局部變量使用47全局變量:在函數(shù)外部定義的變量。不屬于某一個(gè)函數(shù),它屬于一個(gè)源程序文件。其作用域是從定義變量的位置開始到本源文件結(jié)束intx,y;/*外部變量*/intmain()/*主函數(shù)*/{
……}doublea,b;/*外部變量*/intf1()/*函數(shù)f1*/{
……}voidf2()/*函數(shù)f2*/{
……}a、b作用域x、y作用域48全局變量是為了增加函數(shù)間數(shù)據(jù)聯(lián)系渠道全局變量和局部變量同名時(shí),在函數(shù)中把全局變量暫時(shí)隱藏起來,而局部變量起作用#include<stdio.h>voidsub();inta,b;intmain(){a=3;b=4;printf("全局變量:a=%d,b=%d\n",a,b);sub();inta=1,b=2;printf("main:a=%d,b=%d\n",a,b);return0;}voidsub(){inta,b;a=6;b=7;printf("sub:a=%d,b=%d\n",a,b);}全局變量:a=3,b=4sub:a=6,b=7main:a=1,b=2494.7變量的存儲(chǔ)類型存儲(chǔ)區(qū)域50動(dòng)態(tài)存儲(chǔ)與靜態(tài)存儲(chǔ)動(dòng)態(tài)存儲(chǔ)程序在運(yùn)行期間根據(jù)需要分配存儲(chǔ)空間函數(shù)的形式參數(shù)、局部變量、函數(shù)調(diào)用時(shí)的現(xiàn)場(chǎng)保護(hù)和返回地址靜態(tài)存儲(chǔ)程序在運(yùn)行期間由系統(tǒng)分配固定的存儲(chǔ)空間全局變量、靜態(tài)局部變量初始化在程序編譯時(shí)進(jìn)行51auto變量定義:動(dòng)態(tài)分配存儲(chǔ)方式分配存儲(chǔ)空間,其數(shù)據(jù)存儲(chǔ)在動(dòng)態(tài)存儲(chǔ)區(qū)域形式參數(shù)、函數(shù)內(nèi)部定義的變量定義格式:[auto]數(shù)據(jù)類型變量名列表;autointx,y;intfun(intx){autointy,z;
……}52static變量靜態(tài)局部變量:數(shù)據(jù)存儲(chǔ)在靜態(tài)存儲(chǔ)空間不能被其它函數(shù)使用當(dāng)再次進(jìn)入該函數(shù)時(shí),將保存上次的結(jié)果。靜態(tài)全程變量:在定義它的源文件中可見在其它源文件中不可見的變量53靜態(tài)全局變量與全局變量的區(qū)別全局變量可以再說明為外部變量(extern),被其它源文件使用靜態(tài)全局變量卻不能再被說明為外部的,只能被所在的源文件使用54#include<stdio.h>#include<stdlib.h>intfun(int,int);intmain(){ intx=5,y=3,s,j; for(j=0;j<3;j++) { s=fun(x,y); printf("%d",s);}return0;
system("pause");}intfun(inta,intb){
staticintn=0,i=2; i=n+1; n=i+a-b; return(n);}369
變量的值調(diào)用次數(shù)調(diào)用時(shí)的初值調(diào)用結(jié)束后的值xynixynis第1次530253313第2次533153646第3次53645397955register變量將變量的值保存在CPU內(nèi)的寄存器中,以使速度大大提高定義格式:register
數(shù)據(jù)類型變量列表說明:寄存器變量的數(shù)量有限制,而且一般為整型或字符型變量變量不能是全局變量和靜態(tài)局部變量,只能是auto類變量56extern變量定義:在函數(shù)的外部定義,作用域?yàn)閺淖兞慷x處開始,到該程序文件的末尾在定義點(diǎn)前的函數(shù)要引用該外部變量,則在引用之前用關(guān)鍵字extern對(duì)該變量進(jìn)行“外部變量聲明”
57#include<stdio.h>#include<stdlib.h>voidgx();voidgy();intmain(){externintx,y;
printf("1:x=%d,y=%d\n",x,y);y=246;gx();gy();
system("pause");
return0;}voidgx(){externintx,y;
x=135;printf("2:x=%d,y=%d\n",x,y);}intx,y;
voidgy(){printf("3:x=%d,y=%d\n",x,y);}58靜態(tài)動(dòng)態(tài)存儲(chǔ)方式程序整個(gè)運(yùn)行期間函數(shù)調(diào)用開始至結(jié)束生存期編譯時(shí)賦初值,只賦一次每次函數(shù)調(diào)用時(shí)賦初值自動(dòng)賦初值0或空字符不確定未賦初值靜態(tài)存儲(chǔ)區(qū)動(dòng)態(tài)區(qū)存儲(chǔ)區(qū)寄存器局部變量全局變量作用域定義變量的函數(shù)或復(fù)合語句內(nèi)本文件其它文件register局部staticauto全局static外部存儲(chǔ)類別594.8外部函數(shù)和內(nèi)部函數(shù)內(nèi)部函數(shù):只能被本程序文件調(diào)用的函數(shù)static數(shù)據(jù)類型函數(shù)名(形參列表){
……}staticintmax(inta,intb){returna>b?a:b;}60外部函數(shù):函數(shù)定義的前面加上extern
關(guān)鍵字而說明的函數(shù)extern類型標(biāo)識(shí)符函數(shù)名(形參列表){
……}61#include<stdio.h>#include<stdlib.h>externintmultiply(int,int);externintsum(int,int);intmain(){inta,b;intresult;scanf("%d%d",&a,&b);result=multiply(a,b);printf("兩個(gè)數(shù)的乘積是:%d",result);result=sum(a,b);printf("兩個(gè)數(shù)的和是:%d\n",result);system("pause");return0;}externintmultiply(inta,intb){intc;c=a*b;returnc;}externintsum(inta,intb){intc;c=a+b;returnc;}exter.c
file1.c
file2.c
例4.14:外部函數(shù)使用624.9綜合應(yīng)用例4.15:如果一個(gè)正整數(shù)是素?cái)?shù),它的反位數(shù)也是素?cái)?shù),這稱這樣的數(shù)為絕對(duì)素?cái)?shù)/*求反序數(shù)的函數(shù)定義*/unsignedintrev(unsignedinty){unsignedintz=0;while(y!=0){z=z*10+y%10;y=y/10;}returnz;}/*判斷素?cái)?shù)的函數(shù)定義*/intprime(unsignedintx){inti,k;k=sqrt(x);for(i=2;i<=k;i++)if(x%i==0)return0;
if(i>k)return1;}63#include<stdio.h>#include<stdlib.h>#include<math.h>intprime(unsignedint);unsignedintrev(unsignedint);
intmain(){unsignedintn,m;scanf("%u",&n)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 物聯(lián)網(wǎng)技術(shù)在現(xiàn)代物流中的應(yīng)用與挑戰(zhàn)
- 現(xiàn)代城市住宅區(qū)的綠色規(guī)劃與實(shí)踐
- 現(xiàn)代人如何通過飲食改善腸胃問題
- 國(guó)慶節(jié)活動(dòng)方案百米畫
- 牙科患者需求與商業(yè)價(jià)值挖掘
- 2024-2025學(xué)年新教材高中英語 Unit 6 Earth first預(yù)習(xí) 新知早知道2說課稿 外研版必修第二冊(cè)
- 12《示兒》說課稿-2024-2025學(xué)年五年級(jí)上冊(cè)語文統(tǒng)編版
- 《11~20的認(rèn)識(shí)-11~20的認(rèn)識(shí)》(說課稿)-2024-2025學(xué)年一年級(jí)上冊(cè)數(shù)學(xué)人教版
- 2024-2025學(xué)年新教材高中地理 第一章 人口 第一節(jié) 人口分布(2)說課稿 新人教版必修2
- 1學(xué)會(huì)尊重-《每個(gè)人都應(yīng)得到尊重》(說課稿)2023-2024學(xué)年統(tǒng)編版道德與法治四年級(jí)下冊(cè)
- 浩順一卡通軟件新版說明書
- 植物檢疫員崗位職責(zé)說明書
- 2023~2024學(xué)年二年級(jí)下冊(cè)語文期末模考試卷·創(chuàng)意情境 統(tǒng)編版
- 2024年北師大版六年級(jí)下冊(cè)數(shù)學(xué)期末測(cè)試卷(各地真題)
- 2024年江蘇農(nóng)牧科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫附答案
- 經(jīng)理層年度任期經(jīng)營(yíng)業(yè)績(jī)考核及薪酬辦法
- 2024年高考英語新聞報(bào)道閱讀理解訓(xùn)練歷年真題
- 2024高考物理廣東卷押題模擬含解析
- 青少年農(nóng)業(yè)科普館建設(shè)方案
- 新測(cè)繪法解讀
- 提高感染性休克集束化治療達(dá)標(biāo)率
評(píng)論
0/150
提交評(píng)論