國(guó)家二級(jí)C語(yǔ)言機(jī)試(函數(shù))模擬試卷1_第1頁(yè)
國(guó)家二級(jí)C語(yǔ)言機(jī)試(函數(shù))模擬試卷1_第2頁(yè)
國(guó)家二級(jí)C語(yǔ)言機(jī)試(函數(shù))模擬試卷1_第3頁(yè)
國(guó)家二級(jí)C語(yǔ)言機(jī)試(函數(shù))模擬試卷1_第4頁(yè)
國(guó)家二級(jí)C語(yǔ)言機(jī)試(函數(shù))模擬試卷1_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

家二級(jí)C語(yǔ)言機(jī)試(函數(shù))模擬試卷

第1套

一、選擇題(本題共35題,每題1.0分,共35分。)

1有以下程序#includcintf(intn){intt=0,a=5;if(n/2){inta=6;t+=a++;}else

{inta=7;t+=a++;}returnt+a++;}main(){ints=0,i=0;for(;i<2;i++)s+=f(i);

printf("%d\n”,s);}程序運(yùn)行后的輸出結(jié)果是()。

A、24

B、28

C、32

D、36

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:一個(gè)源文件中如果外部變量和局部變量同名,則在該局部變量的作用

域內(nèi),該外部變量會(huì)被“屏蔽“,main。函數(shù)中調(diào)用兩次f()函數(shù),兩次調(diào)用均進(jìn)入

else選擇支句,匚7,返回7+5=12,所以s=O+f(O)+f(1)=24,答案選A。

2、下列選項(xiàng)中,能夠滿足”只要字符串si等于字符串s2,則執(zhí)行ST”要求的是

()0

A、if(strcmp(s2,sl)==0)ST;

B、if(sl==s2)ST;

C>if(strcpy(sl,s2)==1)ST;

D、if(sl-s2=0)ST;

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析?:C語(yǔ)言中,比較兩個(gè)字符串只能使用字符串處理函數(shù)中的字符串比較

函數(shù)siremp(字符串1,字符串2),若若字符串1與字符串2相同則該函數(shù)返回0,

所以選項(xiàng)A)符合要求,答案選A)。

3、有以下程序#includeintfun(charp[][10]){intn=0,i;for(i=0;i<7;i++)

if(p[i][0]=T)n-H-;returnn;}main(){char

str[][10]={“Mon”,“Tue","Wed”,“Thu",“Fri”JSat”JSun”};printf(n%d\n",fun(str));}程序

執(zhí)行后的輸出結(jié)果是()。

A、2

B、1

C、3

D、0

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:函數(shù)fun()的功能是統(tǒng)計(jì)字符串?dāng)?shù)組每個(gè)字符串首字母為?T?的字符串

個(gè)數(shù),所以答案選A。

4、若有以下程序#includemain(){charw[20],a[5][IO]=|"abcdef,"ghijkl1',"mnopq",

"rstuv","wxyz");intp[6][2]={{0,1},{l,5},{0,0},{0,2},{1,4),{4,4)},i;for(i=0;i<6:

i++)w[i]=a[p[i][0]][p川[l]];puls(w);}則程序的輸出結(jié)果是()o

A、black

ababj

C、ckbdl

D^caiis

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:考查二維數(shù)組元素的引用。該段程序代碼的作用是取二維數(shù)組p中的

元素對(duì)作為數(shù)組a的下標(biāo)引用a中的元素,并用一維數(shù)組w保存。所以

w[0]=a[p[0][0]][p[0][l]]=a[0][l]=?b?,w[l]=a[p[l][0]][p[l][l]]=a[l][5]=?1?,同理

w[2]=a[0][0]=?a?,w[3]=a[0][2]=?c?,w[4]=a[l][4]=?k?,w[5]=a[4][4]=?\0?,所以

輸出結(jié)果為“black",答案選A。

5、若有以卜程序#includevoidf(intx){if(x>=10){printf("%d-",x%10);f(x/10);}

elseprintf("%d",x);}main。{intz=123456;f(z);}則程序的輸出結(jié)果是()?

A、6-5-4-3-2-1

B、6-5432

C、1-2-3-4-5-6

D、1-2-3-4-5-6-

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:函數(shù)f()的功能是將數(shù)字x逆序輸出,并在輸出的數(shù)字之間加上間隔

符號(hào)?-?,所以答案選A。

6、若有以卜程序#includeinta=2;intf(intm){staticintn;n=0;n++;a++;return

n+m+a;}main(){intk;for(k=0;k<4;k++)printf("%d;;f(k));}則程序的輸出結(jié)果是

()o

A、4,6,8,10,

B、4,7,10,13,

C、4,5,6,7,

D、3,579,

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:靜態(tài)變量定義時(shí)的初始化只運(yùn)行一次,并且其值在程序運(yùn)行過程中一

直存在,但是該函數(shù)中在定義靜態(tài)變量n時(shí)并沒有對(duì)其初始化,接下來有個(gè)賦值語(yǔ)

句“n=0;”所以每次執(zhí)行函數(shù)f()時(shí),靜態(tài)變量n都會(huì)先被賦值為0再自加1,所以輸

出的f(0)=l+0+3==4,n=l?a=3;f(1)=1+1+4=6,n=l?a=4;f(2)=l+2+5=8?n=l,

a=5;f(3)=1+3+6=10,n=l,a=6?所以答案選A。

7、若有以卜程序#includeintf(inta[],intn){if(n>1){intt;t=f(a,n-1);returnt>

a[n-l]?t:a[n-l];)elsereturna|0];}main(){inta[]={829,1,3,6,4,7,5};

primf("%d\n”,f(a,9));}則程序的輸出結(jié)果是()。

A、9

B、I

C、8

D、5

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:函數(shù)f()的功能是返回?cái)?shù)組a中所有數(shù)字中最大的值,所以輸出結(jié)果

為9,答案選A。

8、若有以下程序#includeintf(intm){staticintn=0;inta=2;n++;a++;return

n+m+a;}main(){intk;for(k=0;k<4;k++)printf("%d,",f(k));}則程序的輸出結(jié)果是

()0

A、4,6,8,10,

B、4,7,10,13,

C>4,5,6,7,

D、3,579,

