二級c語言高頻考點分析與實戰(zhàn)第7章函數(shù)(書上ch8)_第1頁
二級c語言高頻考點分析與實戰(zhàn)第7章函數(shù)(書上ch8)_第2頁
二級c語言高頻考點分析與實戰(zhàn)第7章函數(shù)(書上ch8)_第3頁
二級c語言高頻考點分析與實戰(zhàn)第7章函數(shù)(書上ch8)_第4頁
二級c語言高頻考點分析與實戰(zhàn)第7章函數(shù)(書上ch8)_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

CompanyLogo第7章函數(shù)Top39:函數(shù)定義和返回值Top40:有返回值函數(shù)的一般調(diào)用Top41:無返回值函數(shù)的一般調(diào)用Top42:函數(shù)的嵌套和遞歸調(diào)用Top44:調(diào)用函數(shù)和被調(diào)用函數(shù)之間的數(shù)據(jù)傳遞Top43:函數(shù)的聲明CompanyLogoC程序結(jié)構(gòu)C是函數(shù)式語言,C程序的基本單位是函數(shù)必須有且只能有一個名為main的主函數(shù)C程序的執(zhí)行總是從main函數(shù)開始,在main中結(jié)束函數(shù)不能嵌套定義,可以嵌套調(diào)用CompanyLogo函數(shù)分類從用戶角度標(biāo)準(zhǔn)函數(shù)(庫函數(shù)):由系統(tǒng)提供用戶自定義函數(shù)從函數(shù)形式無參函數(shù)有參函數(shù)使用庫函數(shù)應(yīng)注意:1、函數(shù)功能2、函數(shù)參數(shù)的數(shù)目和順序,及各參數(shù)意義和類型3、函數(shù)返回值意義和類型4、需要使用的包含文件CompanyLogo庫函數(shù)(標(biāo)準(zhǔn)函數(shù)):系統(tǒng)提供的已經(jīng)設(shè)計好的函數(shù)。庫函數(shù)數(shù)學(xué)函數(shù)abs(int)字符(串)函數(shù)輸入輸出函數(shù)動態(tài)分配和隨機(jī)函數(shù)fabs(double)exp(double)pow(double,double)strcmp(*s1,*s2)strcpy(*s1,*s2)strlen(*s1)calloc()malloc()rand()CompanyLogo說明:(1)調(diào)用庫函數(shù)時,必須要用命令行

#include“頭文件名”(2)標(biāo)準(zhǔn)庫函數(shù)的調(diào)用形式函數(shù)名(參數(shù)表)例:y=pow(x,2.5)y=x2.5

clrscr();

for(i=0;i<5;i++,printf(“*”));y=strlen(“abcdefg”);CompanyLogoTop39函數(shù)定義和返回值函數(shù)定義的語法1一般格式合法標(biāo)識符函數(shù)返回值類型缺省int型無返回值void函數(shù)體函數(shù)類型函數(shù)名(形參類型說明表){

說明部分 語句部分}現(xiàn)代風(fēng)格:例有參函數(shù)(現(xiàn)代風(fēng)格)

int

max(int

x,inty){intz;z=x>y?x:y;

return(z);}例有參函數(shù)(現(xiàn)代風(fēng)格)

int

max(intx,y){intz;z=x>y?x:y;

return(z);}例空函數(shù)

dummy(){}函數(shù)體為空例無參函數(shù)

printstar(){printf(“**********\n”);}或

printstar(void){printf(“**********\n”);}CompanyLogo函數(shù)類型函數(shù)名(形參表)形參類型說明{

說明部分 語句部分}傳統(tǒng)風(fēng)格:例有參函數(shù)(傳統(tǒng)風(fēng)格)

int

max(x,y)

int

x,y;{intz;z=x>y?x:y;

return(z);}Top39函數(shù)定義和返回值CompanyLogo函數(shù)的返回值2功能:使程序控制從被調(diào)用函數(shù)返回到調(diào)用函數(shù)中,

