C語言復習題函數(shù)_第1頁
C語言復習題函數(shù)_第2頁
C語言復習題函數(shù)_第3頁
C語言復習題函數(shù)_第4頁
C語言復習題函數(shù)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

------------------------------------------------------------------------C語言復習題函數(shù)C語言復習題_函數(shù)一、選擇1、當調用函數(shù)時,實參是一個數(shù)組名,則向函數(shù)傳遞的是C。A)數(shù)組的長度 B)數(shù)組每一個元素的地址C)數(shù)組的首地址 D)數(shù)組每個元素中的值2、以下函數(shù)定義形式正確的是D。A)doublemyfun(intx,inty){z=x+y;returnz;}B)myfun(intx,y){intz;returnz;}C)myfun(x,y){intx,y;doublez;z=x+y;returnz;}D)doublemyfun(intx,inty){doublez;z=x+y;returnz;}3、下列關于參數(shù)的說法正確的是B。A)實參和與其對應的形參共占用一個存儲單元;B)實參和與其對應的形參各占用獨立的存儲單元;C)形參是虛擬的,不占用存儲單元;D)只有當實參與其對應的形參同名時才共占用存儲單元。4、一個完整的C源程序是B。A)要由一個主函數(shù)或一個以上的非主函數(shù)構成B)由一個且僅由一個主函數(shù)和零個以上的非主函數(shù)構成C)要由一個主函數(shù)和一個以上的非主函數(shù)構成D)由一個且只有一個主函數(shù)或多個非主函數(shù)構成5、以下關于函數(shù)的敘述中正確的是C。A)C語言程序將從源程序中第一個函數(shù)開始執(zhí)行B)可以在程序中由用戶指定任意一個函數(shù)作為主函數(shù),程序將從此開始執(zhí)行C)C語言規(guī)定必須用main作為主函數(shù)名,程序將從此開始執(zhí)行,在此結束D)main可作為用戶標識符,用以定義任意一個函數(shù)6、以下關于函數(shù)的敘述中不正確的是B。A)C程序是函數(shù)的集合,包括標準庫函數(shù)和用戶自定義函數(shù)B)在C語言程序中,被調用的函數(shù)必須在main函數(shù)中定義C)在C語言程序中,函數(shù)的定義不能嵌套D)在C語言程序中,函數(shù)的調用可以嵌套7、在一個C程序中,B。A)main函數(shù)必須出現(xiàn)在所有函數(shù)之前B)main函數(shù)可以在任何地方出現(xiàn)C)main函數(shù)必須出現(xiàn)在所有函數(shù)之后D)main函數(shù)必須出現(xiàn)在固定位置8、若在C語言中未說明函數(shù)的類型,則系統(tǒng)默認該函數(shù)的數(shù)據(jù)類型是C。A)float B)long C)int D)double9、以下關于函數(shù)敘述中,錯誤的是D。A)函數(shù)未被調用時,系統(tǒng)將不為形參分配內存單元B)實參與形參的個數(shù)應相等,且實參與形參的類型必須對應一致C)當形參是變量時,實參可以是常量、變量或表達式D)形參可以是常量、變量或表達式10、若函數(shù)調用時參數(shù)為基本數(shù)據(jù)類型的變量,以下敘述正確的是C。A)實參與其對應的形參共占存儲單元B)只有當實參與其對應的形參同名時才共占存儲單元C)實參與對應的形參分別占用不同的存儲單元D)實參將數(shù)據(jù)傳遞給形參后,立即釋放原先占用的存儲單元11、函數(shù)調用時,當實參和形參都是簡單變量時,他們之間數(shù)據(jù)傳遞的過程是D。A)實參將其地址傳遞給形參,并釋放原先占用的存儲單元B)實參將其地址傳遞給形參,調用結束時形參再將其地址回傳給實參C)實參將其值傳遞給形參,調用結束時形參再將其值回傳給實參D)實參將其值傳遞給形參,調用結束時形參并不將其值回傳給實參12、若程序中定義函數(shù)floatmyadd(floata,floatb){returna+b;}并將其放在調用語句之后,則在調用之前應對該函數(shù)進行說明。以下說明中錯誤的是A。A)floatmyadd(floata,b);B)floatmyadd(floatb,floata);C)floatmyadd(float,float);D)floatmyadd(floata,floatb);13、以下程序運行后的輸出結果是D。fun(inta,intb){ if(a>b) returna;else returnb;}intmain(){ intx=3,y=8,z=6,r;r=fun(fun(x,y),2*z);printf("%d\n",r);return0;}A)3 B)6 C)8 D)1214、以下程序的運行結果是C。voidf(inta,intb){ intt;t=a;a=b;b=t;}intmain(){ intx=1,y=3,z=2;if(x>y)f(x,y);elseif(y>z)f(x,z);elsef(x,z);printf("%d,%d,%d\n",x,y,z);return0;}A) 1,2,3 B)3,1,2 C)1,3,2 D)2,3,1二、判斷1、C程序從源文件中的第一個函數(shù)開始運行,到最后一個函數(shù)結束。F2、C語言的函數(shù)調用時,形參是不需要分配存儲單元的。F3、函數(shù)中的形參變量在被定義后即被分配了一定的內存單元。F三、程序填空1、在C語言中,一個函數(shù)一般由兩個部分組成,分別是函數(shù)首部和函數(shù)體。2、以下程序的功能是計算函數(shù)F(x,y,z)=(x+z)/(y-z)+(y+2×z)/(x-2×z)的值,請將程序補充完整。#include<stdio.h>floatf(floatx,floaty){ floatvalue;value=x/y;returnvalue;}intmain(){ floatx,y,z,sum;scanf("%f%f%f",&x,&y,&z);sum=f(x+z,y-z)+f(y+2*z,x-2*z);printf("sum=%f\n",sum);return0;}3、以下程序是選出能被3整除且至少有一位是5的所有三位正整數(shù)k(個位為a0,十位為a1,百位為a2),打印出所有這樣的數(shù)及其個數(shù)。請將程序補充完整。#include<stdio.h>sub(intm,intn){ inta0,a1,a2;a2=m/100;a1=m/10-a2*10;a0=m%10;if(m%3==0&&(a2==5||a1==5||a0==5)){ printf(“%d”,m);n++;}returnn;}intmain(){ intm=0,k;for(k=105;k<=995;k++)m=sub(k,m);printf("\nn=%d\n",m);return0;}四、寫出程序運行結果1、#include<stdio.h>#defineN20fun(inta[],intn,intm){ inti,j; for(i=m;i>=n;i--) a[i+1]=a[i];}intmain(){inti,a[N]={1,2,3,4,5,6,7,8,9,10};fun(a,2,9);for(i=0;i<5;i++)printf("%d",a[i]); return0;}答:123342、#include<stdio.h>intF(intx){ ints=0; s+=x; returns;}intG(intx){ staticints=0; s+=x; returns;}intmain(){ printf("%d\n",F(2)); printf("%d\n",F(3)); printf("%d\n",G(2)); printf("%d\n",G(3)); return0;}答:23253、#include<stdio.h>voidfact(inta);voidsum(intb);intmain(){ intc=5; fact(c); sum(c+5); return0;}voidfact(inta){ inti,total=1; for(i=1;i<=a;i++) total*=i; printf("a=%d,total=%d\n",a,total); sum(a);}voidsum(intb){ inti,sum=0; for(i=1;i<=b;i++) sum+=i; printf("b=%d,sum=%d\n",b,sum);}運行結果為:4、#include<stdio.h>voidfun(intx,inty,intz);intmain(){inta=31;fun(6,3,a);printf("%d",a);return0;}voidfun(intx,inty,intz){z=x*x+y*y;}答:31五、程序設計1、寫一個判素數(shù)的函數(shù),在主函數(shù)中輸入一個整數(shù),輸出是否為素數(shù)的信息。參考代碼:#include<stdio.h>intmain(){ intPrime(intn); intn; scanf("%d",&n); if(Prime(n)) printf("%d是素數(shù)",n); else printf("%d不是素數(shù)",n); return0;}intPrime(intn){ inti,flag=1; for(i=2;i<n/2;i++) { if(n%i==0) { flag=0; break; } } returnflag;}2、數(shù)學函數(shù),-∞<x<+∞編寫函數(shù):doubleF(doublex);要求精度達到10-6。#include<stdio.h>#include<math.h>#defineepsilon1e-6doubleF(doublex);intmain(){ doublea,b; printf("a=?"); scanf("%lg",&a); b=F(a); printf("b=%lg\n",b); return0;}doubleF(doublex){ doublep=x,y=p; intd=1; do { d+=2; p*=x*x/(d*(d-1)); y+=p; } while(fabs(p)>=epsilon); returny;}3、寫一個計算x的n次方的函數(shù),在主函數(shù)中輸入一個實數(shù)x,一個整數(shù)n代表次數(shù),輸出x的n次方的結果。參考代碼:

溫馨提示

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

最新文檔

評論

0/150

提交評論