




版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025急性心梗診療指南精要
- 2025年大學(xué)試題(醫(yī)學(xué))-組織胚胎學(xué)歷年參考題庫(kù)含答案解析(5套典型考題)
- 2025年大學(xué)試題(醫(yī)學(xué))-人體生理學(xué)歷年參考題庫(kù)含答案解析(5套典型考題)
- 2025年大學(xué)試題(倫理學(xué))-公共倫理學(xué)歷年參考題庫(kù)含答案解析(5套典型考題)
- 2025年衛(wèi)生資格(中初級(jí))-中醫(yī)全科主治醫(yī)師歷年參考題庫(kù)含答案解析(5套典型題)
- 2025年醫(yī)藥衛(wèi)生考試-新版《藥品經(jīng)營(yíng)質(zhì)量管理規(guī)范》歷年參考題庫(kù)含答案解析(5套典型題)
- 2025年會(huì)計(jì)職稱考試-法務(wù)會(huì)計(jì)師認(rèn)證考試歷年參考題庫(kù)含答案解析(5套典型考題)
- 2025年企業(yè)文化企業(yè)建設(shè)知識(shí)競(jìng)賽-中國(guó)交建投資項(xiàng)目知識(shí)競(jìng)賽歷年參考題庫(kù)含答案解析(5套典型考題)
- 2024-2025學(xué)年人教版高二地理下學(xué)期期末必刷??碱}之資源安全與國(guó)家安全
- 企業(yè)保密協(xié)議書
- 2025年全國(guó)中小學(xué)校黨組織書記網(wǎng)絡(luò)培訓(xùn)示范班在線考試題庫(kù)及答案
- 公共預(yù)算與財(cái)政PPT培訓(xùn)課件講義教材
- 廠房改造工程施工組織設(shè)計(jì)
- GB/T 29894-2013木材鑒別方法通則
- 《阿里巴巴“合伙人制度”的是與非》
- 卒中中心綠色通道的建設(shè)
- 武漢城市介紹動(dòng)態(tài)模板課件
- 小學(xué)數(shù)學(xué)三年級(jí)下軸對(duì)稱、平移和旋轉(zhuǎn)強(qiáng)化練習(xí)
- 小升初語(yǔ)文文言文閱讀真題50題(含答案)
- 燃?xì)庑袠I(yè)培訓(xùn)題庫(kù)燃?xì)馊紵骶甙惭b、維修員(題庫(kù))附答案
- 垂體瘤精品課件
評(píng)論
0/150
提交評(píng)論