同時把返值帶給調(diào)用函數(shù)。返回語句形式:

return(表達(dá)式);

return表達(dá)式;

return;說明:函數(shù)中可有多個return語句若無return語句,遇}時,自動返回調(diào)用函數(shù)若函數(shù)類型與return語句中表達(dá)式值的類型不一致,按前者為準(zhǔn),自動轉(zhuǎn)換------函數(shù)調(diào)用轉(zhuǎn)換void型函數(shù)例無返回值函數(shù)

void

swap(int

x,inty){inttemp;temp=x;x=y;y=temp;}Top39函數(shù)定義和返回值CompanyLogo

printstar(){printf("**********");}main(){inta;a=printstar();

printf("%d",a);}例函數(shù)帶回不確定值輸出:10void

printstar(){printf("**********");}main(){inta;a=printstar();

printf("%d",a);}編譯錯誤!Top39函數(shù)定義和返回值CompanyLogo考點Top39函數(shù)定義和返回值函數(shù)的返回值C語言函數(shù)定義的一般形式存儲類型說明符函數(shù)返回值類型函數(shù)名(類型名形參1,類型名形參2,。。){說明部分執(zhí)行部分}說明:存儲類型說明符是用來說明該函數(shù)是內(nèi)部函數(shù)還是外部函數(shù)。函數(shù)返回值的類型是用來說明該函數(shù)返回值的類型,如果沒有返回值,則其類型說明符應(yīng)該為void。函數(shù)名和形式參數(shù)都是由用戶命名的標(biāo)識符。在同一程序中,函數(shù)名必須唯一,形參名只要在同一函數(shù)中唯一即可,可以與其它函數(shù)中的變量重名。若省略了函數(shù)返回值的類型默認(rèn)為int型。形參可以省略,稱為無參函數(shù)。在調(diào)用時不用參數(shù)。函數(shù)體中,除形參外,用到的其它變量必須在說明部分進(jìn)行定義,且可以和其它函數(shù)中的變量重名。函數(shù)值通過return語句返回,一般形式為:

return(表達(dá)式);

return表達(dá)式;

return;說明:return語句中表達(dá)式的值就是所求的函數(shù)值,且其類型必須與函數(shù)首部所說明的類型一致,若類型不一致,則由系統(tǒng)自動轉(zhuǎn)換為函數(shù)值的類型。在程序執(zhí)行到return語句時,流程就返回到調(diào)用該函數(shù)處,并帶回函數(shù)值。在同一個函數(shù)體內(nèi),可以在多處return語句。return語句也可以不含表達(dá)式。此時,它只是使流程返回到調(diào)用函數(shù),并沒有確定的函數(shù)值。函數(shù)體內(nèi)也可以沒有reture語句,程序就一直執(zhí)行到函數(shù)末尾,然后返回到調(diào)用函數(shù),此時也沒有確定的函數(shù)值帶回。CompanyLogo真題分析(2007年4月)在C語言中,函數(shù)返回值的類型最終取決于————A、函數(shù)定義時在函數(shù)首部所說明的函數(shù)類型B、return語句中表達(dá)式值的類型C、調(diào)用函數(shù)時主調(diào)函數(shù)所傳遞的實參類型D、函數(shù)定義時形參的類型Top39函數(shù)定義和返回值return語句中表達(dá)式的值就是所求的函數(shù)值,且其類型必須與函數(shù)首部所說明的類型一致。ACompanyLogoTop39函數(shù)定義和返回值真題分析(2006年4月)下列isprime函數(shù)的功能是判斷形參a是否為素數(shù),是素數(shù),函數(shù)返回1,否則返回0。請?zhí)羁読nt