標(biāo)準(zhǔn)答案;A

知識(shí)點(diǎn)解析:靜態(tài)變量定義時(shí)的初始化只運(yùn)行一次,并且其值在程序運(yùn)行過程中一

直存在,而局部變量則是用時(shí)分配,用完釋放。main。函數(shù)中調(diào)用四次f()函數(shù),

f(0)=l+0+3=4,n=l,a=3;f(1)=2+1+3=6,n=2,a=3;f(2)=3+2+3=8?n=3?a=3;

f(3)=4+3+3=10,n=4,a=3。所以答案選A。

9、有以下程序#includeintfun(intx){intp;if(x==0||x==l)return(3);p=x-fun(x-

2);return(p);}main()(printf("%d\n",fun(9));)程序運(yùn)行后的輸出結(jié)果是()。

A、7

B、5

C、9

D、4

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:考查函數(shù)的遞歸調(diào)用。fun(9)=9-fun(7)=9-(7-fun(5))=2+(5-fun(3))=7-(3-

fun(1))=7,所以答案選A。

10、有以下程序#includefun(inta,intb){intstaticm=0,i=2;i=i+m+l;m=i+a+b;

returnm;)main(){intk=4,m=l,p;p=fun(k,m);printf("%d,H,p);p=fun(k,m);

printf("%d\n",p);}程序運(yùn)行后的輸出結(jié)果是()。

A、8,17

B、7/6

C、8,8

D、7,17

標(biāo)準(zhǔn)答案:A

14、以下敘述中正確的是()。

A、全局變量的存儲(chǔ)類別可以是靜態(tài)類

B、對(duì)于變量而言,“定義“和“說明”這兩個(gè)詞實(shí)際上是同一個(gè)意思

C、在復(fù)合語(yǔ)句中不能定義變量

D、函數(shù)的形式參數(shù)不屬于局部變量

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:全局變量可以用slatic修飾,限制該變量只能在當(dāng)前文件有效而不能

被其他文件訪問,選項(xiàng)A)正確;變量的說明只是向編譯程序描述變量類型,但不

為該變量分配存儲(chǔ)空間,變量的定義才為該變量分配存儲(chǔ)空間,選項(xiàng)B)錯(cuò)誤;在

語(yǔ)句塊內(nèi)可以定義變量,定義的變量為局部變量,選項(xiàng)C)錯(cuò)誤;函數(shù)的形參相當(dāng)

于在函數(shù)內(nèi)部定義的一個(gè)變量,屬于局部變量,選項(xiàng)D)錯(cuò)誤;答案選A)。

15、有以卜程序#includeintfun(intn){inta;if(n=l)return1;a=n+fun(n-1);

return(a);)main(){printf("%d\nn,fun(5));)程序的輸出結(jié)果是()。

A、15

B、14

C、10

D、9

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:考查遞歸函數(shù)。函數(shù)fun()的功能是計(jì)算1到n之間的數(shù)字之和,所

以計(jì)算結(jié)果為15,答案選A。

16、有以下程序#includeintd=l;voidfun(intp){intd=5;d+=p++;printf("%d",

d);}main(){inta=3;fun(a);d+=a++;printf("%d\n",d);}程序的輸出結(jié)果是

()o

A、84

B、96

C、94

D、85

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:函數(shù)的參數(shù)傳遞過程中,形參只是實(shí)參的一個(gè)副本,形參改變不能影

響到實(shí)參。若外部變量和局部變量同名,則在該局部變量的作用域內(nèi),該外部變量

會(huì)被“屏蔽“。所以調(diào)用函數(shù)fun(a)時(shí),使用的變量d為5,d=5+3=8,輸出結(jié)果為

8;main。函數(shù)內(nèi),使用的為全局變量d,a值沒有改變,d=1+3=4,輸出結(jié)果為

4,所以答案選A。

17、有以下程序#inckideintfun(inta){intb=0;staticintc=3;a=(c++,b++);return

(a);}main(){inta=2,i,k;for(i=0;i<2;i++)k=fun(a++);printf("%d\n",k);}程序

的輸出結(jié)果是()。

A、0

B、4

C、I

D、2

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:函數(shù)fun。中語(yǔ)句“a=(c++,b++);”計(jì)算的結(jié)果始終為0,這是因?yàn)槎禾?hào)

表達(dá)式的值為最后一個(gè)表達(dá)式,即“b++”的值,b為局部變量,每次調(diào)用時(shí)均初始

化為0,所以函數(shù)fun()的返回值始終為0,計(jì)算得k的值也為0,答案選A。

18>有以下程序#includcinta=l,b=2;voidfun1(inta,intb){printf("%d%d",a,

b);}voidfun2(){a=3;b=4;)main(){fun1(5,6);fun2();printf("%d%d\n",a,b);}程

序運(yùn)行后的輸出結(jié)果是()。

A、5634

B、3456

C、1256

D、5612

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析?:在一個(gè)源文件中如果外部變量和局部變量同名,則在該局部變量的作

用域內(nèi),該外部變量會(huì)被“屏蔽”,所以函數(shù)funl()輸出的為局部變量a、b的值:5

6;fun2()改變的是全局變量a、b的值,輸出結(jié)果為34,答案選A。

