chapter8習(xí)題.doc_第1頁
chapter8習(xí)題.doc_第2頁
chapter8習(xí)題.doc_第3頁
chapter8習(xí)題.doc_第4頁
chapter8習(xí)題.doc_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第8章 函數(shù)一、選擇題(在下列各題的A)、B)、C)、D)四個選項中,只有一個選項是正確的)8.1 若已定義的函數(shù)有返回值,則以下關(guān)于該函數(shù)調(diào)用的敘述中錯誤的是A)函數(shù)調(diào)用可以作為獨立的語句存在B)函數(shù)調(diào)用可以作為一個函數(shù)的實參C)函數(shù)調(diào)用可以出現(xiàn)在表達式中D)函數(shù)調(diào)用可以作為一個函數(shù)的形參 正確答案: D8.2 在調(diào)用函數(shù)時,如果實參是簡單的變量,它與對應(yīng)形參之間的數(shù)據(jù)傳遞方式是A)地址傳遞B)單向值傳遞C)由實參傳形參,再由形參傳實參D)傳遞方式由用戶指定 正確答案: B8.3 以下正確的說法是A)定義函數(shù)時,形參的類型說明可以放在函數(shù)體內(nèi)B)return后邊的值不能為表達式C)如果函數(shù)值的類型與返回值類型不一致,以函數(shù)值類型為準D)如果形參與實參類型不一致,以實參類型為準 正確答案: C8.4 以下正確的說法是A)用戶若需調(diào)用標準庫函數(shù),調(diào)用前必須重新定義B)用戶可以重新定義標準庫函數(shù),若如此,該函數(shù)將失去原有含義C)系統(tǒng)根本不允許用戶重新定義標準庫函數(shù)D)用戶若需調(diào)用標準庫函數(shù),調(diào)用前不必使用預(yù)編譯命令將該函數(shù)所在文件包括到用戶源文件中,系統(tǒng)自動調(diào)用正確答案: B8.5 以下敘述正確的是A)函數(shù)可以嵌套定義但不能嵌套調(diào)用B)函數(shù)既可以嵌套調(diào)用也可以嵌套定義C)函數(shù)既不可以嵌套定義也不可以嵌套調(diào)用D)函數(shù)可以嵌套調(diào)用但不可以嵌套定義正確答案: D8.6 下面對C語言的描述中,正確的是A)函數(shù)一定有返回值,否則無法使用函數(shù)B)C語言函數(shù)既可以嵌套定義又可以遞歸調(diào)用C)在C語言中,調(diào)用函數(shù)時,只能將實參的值傳遞給形參D)C語言程序中有調(diào)用關(guān)系的所有函數(shù)都必須放在同一源程序文件中 正確答案: C8.7 下列說法中錯誤的是A)靜態(tài)局部變量的初值是在編譯時賦予的,在程序執(zhí)行期間不再賦予初值B)若全局變量和某一函數(shù)中的局部變量同名,則在該函數(shù)中,此全局變量被屏蔽C)靜態(tài)全局變量可以被其他的編輯單位所引用D)所有自動類局部變量的存儲單元都是在進入這些局部變量所在的函數(shù)體(或復(fù)合語句)時生成,退出其所在的函數(shù)體(或復(fù)合語句)時消失 正確答案: C8.8 以下程序有語法錯誤,有關(guān)錯誤原因的正確說法是main() int G=5,k;void prt_char( );.k=prt_char(G);.A)語句 void prt_char( );有錯,它是函數(shù)調(diào)用語句,不能用void說明B)變量名不能使用大寫字母C)函數(shù)說明和函數(shù)調(diào)用語句之間有矛盾D)函數(shù)名不能使用下劃線正確答案: C8.9 以下正確的函數(shù)頭定義形式是A)double fun(int x,int y)B)double fun(int x;int y)C)double fun(int x,int y);D)double fun(int x,y);正確答案: A8.10 以下所列的各函數(shù)首部中,正確的是A)void play(var :Integer,var b:Integer)B)void play(int a,b)C)void play(int a,int b)D)Sub play(a as integer,b as integer)正確答案: C8.11 不合法的main函數(shù)命令行參數(shù)表示形式是A)main(int a,char *c)B)main(int arc,char *arv)C)main(int argc,char *argv)D)main(int argv,char *argc)正確答案: C8.12 下面函數(shù)調(diào)用語句含有實參的個數(shù)為func(exp1,exp2),(exp3,exp4,exp5);A)1B)2C)4D)5正確答案: B8.13 設(shè)有如下函數(shù)fun (float x) printf(n%d,x*x);則函數(shù)的類型是A)與參數(shù)x的類型相同 B)是voidC)是int型 D)無法確定正確答案: C8.14 有以下程序float fun(int x,int y) return(x+y);main( ) int a=2,b=5,c=8;printf(%3.0fn,fun(int)fun(a+c,b),a-c);程序運行后的輸出結(jié)果是A)編譯出錯B)9C)21D)9.0正確答案: B8.15 下列程序執(zhí)行后的輸出結(jié)果是void func1(int i);void func2(int i);char st=hello,friend!;void func1(int i) printf(%c,sti);if(i3) i+=2;func2(i);void func2(int i) printf(%c,sti);if(i3) i+=2;func1(i);main() int i=0; func1(i); printf(n);A)helloB)helC)hloD)hlm正確答案: C8.16 有以下程序int f(int n) if(n=1) return 1;else return f(n-1)+1;main() int i,j=0;for(i=1;i2) return(fib(n-1)+fib(n-2);else return(2);main() printf(%dn,fib(3);該程序的輸出結(jié)果是A)2B)4C)6D)8正確答案: B8.18 下列函數(shù)的運行結(jié)果是main( ) int i=2,p;int j,k;j=i;k=+i;p=f(j,k);printf(%d,p);int f(int a,int b) int c;if(ab) c=1;else if(a=b) c=0;else c=-1;return(c);A)-1B)1C)2D)編譯出錯,無法運行正確答案: A8.19 閱讀下列程序,當運行函數(shù)時,輸入asd af aa z67,則輸出為int fun (char *str) int i,j=0;for(i=0;stri!=0;i+)if(stri!= ) strj+=stri;strj= 0;main() char str81;int n;printf(Input a string : );gets(str);fun(str);printf(%sn,str);A)asdafaaz67B)asd af aa z67C)asdD)z67正確答案: A8.20 以下程序的輸出結(jié)果是long fun( int n) long s;if(n=1|n=2) s=2;else s=n-fun(n-1);return s;main( ) printf(%ldn, fun(3);A)1B)2C)3D)4正確答案: A8.21 已有變量定義和函數(shù)調(diào)用語句:int a=25;print_value(&a);下面函數(shù)的正確輸出結(jié)果是void print_value(int *x) printf(%dn,+*x);A)23B)24C)25D)26正確答案: D8.22 下面程序應(yīng)能對兩個整型變量的值進行交換。以下正確的說法是main() int a=10,b=20;printf(1)a=%d,b=%dn,a,b);swap(&a,&b);printf(2)a=%d,b=%dn,a,b);swap(int p,int q) int t;t=p;p=q;q=t;A)該程序完全正確B)該程序有錯,只要將語句swap(&a,&b);中的參數(shù)改為a,b即可C)該程序有錯,只要將swap()函數(shù)中的形參p和q以及t均定義為指針(執(zhí)行語句不變)即可D)以上說法都不對正確答案: D8.23 以下程序的輸出結(jié)果是int f( ) static int i=0;int s=1;s+=i; i+;return s;main() int i,a=0;for(i=0;i0&a10) c=(a+b)/2;else c=a*b/2;return c;main( ) int a=8,b=20,c;c=f(a,b);printf(%dn,c);A)隨機數(shù) B)80 C)28 D)14正確答案: D8.31 閱讀如下程序段,則程序段的執(zhí)行后的輸出結(jié)果為#include stdio.hmain( ) char c;int i;char count();int p(char);for(i=0;i30;i+) c=count();p(c);char count() char str=A;str+=1;return(str);p(char c) putchar(c);putchar(n);A)AB)BC)aD)b正確答案: B8.32 閱讀程序,則執(zhí)行后的結(jié)果為#include stdio.hmain() int i,m,n;for(i=0;i3;i+) m=test1();n=test2();printf(%d,%dn,m,n);test1() int x=0;x+;return x;test2( ) static int x=0;x+;return x;A)1,1B)1,3C)3,1D)3,3正確答案: B二、填空題8.33 當調(diào)用函數(shù)時,實參是一個數(shù)組名,則向函數(shù)傳遞的是 正確答案: 數(shù)組的首地址8.34 以下程序的輸出結(jié)果是 void fun( ) static int a=0;a+=2; printf(%d,a);main( ) int cc;for(cc=1;cc4;cc+) fun( );printf(n);正確答案: 2468.35 以下程序運行結(jié)果是 long fib (int g) switch (g) case 0 return 0;case 1case2return 1;return (fib (g-1)+fib(g-2);main () long k;k=fib (5);printf (k=%dn),k);正確答案: k=58.36 以下程序的輸出結(jié)果是 unsigned fun6(unsigned num) unsigned k=1;do k *=num ; num/=10; while (num);return k;main() unsigned n=26;printf(%dn, fun6(n);正確答案: 528.37 下面的函數(shù)fun的功能是將形參x的值轉(zhuǎn)換成二進制數(shù),所得二進制數(shù)的每一位放在一維數(shù)組中返回,二進制的最低位放在下標為0的元素中,其他依次類推,請?zhí)羁?。fun(int x,int b) int k=0,r;do r=x% ;b =r;x/= ; while(x);正確答案: 2 正確答

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論