isprime(inta){inti;for(i=2;i<=a/2;i++)if(a%i==0)————;————;}return0return1CompanyLogoTop39函數(shù)定義和返回值真題分析(2006年4月)已經(jīng)定義以下函數(shù),fun函數(shù)的返回值是——A、不確定的值B、一個整數(shù)C、形參p中存放的值D、形參p的地址int

fun(int*p){return*p;)return語句中表達(dá)式的值就是所求的函數(shù)值,且其類型必須與函數(shù)首部所說明的類型一致。BCompanyLogoTop39函數(shù)定義和返回值練習(xí)題1、程序中對fun函數(shù)有如下說明void*fun()此說明的含義是——A、fun函數(shù)無返回值。B、fun函數(shù)的返回值可以是任意類型的數(shù)據(jù)類型C、fun函數(shù)的返回值是無值型的指針類型D、指針fun指向一個函數(shù),該函數(shù)無返回值。CCompanyLogoTop40有返回值的函數(shù)的一般調(diào)用形式考點函數(shù)調(diào)用的過程有返回值的函數(shù)的調(diào)用形式 函數(shù)名(實際參數(shù)列表)函數(shù)調(diào)用的語法要求

調(diào)用的結(jié)果是獲得一個返回值,該返回值可以參加相應(yīng)類型的計算。首先為被調(diào)用函數(shù)的所有形參分配內(nèi)存,再計算實際參數(shù)的值,再一一對應(yīng)地賦給相應(yīng)的形參(對于無參函數(shù),不做這項工作)。然后進(jìn)行函數(shù)體,為函數(shù)說明部分定義的變量分配存儲空間,再依次執(zhí)行函數(shù)體中的可執(zhí)行語句。當(dāng)執(zhí)行到return語句時,計算返回值,收回本函數(shù)中定義的變量所占用的存儲空間,對于static類型的變量,其空間不收回),返回主調(diào)函數(shù)繼續(xù)執(zhí)行。調(diào)用函數(shù)時,函數(shù)名必須與所調(diào)用的函數(shù)名字完全一致。實參的個數(shù)必須與形參一致。C語言規(guī)定,函數(shù)必須先定義后調(diào)用。CompanyLogoTop40有返回值的函數(shù)的一般調(diào)用形式真題分析(2006年9月)有以下程序,程序運行后的輸出結(jié)果是——。A、6 B、7 C、8 D、9fun(int

x,int

y){return(x+y);}main(){inta=1,b=2,c=3,sum;sum=fun((a++,b++,a+b),c++);printf("%d\n",sum);}CCompanyLogoTop40有返回值的函數(shù)的一般調(diào)用形式真題分析(2005年9月)有以下程序,若運行時輸入:1234<CR>,則程序的輸出結(jié)果是——intsub(intn){return(n/10+n%10);}main(){intx,y;scanf("%d",&x);y=sub(sub(sub(x)));printf("%d\n",y);}10Top40有返回值的函數(shù)的一般調(diào)用形式真題分析(2011年9月)有以下程序,程序運行后的輸出結(jié)果是——(選擇題24題)A)503B)401

C)500D)1404CompanyLogo#include<stdio.h>doublef(doublex);main(){doublea=0;inti;

for(i=0;i<30;i+=10)a+=f((double)i);