19,有以下程序/includevoidfunc(intn){staticintnum=1;num+=n;printf(*'%d",

num);}main(){func(3);func(4);printf(',\nM);}程序運(yùn)行后的輸出是()。

A、48

B、45

C、35

D、34

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:func。有一個(gè)靜態(tài)變量num,靜態(tài)變量的初始化只進(jìn)行一次,其值在

程序運(yùn)行過程中一直存在。調(diào)用func(3)時(shí)num被初始化為I,語(yǔ)句"num+=n;"計(jì)

算得num值為4,輸出結(jié)果為4:調(diào)用func(4)時(shí),num為I*一次計(jì)算的結(jié)果4.再次

計(jì)算num=8,輸出結(jié)果為8,。答案選A。

20、有以下程序#inckidevoidf(intx[],intn){if(n>1){printf(H%d,",x[n-l]);f(x,n-

1);}elseprintf("%dj,x[0]);}main(){intz[6]={1,23,4,5,6};f(z,6);printf("\n");|程

序的運(yùn)行結(jié)果是()。

A、6,543,2,1,

B、6,1,

C、2,34,5,6,1,

D、1,234,5,6,

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:函數(shù)f()的功能是逆序輸出x中前n個(gè)數(shù)據(jù),所以答案選A。

21、有以卜程序#includeinta=2;intf(){staticintn=0;intm=0;n++;a++;m++;

returnn+m+a;}main(){intk;for(k=0;k<3;k++)printf("%d,'\f());printf("\n");}程

序的運(yùn)行結(jié)果是()。

A、5,7,9,

B、5,6,7,

C、5,8,11,

D、5,5,5,

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:靜態(tài)變量定義時(shí)的初始化只運(yùn)行一次,并且其值在程序運(yùn)行過程中一

直存在,而局部變量則是用時(shí)分配,用完釋放。全局變量在當(dāng)前文件內(nèi)也是一直存

在的。main。函數(shù)中調(diào)用三次f()函數(shù),f(0)=1+1+3=5,n=1,m=1,a=3;

f(1)=2+1+4=7,n=2,m=l,a=4;f(2)=3+1+5=9,n=3,m=l,a=5o所以答案選

Ao

22、有以下程序includevoidf(intx[],intn){if(n>1){f(&x[l],n-1);printf("%d;\

x[0]);}elseprintf("%d,",x[O]);}main(){intz[6]={1,2,3,4,56};f(z,6);printf("\n");}

程序的運(yùn)行結(jié)果是()。

A、6,543,21,

B、1,1

C、1,1,1』,1,1,

D、1,2,34,5,6,

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)3析:函數(shù)f()的功能是逆序輸出x中前n個(gè)數(shù)據(jù),所以答案選A。

23、有以下程序#inckideinta=2;intf(){staticintn;intm;m=n=0;n++;a++;m++;

returnn+m+a;)main(){intk;for(k=0;k<3;k++)printf(n%d,",f());printf("\n");}程

序的運(yùn)行結(jié)果是()。

A^5,6,7,

B、5,7,9,

C、5,8,11,

D、5,5,5,

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:局變量在當(dāng)前文件內(nèi)也是一直存在的。而靜態(tài)變量定義時(shí)的初始化只

運(yùn)行一次,并且其值在程序運(yùn)行過程中一直存在,函數(shù)f()在定義靜態(tài)變量n時(shí)并

沒有對(duì)其初始化,接下來有個(gè)賦值語(yǔ)句"m=n=0;”所以每次執(zhí)行函數(shù)f()時(shí),靜態(tài)變

量n都會(huì)先被賦值為0再自加1,所以輸出的f(0)=l+1+3=5,n=l,m=l,a=3;

f(l)=l+l+4=6,n=l,m=l,a=4;f(2)=l+l+5=7,n=l,m=l,a=5o所以答案選

Ao

24、有以F程序#includemain(){inti=l,j=3;printf("%d,n,i++);{inti=0;i+=j*2;

printf(H%d,%d,",i,j);)printf("%d,%d\n",i,j);}程序運(yùn)行后的輸出結(jié)果是()。

A、1,6,3,2,3

B、1,63,1,3

C、1,6,3,6,3

D、1,7,323

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:不同作用域內(nèi)若定義有同名的局部變量,則在其中一個(gè)局部變量的作

用域內(nèi),其他同名的局部變量會(huì)被“屏蔽”,規(guī)則一般是作用域小的變量“屏蔽”作用

域大的變量。在用{}引起來的復(fù)合語(yǔ)句塊中,i值為6,輸出結(jié)果為6,3,而在涪句

塊外,i為2,輸出結(jié)果為2,3,所以答案選A。

25、有以下程序#includcintfun(mta,intb){staticintm=0,i=2;i+=m+l;m=i+a+

b;returnm;}main(){intk=4,m=l,p;p=fun(k,m);printf("%dj,p);p=fun(k,m);

printf("%d\n”,p);}程序運(yùn)行后的輸出結(jié)果是()。

A、8,17

B、8,16

C、8,8

D、8,20

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:靜態(tài)變量定義時(shí)的初始化只運(yùn)行一次,并且其值在程序運(yùn)行過程中一

直存在,所以第一次調(diào)用fun(k,m)時(shí),p=fun(4,1)=m=8,靜態(tài)變量

i=2+0+1=3,m=3+4+1=8;第二次調(diào)用fun(k,m)時(shí),p=fun(4,l)=m=17,靜態(tài)變量

i=3+8+l=12,m=12+4+l=17;輸出結(jié)果為8,17。答案選A。

26、若有定義語(yǔ)句:charstrl[]="string,,,str2[8],*str3,str4[10]="string";,庫(kù)函數(shù)

strcpy的功能是復(fù)制字符串,以下選項(xiàng)中錯(cuò)誤的函數(shù)調(diào)用是()。

A、strcpy(str3,"HELLO!")

B、strcpy(str2,nHELLO!")

C、strcpy(strl,nHELLO!")

D、strcpy(str4,"HELLO!")

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:字符指針必須指向一個(gè)地址,沒有指向具體內(nèi)存地址的指針不能作為

strcpy。的參數(shù),答案選A。

27、當(dāng)沒有指定C語(yǔ)言中函數(shù)形參的存儲(chǔ)類別時(shí),函數(shù)形參的存儲(chǔ)類別是()。

A、自動(dòng)(auto)

靜態(tài)(static)

C^寄存器(register)

D、夕卜部(extern)

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:C語(yǔ)言中,當(dāng)省略變量的存儲(chǔ)類型時(shí),局部變量的存儲(chǔ)類別默認(rèn)為

auto,所以答案選A。

28、有如下程序//includevoidconvert(charch){if(chv'D')convert(ch+l);

prin氓"%c”,ch);}main(){convert(,A,);printf("\n");}程序運(yùn)行后的輸出結(jié)果是

()o

A、DCBA

B、ABCD

C、A

D、ABCDDCBA

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:函數(shù)convur。的作用是輸出ASCII碼在字母TV到字母ch之間的字

符,答案選A)。

29>有如下程序#includevoidget_put(){charch;ch=getchar();if(ch!='\n')

get_put();putchar(ch);}main(){get_put();printf("\n");)程序運(yùn)行時(shí),輸入1234cpi

車〉,則輸出結(jié)果是()。

A、4321

B、1234

C、4444

D、1111

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:函數(shù)get_put()的作用是利用遞歸調(diào)用,優(yōu)先輸出最后一個(gè)輸入的字

符,即逆序輸出輸入的字符串,答案選A。

30、有如卜程序#includeintsum(intdata){staticintinit=0;returninit+=data;}

main(){inti;for(i=l;i<=5;i++)printf(,,%d,,\sum(i));printf("\nn);}程序運(yùn)行后的輸

出結(jié)果是()。

A、1,3,6,10,15,

B、123,4,5,

C、0,0,0,0,0,

D、1,1,1,1」,

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:靜態(tài)變量在定義時(shí)的初始化只運(yùn)行一次,并且其值在程序運(yùn)行過程中

一直存在,所以函數(shù)sum。的作用是用靜態(tài)變量init累加所有的調(diào)用sum。函數(shù)時(shí)傳

入的參數(shù)值。for循環(huán)中傳入的參數(shù)為123,4,5,所以輸出的結(jié)果為1,3,6,10,15,答

案選Ao

31、有如卜程序#includeint*sum(intdata){staticintinit=0;init+=data;return

&init;)main(){inti,*p;for(i=l;i<=4;i++)sum(i);p=sum(0);printf("%d\n",*pi;}

程序運(yùn)行后的輸出結(jié)果是()。

A、10

B、0

C、1

D、15

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:靜態(tài)變量在定義時(shí)的初始化只運(yùn)行一次,并且其值在程序運(yùn)行過程中

一直存在,所以函數(shù)sum()的作用是用靜態(tài)變量init累加所有的調(diào)用sum。函數(shù)時(shí)傳

入的參數(shù)值。for循環(huán)中傳入的參數(shù)為123,4,每次的計(jì)算結(jié)果為1,3,6,10。再次調(diào)

用函數(shù)sun(0)時(shí)返回值為10,答案選A。

32、有以下程序#includcvoidfac2(int);voidfacl(intn){printf("*n);if(n>0)fac2(n-

I);}voidfac2(intn){printf("#n);if(n>0)fac2(-n);)main(){facl(3);}程序的運(yùn)行結(jié)

果是()。

A、*#幃

B、*##*

C、**##

D、*#*#

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:考查函數(shù)的嵌套調(diào)用,嵌套調(diào)用順序分別為:facl(3)、fac2(2)、

fac2(」)、fac2(0),每調(diào)用facl()輸出一個(gè)””,調(diào)用fac2()輸出一個(gè)”#“,所以答案選

Ao

33,有以下程序#includeintfun(intn){staticintt=l;inti=l;for(;i<=n;i++)t*=i;

returnt;)main(){intt=l,i;for(i=2;i<4;i++)t+=fun(i);printf(n%d\n",t);}程序的運(yùn)行

結(jié)果是()。

A、15

B、11

C、8

D、4

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:函數(shù)fun()調(diào)用兩次,fun(2)中計(jì)算出的結(jié)果為2,由于函數(shù)fun()中有

一個(gè)靜態(tài)變量t,靜態(tài)變量在定義時(shí)的初始化只運(yùn)行一次.并且其值在程序運(yùn)行過

程中一直存在,所以第二次調(diào)用fun⑶時(shí)t=3,計(jì)算結(jié)果為12。主函數(shù)main()用局

部變量I累加兩次調(diào)用結(jié)果,[初始值為1,所以最終t=15,答案選A。

34、有以下程序#includemain。{intfindmax(int,),m;;m=findmax(a,b,c);\}

intfindmax(intx,inty,intz){...}則以下敘述正確的是()。

A、在main函數(shù)中聲明了findmax函數(shù)

在main函數(shù)中定義了findmax函數(shù)

C、在main函數(shù)中兩次調(diào)用了findmax函數(shù)

D、在main函數(shù)內(nèi)、外重復(fù)定義了findmax函數(shù)

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:函數(shù)不能嵌套定義,但是可以在一個(gè)函數(shù)體內(nèi)對(duì)另一個(gè)函數(shù)進(jìn)行聲

明,函數(shù)聲明的一般形式為”類型說明符被調(diào)函數(shù)名(類型形參,類型形參…:r,所

以語(yǔ)句“intfindmax(int,int,int)”為對(duì)函數(shù)findmax。的聲明,語(yǔ)句"m=findmax(a,b,c);"

為調(diào)用函數(shù)findmax。,在main。函數(shù)外是函數(shù)findmax。的定義。答案選A。

35、有以下程序#includevoidfun(intn){inti;if((i=n/10)!=0)fun(i);

putchar(n%10+,0,);}main()(fun(256);}程序運(yùn)行后的輸出結(jié)果是()。

A、256

B、652

C、2560

D、52

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:函數(shù)fun()的功能利用遞歸調(diào)用的方式是將數(shù)字n的不同位提取出來

并按照從高位到低位的順序?qū)⒏魑坏臄?shù)字以字符的形式輸出,所以答案選A。

家二級(jí)C語(yǔ)言機(jī)試(函數(shù))模擬試卷

第2套

一、選擇題(本題共33題,每題1.0分,共33分。)

1、以下敘述中正確的是()。

A、調(diào)用函數(shù)時(shí),函數(shù)名必須與被調(diào)用的函數(shù)名完全一致

B、函數(shù)調(diào)用時(shí),不必區(qū)分函數(shù)名稱的大小寫

C、函數(shù)名允許用數(shù)字開頭

D、在函數(shù)體中只能出現(xiàn)一次return語(yǔ)句

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:調(diào)用函數(shù)的時(shí)候只有保證調(diào)用語(yǔ)句的函數(shù)名和被調(diào)函數(shù)的函數(shù)名、參

數(shù)列表一致才能保證調(diào)用的正確性,A)正確。C語(yǔ)言對(duì)大小寫敏感,選項(xiàng)B)

錯(cuò)行用戶自定義的函數(shù)名需要遵循用戶標(biāo)識(shí)符的命名規(guī)則,由字母、數(shù)字、下劃線

組成并且第一個(gè)字符不能為數(shù)字,選項(xiàng)C)錯(cuò)。一個(gè)函數(shù)每次只能使用一個(gè)return

語(yǔ)句,但是該函數(shù)體中可以有多個(gè)返回點(diǎn),也就是有多條relurn語(yǔ)句,每次只從其

中一點(diǎn)返回,選項(xiàng)D)錯(cuò)。答案選A)。

2、設(shè)有某函數(shù)的說明為int*func(inta[IO],intn);則下列敘述中,正確的是()。

A、說明中的a[10]寫成明或*a效果完全一樣

B、形參a對(duì)應(yīng)的實(shí)參只能是數(shù)組名

C、func的函數(shù)體中不能對(duì)a進(jìn)行移動(dòng)指針(如a+-)的操作

D、只有指向10個(gè)整數(shù)內(nèi)存單元的指針,才能作為實(shí)參傳給a

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:考查數(shù)組名作為函數(shù)參數(shù)。數(shù)組名作為函數(shù)參數(shù)時(shí),只傳遞數(shù)組的首

地址而不檢查形參數(shù)組的長(zhǎng)度,所以形參表中可以不給出形參數(shù)組的長(zhǎng)度,形參數(shù)

組和實(shí)參數(shù)組長(zhǎng)度也可以不同,選項(xiàng)D)錯(cuò):a[10|.a[]、做形參都是接受實(shí)參

數(shù)組首地址,效果一樣,A)正確。傳遞給形參的實(shí)參可以是數(shù)組名,還可以是指

向該數(shù)組的指針變量,選項(xiàng)B)錯(cuò)飛數(shù)組名可以看做一個(gè)指針常量,對(duì)其進(jìn)行自加