printf("%5.0f\n",a);}doublef(doublex){returnx*x+1;}ACompanyLogoTop40有返回值的函數(shù)的一般調(diào)用形式練習(xí)題1、以下程序通過函數(shù)SunFun求 ,f(x)=x2+1由函數(shù)F實現(xiàn)。請?zhí)羁?。main(){printf(“Thesum=%d\n”,SunFun(10);}SunFun(intn){int

x,s=0;for(x=0;x<=n;x++) s+=F(______);returns;}F(intx){return______;}xx*x+1CompanyLogoTop41無返回值的函數(shù)的一般調(diào)用形式考點1、無返回值的調(diào)用形式 函數(shù)名(實際參數(shù)列表);這里的分號必不可少2、無返回值的函數(shù)的執(zhí)行過程 與有返回值的調(diào)用形式一樣,只是最后沒有“return(表達(dá)式)”Top41無返回值的函數(shù)的一般調(diào)用形式真題分析(2011年3月)有以下函數(shù)voidprt(char

ch,intn){inti;for(i=1;i<=n;i++)printf(i%6!=0?"%c":"%c\n",ch);}

執(zhí)行調(diào)用語句prt(‘*’,24);后,函數(shù)共輸出了——行*號。(填空題第9題)CompanyLogo4CompanyLogoTop41無返回值的函數(shù)的一般調(diào)用形式真題分析(2006年9月)有以下程序,程序的運行結(jié)果是—A、CDEF B、ABEF C、ABCD D、CDABvoidfun2(chara,charb){printf("%c%c",a,b);}chara='A',b='B';voidfun1(){a='C';b='D';}main(){fun1();printf("%c%c",a,b);fun2('E','F');}Aa=‘C’,b=D’CompanyLogoTop41無返回值的函數(shù)的一般調(diào)用形式真題分析(2005年9月)設(shè)函數(shù)fun的定義形式為void

fun(char

ch,floatx){}則下列對函數(shù)fun的調(diào)用語句中,正確的是A、fun("abc",3.0);B、t=fun('D',16.5);C、fun('65',2.8);D、fun(32,32);DCompanyLogoTop41無返回值的函數(shù)的一般調(diào)用形式練習(xí)題1、有以下程序,程序運行后的輸出結(jié)果是——A、4,3,7 B、3,4,7C、5,2,7 D、2,5,7intf1(intx,inty) {returnx>y?x:y;}intf2(intx,inty) {returnx>y?y:x;}main(){inta=4,b=3,c=5,d=2,e,f,g;e=f2(f1(a,b),f1(c,d));f=f1(f2(a,b),f2(c,d));g=a+b+c+d-e-f;printf(“%d,%d,%d”,e,f,g);}ACompanyLogoTop42函數(shù)的遞歸調(diào)用考點:遞歸調(diào)用定義:函數(shù)直接或間接的調(diào)用自身叫函數(shù)的遞歸調(diào)用CompanyLogof()調(diào)f調(diào)f2調(diào)f1f1()f2()說明C編譯系統(tǒng)對遞歸函數(shù)的自調(diào)用次數(shù)沒有限制每調(diào)用函數(shù)一次,在內(nèi)存堆棧區(qū)分配空間,用于存放函數(shù)變量、返回值等信息,所以遞歸次數(shù)過多,可能引起堆棧溢出int

f(intx){int

y,z;……

z=f(y);…….return(2*z);}int

f1(intx){int

y,z;……

z=f2(y);…….return(2*z);}int

f2(intt){int

a,c;……

c=f1(a);…….return(3+c);}Top42函數(shù)的遞歸調(diào)用CompanyLogoTop42函數(shù)的遞歸調(diào)用真題分析(2007年4月)以下程序的輸出結(jié)果是——10int

fun(int*x,intn)

{

if(n==0)returnx[0];

elsereturnx[0]+fun(x+1,n-1);

}main()

{inta[]={1,2,3,4,5,6,7};

printf("%d\n",fun(a,3));

}f(&a[0],3)f(&a[1],2)f(&a[2],1)f(&a[3],0)Top42函數(shù)的遞歸調(diào)用真題分析(2011年3月)設(shè)有如下函數(shù)定義int

fun(intk){if(k<1)return0;elseif(k==1)return1;elsereturnfun(k-1)+1;}若執(zhí)行調(diào)用語句:n=fun(3);,則函數(shù)fun總共被調(diào)用的次數(shù)是——(選擇題32題)A)2 B)3 C)4 D)5CompanyLogoBTop42函數(shù)的遞歸調(diào)用真題分析(2011年3月)

#include"stdio.h"intfun(int

x,inty){if(x!=y)return((x+y)/2);elsereturn(x);}main(){inta=4,b=5,c=6;printf("%d\n",fun(2*a,fun(b,c)));}程序運行后的輸出結(jié)果是——(選擇題33題)A)3 B)6 C)8 D)12CompanyLogoBTop42函數(shù)的遞歸調(diào)用真題分析(2011年9月)以下程序運行后輸出結(jié)果是——(填空題第10題)。#include<stdio.h>voidfun(intx){if(x/5>0)fun(x/5);printf("%d\n",x);}main(){fun(11);printf("\n");}CompanyLogo2

11CompanyLogoTop42函數(shù)的遞歸調(diào)用真題分析有以下程序,程序運行后的結(jié)果是——A、7 B、3 C、2 D、0fun(intx){intp;if(x==0||x==1)return3;p=x-fun(x-2);returnp;}main(){printf(“%d\n”,fun(7);}CCompanyLogoTop42函數(shù)的遞歸調(diào)用練習(xí)題1、有以下程序,程序執(zhí)行的結(jié)果是——A、函數(shù)調(diào)用出錯B、8 C、9D、7charfun(char

x,chary){if(x<y)returnx;returny;}main(){inta=‘9’,b=‘8’,c=‘7’;printf(“%c\n”,fun(fun(a,b),fun(b,c))}DCompanyLogoTop43函數(shù)的聲明考點1、除主函數(shù)外,對于用戶定義的函數(shù)要“先定義,后使用”。函數(shù)說明的一般形式:類型名函數(shù)名(參數(shù)類型1,參數(shù)類型2。。。)例:

doubleadd(double,double)也可以與普通變量一起出現(xiàn)在定義語句中例:

doublex,y,add(double

a,doubleb);2、函數(shù)說明的位置(1)可在所有函數(shù)的外部,被調(diào)用之前說明函數(shù)(2)在調(diào)用函數(shù)內(nèi)部說明,只能在該函數(shù)內(nèi)部才能被識別CompanyLogoTop43函數(shù)的聲明真題分析(2006年9月)若有以下函數(shù)首部intfun(doublex[10],int*n)則下列針對此函數(shù)的函數(shù)聲明語句中正確的是————A、int

fun(doublex,int*n);B、int

fun(double,int);C、int

fun(double*x,intn);D、int

fun(double*,int*);DTop43函數(shù)的聲明真題分析(2011年3月)有以下程序,請在——處填寫正確語句,使程序可正常編譯運行。(填空題12題)#include“stdio.h”_______;main(){doublex,y,(*p)();scanf("%lf%lf",&x,&y);p=avg;printf("%f\n",(*p)(x,y));}doubleavg(double

a,doubleb){return((a+b)/2);}CompanyLogodoubleavg(double,double);Top43函數(shù)的聲明真題分析(2011年9月)以下程序的主函數(shù)中調(diào)用了在其前面定義的fun函數(shù)#include<stdio.h>

∶main(){doublea[15],k;

k=fun(a);

∶}則以下選項中錯誤的fun函數(shù)的首部是_______(選擇題31題)。A)doublefun(doublea[15])B)doublefun(double*a)C)doublefun(doublea[])D)doublefun(doublea)CompanyLogoDCompanyLogoTop43函數(shù)的聲明真題分析(2004年4月)若程序中定義了以下函數(shù),doublemyadd(double

a,double

b){return(a+b);}則在調(diào)用之前對函數(shù)進(jìn)行說明,以下選項中錯誤的是——A、doublemyadd(double

a,b);B、doublemyadd(double,double);C、doublemyadd(double

b,doublea);D、doublemyadd(double

x,doubley);ACompanyLogoTop43函數(shù)的聲明練習(xí)題1、請在以下程序第一行的下劃線處,填寫適當(dāng)內(nèi)容,使程序能夠正確運行?!╠ouble,double);main(){doublex,y;scanf(“%lf%lf”,&x,&y);printf(“%lf\n”,max(x,y));}doublemax(double

a,doubleb){return(a>b?a:b);}doublemaxCompanyLogoTop44調(diào)用函數(shù)和被調(diào)用函數(shù)之間的數(shù)據(jù)傳遞考點:在C語言中,調(diào)用函數(shù)和被調(diào)用函數(shù)之間的數(shù)據(jù)傳遞可以通過三種方式:(1)實參和形參之間的數(shù)據(jù)傳遞值傳遞方式方式:函數(shù)調(diào)用時,為形參分配單元,并將實參的值復(fù)制到形參中;調(diào)用結(jié)束,形參單元被釋放,實參單元仍保留并維持原值特點:形參與實參占用不同的內(nèi)存單元單向傳遞,即用戶不可能在函數(shù)中改變對應(yīng)實參的值(2)通過return語句把函數(shù)值返回調(diào)用函數(shù)(3)通過全局變量。(不提倡)CompanyLogo形參與實參形式參數(shù):定義函數(shù)時函數(shù)名后面括號中的變量名實際參數(shù):調(diào)用函數(shù)時函數(shù)名后面括號中的表達(dá)式c=max(a,b);(main函數(shù))(max函數(shù))max(intx,inty){intz;z=x>y?x:y;

return(z);}例比較兩個數(shù)并輸出大者main(){int

a,b,c;

scanf("%d,%d",&a,&b);c=max(a,b);

printf("Maxis%d",c);}max(intx,inty){intz;z=x>y?x:y;

return(z);}形參實參Top44調(diào)用函數(shù)和被調(diào)用函數(shù)之間的數(shù)據(jù)傳遞CompanyLogo說明:實參必須有確定的值形參必須指定類型形參與實參類型一致,個數(shù)相同若形參與實參類型不一致,自動按形參類型轉(zhuǎn)換———函數(shù)調(diào)用轉(zhuǎn)換形參在函數(shù)被調(diào)用前不占內(nèi)存;函數(shù)調(diào)用時為形參分配內(nèi)存;調(diào)用結(jié)束,內(nèi)存釋放形參與實參形式參數(shù):定義函數(shù)時函數(shù)名后面括號中的變量名實際參數(shù):調(diào)用函數(shù)時函數(shù)名后面括號中的表達(dá)式Top44調(diào)用函數(shù)和被調(diào)用函數(shù)之間的數(shù)據(jù)傳遞CompanyLogo#include<stdio.h>longsum(inta,intb);longfactorial(intn);main(){intn1,n2;longa;scanf("%d,%d",&n1,&n2);