自減運(yùn)算相當(dāng)于指針變量的自加自減,選項(xiàng)C)錯(cuò),答案選A)。

3、有以下程序#includevoidfun(intx,inty,int*c,int*d){*c=x+y;*d=x-y;}

main())inta=4,b=3,c=0,d=0;fun(a,b,&c,&d);printf("%d%d\n",c,d);}程序的

輸出結(jié)果是()。

A、71

B、43

C、34

D、00

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:考查函數(shù)調(diào)用的參數(shù)傳遞。值傳遞過程中,形參只是實(shí)參的一個(gè)副

本,形參改變不能影響到實(shí)參,所以值傳遞是單向傳遞,只能由實(shí)參傳給形參。地

址傳遞過程中,形參和實(shí)參指向同一個(gè)地址空間,兩者的改變保持同步,所以在本

程序調(diào)用結(jié)束之后,c、d值發(fā)生了改變,c=7,d=l,輸出結(jié)果為A)。

4^有以下程序#includcvoidfun(int*p,int*q){intt;t=*p;*p=*q;*q=t;*q=

*p;)main(){inta=0,b=9;fun(&a,&b);printf("%d%d\nH,a,b);)轉(zhuǎn)序的輸出結(jié)果

是()U

A、99

B、00

C、90

D、09

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:考查函數(shù)調(diào)用的參數(shù)傳遞。該程序調(diào)用函數(shù)進(jìn)行的是地址傳參,地址

傳遞過程中,形參和實(shí)參指向同一個(gè)地址空間,兩者的改變保持同步。函數(shù)fun()

的功能是將p和q指向的變量交換,之后將*p賦值給*q。main()函數(shù)實(shí)參傳給*p為

0.*4為9c交換后*p為9.為().*「賦值給*q.則*p、*q均為9,輸出結(jié)果為

A)o

5、有以下程序#includecharfun(char*c){if(*c<=,Z,&&*c>='A')*c-='A'-'a';

return*c;}main(){chars[81],*p=s;gets(s);while(*p){*p=fun(p);putchar(*p);

p++;}printf("\n");}若運(yùn)行時(shí)從鍵盤上輸入OPENTHEDOOR<回車,,程序的輸