a=sum(n1,n2);

printf("a=%1d",a);}longsum(int

a,intb){longc1,c2;

c1=factorial(a);c2=factorial(b);

return(c1+c2);}

longfactorial(intn){longrtn=1;

inti;

for(i=1;i<=n;i++)

rtn*=i;

return(rtn);}longsum(inta,intb);longfactorial(intn);文件包含編譯預(yù)處理命令函數(shù)類型說明函數(shù)定義函數(shù)調(diào)用函數(shù)調(diào)用函數(shù)返回值形參實參CompanyLogo例計算x的立方#include<stdio.h>floatcube(floatx){return(x*x*x);}main(){floata,product;

printf("Pleaseinputvalueofa:");

scanf("%f",&a);

product=cube(a);

printf(”Cubeof%.4fis%.4f\n",a,product);}xaproduct××××1.21.21.728Top44調(diào)用函數(shù)和被調(diào)用函數(shù)之間的數(shù)據(jù)傳遞CompanyLogo711x:y:調(diào)用前:調(diào)用結(jié)束:711x:y:#include<stdio.h>main(){intx=7,y=11;

printf("x=%d,\ty=%d\n",x,y);

printf("swapped:\n");

swap(x,y);

printf("x=%d,\ty=%d\n",x,y);}swap(int

a,intb){inttemp;temp=a;a=b;b=temp;}調(diào)用:711a:b:711x:y:swap:711x:y:117a:b:temp例交換兩個數(shù)Top44調(diào)用函數(shù)和被調(diào)用函數(shù)之間的數(shù)據(jù)傳遞CompanyLogo地址傳遞方式:函數(shù)調(diào)用時,將數(shù)據(jù)的存儲地址作為參數(shù)傳遞給形參特點:形參與實參占用同樣的存儲單元“雙向”傳遞實參和形參必須是地址常量或變量Top44調(diào)用函數(shù)和被調(diào)用函數(shù)之間的數(shù)據(jù)傳遞CompanyLogo例交換兩個數(shù)a59b調(diào)前:a59b調(diào)swap:p1&a&bp2a95b交換:p1&a&bp2a95b返回:swap(p1,p2)int*p1,*p2;{intp;p=*p1;*p1=*p2;*p2=p;}main(){int

a,b;

scanf("%d,%d",&a,&b);

printf(“a=%d,b=%d\n”,a,b);

printf(“swapped:\n”);

swap(&a,&b);

printf(”a=%d,b=%d\n",a,b);}CompanyLogo真題分析(2006年9月)、下列程序中,fun()函數(shù)的功能是計算x2-2x+6,主函數(shù)中將調(diào)用fun()函數(shù)計算:y1=(x+8)2-2(x+8)+6 y2=sin2(x)-2sin(x)+6,請?zhí)羁?。Top44調(diào)用函數(shù)和被調(diào)用函數(shù)之間的數(shù)據(jù)傳遞#include"math.h"doublefun(double

x){return(x*x-2*x+6);}main(){doublex,y1,y2;printf("Enterx:");scanf("%lf",&x);y1=fun(————);y2=fun(————);printf("y1=%lf,y2=%lf\n",y1,y2);}x+8sin(x)CompanyLogoTop44調(diào)用函數(shù)和被調(diào)用函數(shù)之間的數(shù)據(jù)傳遞真題分析(2005年4月)下列程序運行后的輸出結(jié)果是——voidswap(int

x,inty){intt;t=x;x=y;y=t;printf("%d%d",x,y);}main(){inta=3,b=4;swap(a,b);printf("%d%d\n",a,b);}4334CompanyLogoTop44調(diào)用函數(shù)和被調(diào)用函數(shù)之間的數(shù)據(jù)傳遞練習(xí)題1、以下程序運行后的輸出結(jié)果是——voidfun(int

x,inty){x=x+y;y=y-x;x=x-y;printf("%d%d",x,y);}main(){intx=2,y=3;fun(x,y);printf("%d%d\n",x,y);}3223CompanyLogo程序舉例例7--1在鍵盤上輸入三個整數(shù),求其最大數(shù)。int

max(int

x,inty){intz;z=x>y?x:y;

return(z);}abcxxyz47547477775main(){int

a,b,c,x;

int

max(int,int);

printf(“a,b,c=?");

scanf(“%d,%d,%d”,&a,&b,&c);x=max(a,b);x=max(x,c);

printf(“max=%d\n”,x);}CompanyLogo例7-2編寫函數(shù)isprime(inta)用來判斷自變量a是否為素數(shù)。若是素數(shù),函數(shù)返回整數(shù)1,否則返回0。#include"stdio.h"int

isprime(int);/*函數(shù)的說明語句*/main(){intx;printf("Enteraintegernumber:");scanf("%d",&x);if(isprime(x))

printf("%disaprime.\n",x);else printf("%disnotaprime.\n",x);}CompanyLogoint

isprime(int

a){inti;for(i=2;i<=a/2;i++)

if(a%i==0) return0;return1;}CompanyLogo例7-3驗證任意偶數(shù)為兩素數(shù)之和。#include"stdio.h"int

isprime(int);voideven

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論