出結(jié)果是()。

A^openthedoor

B、oPENtHEdOOR

C、OPENTHEDOOR

D^OpenTheDoor

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:考查地址芍參。函數(shù)fun()的作用是將字符c由大寫轉(zhuǎn)為小寫,地址

傳參中,形參的改變和實(shí)參的改變保持同步,所以本程序?qū)⑤斎氲淖址D(zhuǎn)為對(duì)應(yīng)的

小寫形式:openthedoor,答案選A。

6、有以下程序#includeintf(intx);main(){inta,b=0;for(a=0;a<3;a+=l){b+=

f(a);putchar('A'+b);}}intf(intx){returnx*x+l;}程序運(yùn)行后輸出結(jié)果是()?

A、BDI

B、BCD

C、ABE

D、BCF

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:考查函數(shù)的返回值。三次a的值分別為0、1、2,對(duì)應(yīng)的函數(shù)返回值

為1、2、5,b累加后為1、3、8字符參與運(yùn)算時(shí)等同于讓其對(duì)應(yīng)的ASCII碼參與

計(jì)算,然后對(duì)應(yīng)輸出字符或其ASCII碼值,?A?+b后分別為?B?、?D?.?1?,答案

選Ao

7、有以下程序#include#defineN3voidfun(inta[][N],intb[]){inti,j;for(i=0;i

A、3,6,9,

B、1,3,5,

C、2,4,8,

D、3,5,7

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:考查數(shù)組名作為函數(shù)參數(shù)。數(shù)組名作為函數(shù)參數(shù)屬于地址傳參,形參

和實(shí)參為同一數(shù)組,變叱同步。函數(shù)fun()中,用兩層循環(huán)尋找a中每一行數(shù)據(jù)的

最大值,并將其賦值給b,函數(shù)調(diào)用結(jié)束后,數(shù)組y[N]中存儲(chǔ)的就是x[N]中每一

行的最大值,分別是:3、6、9,答案選A。

8、有以下程序#includeintk=5;voidf(int*s){*s=k;}main(){intm=3,*p=&m;f(p);

printf(?%d,%d”,m,*p);)程序的運(yùn)行結(jié)果是()。

A、5,5

B、3,3

C、3,5

D、5,3

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:考查地址,專參。地址傳參過程中形參和實(shí)參指向同一個(gè)地址空間,兩

者的改變保持同步。被調(diào)函數(shù)f()將k值賦給了指針s指向的變量,所以函數(shù)調(diào)用

結(jié)束之后,m和*p均為5,答案選A。

9、有以下程序include#defineN4voidfun(inta[][N]){intb[N][N],i,j;for(i=0;i

A、13,10,7,4,

B、1,6,11,16,

C、4,7,10,13,

D、1,5,9,13,

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:考查二維數(shù)組名作為函數(shù)參數(shù),被調(diào)函數(shù)的功能是把數(shù)組a逆序的列

與行互換,函數(shù)調(diào)用結(jié)束后,x[N][N]為x[N][N]={{13,9,5,1},{14,10,6,2},

{1511,7,3},{16,12,8,4}},輸出對(duì)角線的數(shù)據(jù)為:13,10,7,4,答案選A。

10、有以卜程序#includevoidfun(inta[],inin){inti,j=O,k=n-l,b[10];for(i=0;i

A、10,8,6,42135,7,9,

B、10,9,8,7,6,5,4,3,2,1,

C、123,4,5,6,7,8,9,10,

D、1,3,5,7,9,10,8,6,4,2,

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:考查數(shù)組名作為函數(shù)參數(shù)。數(shù)組名作為函數(shù)參數(shù)屬于地址傳參,形參

和實(shí)參為同一數(shù)組,變叱同步。被調(diào)函數(shù)fun()的功能是將數(shù)組a下標(biāo)為偶數(shù)的存

放在數(shù)組b的前半部分,數(shù)組a下標(biāo)為奇數(shù)的逆序存放在數(shù)組b的后半部分,然后

把數(shù)組b賦給a。所以輸出結(jié)果為A)。

11、以下關(guān)于C語(yǔ)言函數(shù)參數(shù)傳遞方式的敘述正確的是()。

A、數(shù)據(jù)只能從實(shí)參單向傳遞給形參

B、數(shù)據(jù)可以在實(shí)參和形參之間雙向傳遞

C、數(shù)據(jù)只能從形參單向傳遞給實(shí)參

D、C語(yǔ)言的函數(shù)參數(shù)既可以從實(shí)參單向傳遞給形參,也可以在實(shí)參和形參之間雙

向傳遞,可視情況選擇及用

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:C語(yǔ)言中,數(shù)據(jù)只能從實(shí)參單向傳遞給形參,形參作為實(shí)參的一個(gè)副

本被實(shí)參賦值。所以值芍參過程中形參不會(huì)對(duì)實(shí)參造成影響;地址傳參過程中是形

參仍然作為實(shí)參的副本被賦值,但是指針變量的值為其指向變量的地址,形參實(shí)參

指向同一段內(nèi)存地址,所以對(duì)其指定的數(shù)據(jù)的修改能保持同步,形參指針變量的指

向改變也是不能影響實(shí)參指針變量的指向的。答案選Ao

12>有以下程序#includcintk=5;voidf(int*s){s=&k;)main(){intm=3,*p=&m;

f(p);printf("%d,%d\n",m,*p);}程序的運(yùn)行結(jié)果是()<?

A、3,3

B、5,5

C、3,5

D、5,3

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:考查函數(shù),'專參。C語(yǔ)言中,數(shù)據(jù)只能從實(shí)參單向傳遞給形參,指針作

為函數(shù)參數(shù)時(shí),形參仍然作為實(shí)參的副本被賦值,形參指針變量的指向改變不能影

響實(shí)參指針變量的指向。結(jié)果不變,答案選A。

13、下列敘述中正確的是()。

A、在C程序的函數(shù)中不能定義另一個(gè)函數(shù)

B、在C程序中main函數(shù)的位置是固定的

c、c程序中所有函數(shù)之間都可以相互調(diào)用

D、每個(gè)C程序文件中都必須要有一個(gè)main函數(shù)

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:在C程序中,main函數(shù)的位置可以任意,而且不管main函數(shù)位置怎

么變化,程序都會(huì)以main函數(shù)作為入口,選項(xiàng)B)錯(cuò)誤;每個(gè)C程序(而不是每

個(gè)C程序文件)必須有且只能有一個(gè)main函數(shù),選項(xiàng)D)錯(cuò)誤;main函數(shù)不能被

調(diào)用,選項(xiàng)C)錯(cuò)誤;函數(shù)的定義不能放在另一個(gè)函數(shù)體內(nèi),但是聲明可以,所以

答案選A)。

14、以下敘述正確的是()。

A、C語(yǔ)言函數(shù)可以嵌套調(diào)用,例如:fun(fun(x))

B、C語(yǔ)言程序是由過程和函數(shù)組成的

C、C語(yǔ)言函數(shù)不可以單獨(dú)編譯

D、C語(yǔ)言中除了main函數(shù),其他函數(shù)不可作為單獨(dú)文件形式存在

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:一個(gè)C語(yǔ)言程序由一個(gè)或多個(gè)函數(shù)組成,選項(xiàng)B)錯(cuò)誤;一個(gè)C程

序可以有一個(gè)或多個(gè)程序文件,每個(gè)程序文件可以有一個(gè)或多個(gè)函數(shù),并且每個(gè)程

序文件可以單獨(dú)編譯,所以選項(xiàng)C)、D)錯(cuò)誤;函數(shù)之間可以相互調(diào)用,函數(shù)體

內(nèi)調(diào)用自身的函數(shù)為遞歸函數(shù),答案選A)。

15、有以下程序#includeintml(intx,inty){returnx<=y?x:y;)intm2(intx,inty)

{returnx<=y?y:x;}intfun(inta,intb){returna+b;)main(){intx=2,y=3,z=l;

printf("%d\n”,fun(ml(x,y),m2(y,z)));}雇序的運(yùn)行結(jié)果是()。

A、5

B、6

C、4

D、3

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:函數(shù)ml()返回兩個(gè)參數(shù)中較小的數(shù)值,函數(shù)m2。返回兩個(gè)參數(shù)中較

大的數(shù)值,函數(shù)fun()返回兩個(gè)參數(shù)之和,所以

fun(m1(x,y),m2(y,z))=fun(m1(2,3),m2(3,1))=fun(2,3)=5,答案選A。

16、有以下程序#includcintf(intx);main(){intn=l,m;m=f(f(f(n)));

printf("%d\n",m);}intf(intx){returnx*2;}程序運(yùn)行后的輸出結(jié)果是()。

A、8

B、2

C、4

D、1

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:考查函數(shù)的遞歸調(diào)用。m=f(f(f(n)))=f(f(2))=f(4)=8,答案選A。

17、有以下程序#includevoidfun(inta[],intn){inti,t;for(i=0;i

A、321678

B、876543

C、1098765

D、345678

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:函數(shù)fun()的功能是把數(shù)組a中的前n個(gè)元素逆序排列,所以調(diào)用函

數(shù)fun(k,5)結(jié)束后,數(shù)組k中的數(shù)據(jù)為{5,4,3,2,1,6,7.8,9,10},輸出數(shù)組第3個(gè)到第8

個(gè)元素之間的數(shù)據(jù)為選項(xiàng)A)。

18、有以下程序#include[defineN4voidtun(intmtb[]){inti;tor(i=0;i

A、-3,-1,1,3,

B、-12,-3,0,0,

C、0,1,2,3,

D、-3,-3,-3,-3,

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:函數(shù)點(diǎn)n()的功能是計(jì)算b[i]:b[0]=a[0][0]-a[0][3]=-3,b[l]=a[l][l]-

a[l][2]=-l,b[2]=a[2][2]-a[2][l]=l,b[3]=a[3][3]-a[3][0]=3,所以計(jì)算得到的y值為

選項(xiàng)A)。

19、有以下程序#includeintfun(intx,inty){if(x!=y)return((x+y)/2);elsereturn

(x);}main(){inta=4,b=5,c=6;printf(u%d\nn,fun(2*a,fun(b,c)));}程序運(yùn)行后

的輸出結(jié)果是()。

A、6

B、3

C、8

D、12

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:考查函數(shù)的調(diào)用c輸出結(jié)果為fun(2*a,fun(h,c))=fun(8,5)=6.答案選

Ao

20、有以下程序#inckideintf(intx,inty){return((y-x)*x);)main(){int

a=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf("%d\n”,d);}程序運(yùn)行后的輸出結(jié)果是()

A、9

B、10

C、8

D、7

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:考查函數(shù)的返回值。d=f(f(a,b),f(a,c))=f((b-a)*a,(c-a)*a)=f(3,6)=(6-

3)*3=9,所以答案選A。

21、有以卜程序#includevoidfun(inta,intb){init;t=a;a=b;b=t;}main(){int

c[10]={1,2,3,4,5,6,7,8,9,0),i;for(i=0;i<10;i+=2)fun(c|i],c[i+l]);for(i=0;i<10;i++)

primf("%d,”,c[i]);printf("\iT);}程序的運(yùn)行結(jié)果是()。

A、1,2,345,6,7,8,9。

B、2,143,6,5,870,9,

C、09876,5,4,3,21,

D、0,1,2,3,4,5,6,7,89

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:函數(shù)fun()屬于值傳參,形參的變化不會(huì)影響實(shí)參,所以函數(shù)調(diào)用結(jié)

束后,數(shù)組c沒有任何變化,輸出結(jié)果為選項(xiàng)A)0

22、有以下程序#includedoublef(doublex);main(){doublea=0;inti;for(i=0;i<30;

i+=10)a+=f((double)i);printf("%3.0f\n",a);}doublef(doublex){returnx*x+l;}

程序運(yùn)行后的輸出結(jié)果是()。

A、503

B、401

C>500

D、1404

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:考查函數(shù)的返回值。main。函數(shù)中for循環(huán)執(zhí)行三次,

a=a+f(0)+f(10)+f(20)=503,輸出時(shí)控制輸出寬度為3,小數(shù)點(diǎn)后保留位數(shù)為0位,

所以答案選A。

23、若有以下函數(shù)首部intfun(doublex[10],int*n)則下面針對(duì)此函數(shù)的函數(shù)聲明語(yǔ)

句中正確的是()。

A^intfun(double*,int*);

B、intfun(double,int);

C、intfun(double*x,intn);

D^intfun(doublex,int*n);

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:考查數(shù)組名作為函數(shù)參數(shù)。數(shù)組名可以看做一個(gè)指針常量,作為函數(shù)

參數(shù)屬于地址傳參,和指針傳參的形式是一樣的。在聲明函數(shù)時(shí),形參名稱可以省

略但是形參的類型不可以省略,所以答案選A。

24、有以下程序#include#defineN4voidfun(inta[][N],intb[]){inti;for(i=0;i

A、1,0,7,0,

B、1,2,34

C、145,9,

D、3,4,8,10,

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:二維數(shù)組賦初值的時(shí)候沒有賦值的元素默認(rèn)為0。函數(shù)「un()將數(shù)組a

中的主對(duì)角線上的元素賦值給數(shù)組b,所以輸出結(jié)果為1,070,答案選A。

25、以下關(guān)于return語(yǔ)句的敘述中正確的是()。

A、一個(gè)自定義函數(shù)中可以根據(jù)不同情況設(shè)置多條return語(yǔ)句

B、一個(gè)自定義函數(shù)中必須有一條return語(yǔ)句

C、定義成void類型的函數(shù)中可以有帶返回值的return語(yǔ)句

D、沒有return語(yǔ)句的自定義函數(shù)在執(zhí)行結(jié)束時(shí)不能返回到調(diào)用處

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:自定義的函數(shù)可以有返回值也可以沒有返回值,有返回值的函數(shù)可以

帶有多條return語(yǔ)句,但是每次只選擇其中一條退出。沒有返回值的函數(shù)的類型用

void標(biāo)示,此時(shí)函數(shù)體內(nèi)可以沒有return語(yǔ)句。不管函數(shù)有無返回值,函數(shù)調(diào)用時(shí)

都會(huì)先保存該函數(shù)的當(dāng)前被調(diào)位置,函數(shù)調(diào)用結(jié)束后再返回到被調(diào)位置繼續(xù)向下執(zhí)

行,所以答案選A。

26、已定義以下函數(shù)intfun(int*p){return*p;}fun函數(shù)返回值是()。

A、一個(gè)整數(shù)

B、不確定的值

C、形參p中存放的值

D、形參p的地址值

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:該函數(shù)的類型說明符為ini,所以返回的是一個(gè)整型數(shù)據(jù),答案選

Ao

27、以下敘述中錯(cuò)誤的是()。

A、用戶定義的函數(shù)中可以有多個(gè)return語(yǔ)句,以便可以調(diào)用一次返回多個(gè)函數(shù)值

B、用戶定義的函數(shù)中可以沒有return語(yǔ)句

C、用戶定義的函數(shù)中若沒有return語(yǔ)句,則應(yīng)當(dāng)定義函數(shù)為void類型

D、函數(shù)的return語(yǔ)句中可以沒有表達(dá)式

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:自定義的函數(shù)可以有返回值也可以沒有返I川值,有返回值的函數(shù)可以

帶有多條return語(yǔ)句,但是每次只選擇其中一條退出,即每次只返回一個(gè)函數(shù)值,

選項(xiàng)A)錯(cuò)誤。沒有返回值的函數(shù)的類型用void標(biāo)示,此時(shí)函數(shù)體內(nèi)不需要有

return語(yǔ)句,或者可以用沒有表達(dá)式的return語(yǔ)句"return;”返回,選項(xiàng)B)、C)、

D)描述正確,答案選A)。

28、若函數(shù)調(diào)用時(shí)的實(shí)參為變量時(shí),以下關(guān)于函數(shù)形參和實(shí)參的敘述中正確的是

()O

A、函數(shù)的形參和實(shí)參分別占用不同的存儲(chǔ)單元

B、形參只是形式上的存在,不占用具體存儲(chǔ)單元

C、同名的實(shí)參和形參占同一存儲(chǔ)單元

D、函數(shù)的實(shí)參和其對(duì)應(yīng)的形參共占同一存儲(chǔ)單元

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:函數(shù)傳參過程中,其實(shí)是把實(shí)參的數(shù)據(jù)復(fù)制一份傳給形參,實(shí)參和形

參都是局部變量,在程序運(yùn)行到相應(yīng)的定義語(yǔ)句的時(shí)候才分配存儲(chǔ)空間,所以兩者

占用不同的存儲(chǔ)單元,所以答案選A。

29、以下敘述中錯(cuò)誤的是()。

A、函數(shù)形參的值也可以傳回給對(duì)應(yīng)的實(shí)參

B、函數(shù)調(diào)用可以作為一個(gè)獨(dú)立的語(yǔ)句存在

C、若函數(shù)有返回值,必須通過relum語(yǔ)句返回

D、C程序必須由一個(gè)或一個(gè)以上的函數(shù)組成

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:參數(shù)傳遞過程中,形參只是實(shí)參的一個(gè)副本,形參改變不能影響到實(shí)

參,所以形參的值不能造回給對(duì)應(yīng)的實(shí)參,選項(xiàng)A)錯(cuò)誤。其他幾個(gè)選項(xiàng)的表述正

確,答案選A)。

30、以下程序中函數(shù)f的功能是:當(dāng)flag為1時(shí),進(jìn)行由小到大排序;當(dāng)flag為0

時(shí),進(jìn)行由大到小排序。#inckidevoidf(intb[],intn,intflag){inti,j,t;for(i=0;

ibUl:b[i]

A、3,4,5,6,7,2,1,8,9,10,

R、1,2,3,4,5,6,7,8,9,10,

C、5,4,3,2,1,6,7,8,9,10,

D、10,9,8,7,6,5,4,3,21,

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:根據(jù)題意說明,被調(diào)函數(shù)”f(&a[2],5,0);“將數(shù)組a的第3個(gè)元素到第

7個(gè)元素進(jìn)行從大到小排序,執(zhí)行完畢后。10]={5,4,7,6,3,2,1,8,9,10};被調(diào)函數(shù)

將數(shù)組a的第1個(gè)元素到第5個(gè)元素進(jìn)行從小到大排序,執(zhí)行完畢之后

a[10]={3,4,5,6,721,8,9,10),所以輸出結(jié)果為選項(xiàng)A)。

31、有以卜程序#includeintfun1(doublea){return(int)(a*=a);)intfun2(doublex,

doubley){doublea=0,b=0;a=funl(x);b=funl(y);return(int)(a+b);}main(){double

w;w=fun2(l.l,2.0);printf("%4.2f\w);)程序執(zhí)行后輸出結(jié)果是()。

A、5.00

B、5

C、5.21

D、0.0

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:考查函數(shù)的嵌套調(diào)用。

w=fun2(1.1,2.0)=(int)(a+b)=(int)(funl(l.l)+fun1(2.0))=(int)(1.1*1.1+2.0*2.0)=5,所以

答案選A。

32、有以下程序#includevoidf(intb[]){inti;for(i=2;i<6:i++)b[i]*=2;)maim;)

{inta[10]={1,2,3,4,5,6,7,8,9,10),i;f(a);for(i=0;i<I0;i++)printf("%dj,a[i]);}程序

運(yùn)行后的輸出結(jié)果是()。

A、1,2,6,8,10,12,7,8,9,10,

B、1,2,3,4,5,6,7,8,9/0,

C、1,2,3,4,10,12,14,16,9,10,

D、1,2,6,8,10,12,14J6,9,10,

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:函數(shù)f()的功能是把數(shù)組b中第3個(gè)到第6個(gè)元素的值均乘以2,所以

答案選A。

33有以下程序#inckideintfun(chars[]){intn=0;while(*s<=>=,0,)

{n=10+n++s-,0,;s十十;}return(n);}main(){char

s[10]={'6',T,4,",'9','O',printf("%d\n”,fun(s));}程序的運(yùn)行結(jié)果

是()。

A、61

B、61490

C、9

D、5

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:函數(shù)fun()的功能是輸出字符數(shù)組s中第一個(gè)非數(shù)字字符前的數(shù)字,

所以答案選A。

國(guó)家二級(jí)C語(yǔ)言機(jī)試(函數(shù))模擬試卷

第3套

一、選擇題(本題共34題,每題1.0分,共34分。)

1、若各選項(xiàng)中所用變量已正確定義,函數(shù)fun中通過return語(yǔ)句返回一個(gè)函數(shù)

值,以下選項(xiàng)中錯(cuò)誤的程序是()。

A、main(){.......x=fiin(2,10);.........}floatfiin(inta,intb){.......}

floatf

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論