C语言函数章节选择题新.docx
《C语言函数章节选择题新.docx》由会员分享,可在线阅读,更多相关《C语言函数章节选择题新.docx(16页珍藏版)》请在冰点文库上搜索。
C语言函数章节选择题新
1.在C语言中,全局变量的存储类别是:
A)staticB)extern
C)voidD)register
A
2.C语言中,凡未指定存储类别的局部变量的隐含存储类别是:
A)自动(auto)B)静态(static)
C)外部(extern)D)寄存器(register)
3.在一个C源程序文件中,要定义一个只允许本源文件中所有函数使用
的全局变量,则该变量需要使用的存储类别是:
________。
A)externB)register
C)autoD)static
D
4.若有以下调用语句,则正确的fun函数首部是
main()
{∶
∶
inta;floatx;
fun(x,a);
}
A)voidfun(intm,floatx)B)voidfun(floata,intx)
C)voidfun(intm,floatx[])D)voidfun(intx,floata)
B
5.有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5));
该函数调用语句中,含有的实参个数是
A)3B)4
C)5D)有语法错误
6.以下程序的运行结果是。
#include
{intk=4,m=1,p;
p=func(k,m);printf("%d,",p);
p=func(k,m);printf("%d\n",p);}
func(inta,intb)
{staticintm=0,i=2;
i+=m+1;
m=i+a+b;
returnm;}
A)8,17,B)8,17
C)8,8D)4,1
7.函数fun的功能是:
根据以下公式计算并返回S,n通过形参传入,n的值
大于等于0。
划线处应填________。
1111
S=1-─+─-─+…───
3572n-1
floatfun(intn)
{floats=0.0,w,t,f=-1.0;
inti;
for(i=0;i{f=-f;w=f/(2*i+1);s+=w;}____________;}A)return(f)B)return(S)C)return(s)D)return(w)C8.有如下程序intfunc(inta,intb){return(a+b);}main(){intx=2,y=5,z=8,r;r=func(func(x,y),z);printf("%d\n",r);}该程序的输出结果是__________。A)12B)13C)14D)15D9.以下函数返回a数组中最小值所在的下标,在划线处应填入的是________。fun(inta[],intn){inti,j=0,p;p=j;for(i=j;iif(a[i]return(p);}A)i=pB)a[p]=a[i]C)p=jD)p=iD10.设在主函数中有以下定义和函数调用语句,且fun函数为void类型;正确的fun函数的首部应为________(要求形参名为b)。main(){doubles[10][22];intn;∶∶fun(s);∶∶}A)voidfun(doubleb[22])B)voidfun(doubleb[][22])C)voidfun(doubleb[][])D)voidfun(doubleb[22][])B11.以下程序的输出结果是________。voidfun(){staticinta=0;a+=2;printf("%d",a);}main(){intcc;for(cc=1;cc<4;cc++)fun();printf("\n");}A)2222B)2468C)222D)246CD12.以下程序的输出结果是#includemain(){chara[]="abcdefghi";intk;fun(a);puts(a);}fun(chars[]){intx,y;charc;for(x=0,y=(strlen(s)-1)/2;x{c=s[y];s[y]=s[x];s[x]=c;}}A)ihgfedcbaB)abcdefghiC)edcbafghiD)ihgfefghiC13.以下程序的输出结果是________。intd=1;fun(intp){staticintd=5;d+=p;printf("%d",d);return(d);}main(){inta=3;printf("%d\n",fun(fun(d)));}A)61111B)669C)61212D)6615C14.下列程序的输出结果是________。intt(intx,inty,intcp,intdp){cp=x*x+y*y;dp=x*x-y*y;}main(){inta=4,b=3,c=5,d=6;t(a,b,c,d);printf("%d%d\n",c,d);}A)169B)43C)56D)259C15.下列叙述中正确的是________。A)C语言编译时不检查语法B)C语言的子程序有过程和函数两种C)C语言的函数可以嵌套定义D)C语言所有的函数都是外部函数D16.以下所列的各函数首部中,正确的是________。A)voidplay(vara:Integer,varb:Integer)B)voidplay(inta,b)C)voidplay(inta,intb)D)voidplay(aasinteger,basinteger)C17.以下程序的输出结果是fun(intx,inty,intz){z=x*x+y*y;}main(){inta=31;fun(5,2,a);printf("%d",a);}A)0B)29C)31D)无定值C18.以下程序输出的结果是________。longfun(intn){longs;if(n==1||n==2)s=2;elses=n-fun(n-1);returns;}main(){printf("%ld\n",fun(3));}A)1B)2C)3D)4A19.请读程序:#includecharfun(charc){if(c<='Z'&&c>='A')c-='A'-'a';return(c);}main(){chars[81];intk=0;gets(s);while(s[k]){s[k]=fun(s[k]);putchar(s[k]);k++;}putchar('\n');}若运行时从键盘上输入OPENTHEDOOR(表示回车),则上面程序的输出结果是________。A)oPENtHEdOORB)openthedoorC)OPENTHEDOORD)OpenTheDoorB20.请读程序:#includef(intb[],intn){inti,r;r=1;for(i=0;i<=n;i++)r=r*b[i];returnr;}main(){intx,a[]={2,3,4,5,6,7,8,9};x=f(a,4);printf("%d\n",x);}上面程序的输出结果是________。A)720B)120C)24D)6A21.有以下程序#incldemain(){intk=4,m=1,p;p=func(k,m);printf("%d,",p);p=func(k,m);printf("%d\n",p);}func(inta,intb){staticintm=0,i=2;i=m+1;m=i+a+b;return(m);}输出结果是________。A)6,6B)6,12C)6,8D)8,8B22.以下程序的输出结果是________。#include"ctype.h"space(charstr[]){inti,t;charts[81];for(i=0,t=0;str[i]!='\0';i+=2)if(!isspace(str[i])&&str[i]!='a')ts[t++]=toupper(str[i]);ts[t]='\0';strcpy(str,ts);}main(){chars[81]={"abcdefg"};space(s);puts(s);}A)abcdegB)bcdeC)ABCDED)BCDED23.下面函数的功能是________。sss(s,t)chars[],t[];{inti=0;while(t[i]){s[i]=t[i];i++;}s[i]='\0';}A)求字符串的长度B)比较两个字符串的大小C)将字符串s复制到字符串t中D)将字符串t复制到字符串s中D24.下面函数的功能是________。sss(s)chars[];{inti=0;while(s[i])i++;returni;}A)求字符串的长度B)比较两个字符串的大小C)将字符串s逆序存放D)功能无法确定A25.设有如下的函数ggg(x)floatx;{printf("\n%d",x*x);}则函数的类型________。A)与参数x的类型相同B)是voidC)是intD)无法确定C26.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是________。A)地址传递B)单向值传递C)由实参传给形参,再由形参传回实参D)传递方式由用户指定B27.在调用函数时,如果实参是数组名,它与对应形参之间的数据传递方式是________。A)地址传递B)单向值传递C)由实参传给形参,再由形参传回实参D)传递方式由用户指定A28.以下函数fun形参的类型是________。fun(floatx){floaty;y=3*x-4;returny;}A)intB)不确定C)voidD)floatD29.C语言中规定函数的返回值的类型是由________。A)return语句中的表达式类型所决定B)调用该函数时的主调用函数类型所决定C)调用该函数时系统临时决定D)在定义该函数时所指定的类型所决定D30.以下程序的输出结果是________。func(intx){intp;if(x==0||x==1)return(3);p=x-func(x-2);returnp;}main(){printf("%d\n",func(9));}A)7B)2C)0D)3A30.阅读下面的程序:main(){intswap();inta,b;a=3;b=10;swap(a,b);printf("a=%d,b=%d\n",a,b);}swap(inta,intb){inttemp;temp=a;a=b;b=temp;}下面的说法中,正确的是________。A)在main()函数中调用swap()后,能使变量a和b的值交换B)在main()函数中输出的结果是:a=3,b=10C)程序第2行的语句intswap();是对swap()函数进行调用D)swap()函数的类型是voidB31.下面函数的功能是________。sss(s,t)chars[],t[];{inti=0;while((s[i])&&(t[i])&&(t[i]==s[i]))i++;return(s[i]-t[i]);}A)求字符串的长度B)比较两个字符串的大小C)将字符串s复制到字符串t中D)将字符串s接续到字符串t中B32.C语言中,若未说明函数的类型,则系统默认该函数的类型是________。A)float型B)long型C)int型D)double型C33.以下程序是将输入的一个整数反序打印出来,例如,输入1234,则输出4321;输入-1234,则输出-4321,程序中划线处应分别填入________。voidprintopp(longintn){inti=0;if(n==0)return;elsewhile(n){if(n>0||i==0)printf("%ld",n%10);elseprintf("%ld",________);i=1;________;}}main(){longintn;scanf("%ld",&n);printopp(n);printf("\n");}A)n%10和n=n/10B)-n%10和n=n/10C)-n/10和n=n%10D)n%10和n/=10B34.以下程序的功能是:求正整数n的各位之积,在划线处应填入________。#include#includelongfunc(longm){longk=1;do{k*=m%10;m/=10;}while(________);return(k);}main(){longn;scanf("%ld",&n);printf("%ld\n",func(n));}A)mB)m%10==0C)m==0D)m>=0A35.以下程序的功能是求任意两个整数a和b的最大公约数,并予以显示,程序的两划线处应分别填入________。#include#includelongcod(longn1,longn2){longt;while(n2){________;n1=n2;n2=t;}return________;}main(){longa,b,x;printf("Pleaseinputtwonumbers:");scanf("%ld%ld",&a,&b);x=cod(a,b);printf("%ld,%ld,%ld\n",a,b,x);}A)t=n1和n1B)t=n2和n2C)t=n1%n2和n1D)t=n1%n2和n2C36.以下程序的功能是计算并显示一个指定行数的杨辉三角形(形式如下),应填入程序空缺处的正确选项是________。#defineN15voidyanghui(intb[][N],intn){inti,j;for(i=0;________;i++){b[i][0]=1;b[i][i]=1;}for(________;++i<=n;)for(j=1;jfor(i=0;i{for(j=0;j<=i;j++)printf("%4d",b[i][j]);printf("\n");}}main(){inta[N][N]={0},n;printf("Pleaseinputsizeofyanghuitriangle(<=15):");scanf("%d",&n);printf("\n");yanghui(a,n);}A)iC)iB37.下面的程序用来将一个十进制正整数转化成八进制数,例如输入一个正整数25,则输出31,应填入划线处的选项是________。#includemain(){inti=0,j=0,a,b[10]={0};printf("Enteraninteger:");scanf("%d",&a);sub(a,b);for(;i<10;i++){if(________)j=1;if(j!=0)printf("%d",b[i]);}}sub(intc,intd[]){inte,i=9;while(c!=0){e=c%8;d[i]=e;_________;i--;}return;}A)b[i]==0和c/=8B)b[i]==0和c=e/8C)b[i]!=0和c/=8D)b[i]!=0和c=e/8C
{f=-f;
w=f/(2*i+1);
s+=w;}
____________;}
A)return(f)B)return(S)
C)return(s)D)return(w)
C
8.有如下程序
intfunc(inta,intb)
{return(a+b);}
{intx=2,y=5,z=8,r;
r=func(func(x,y),z);
printf("%d\n",r);}
该程序的输出结果是__________。
A)12B)13
C)14D)15
9.以下函数返回a数组中最小值所在的下标,在划线处应
填入的是________。
fun(inta[],intn)
{inti,j=0,p;
p=j;
for(i=j;iif(a[i]return(p);}A)i=pB)a[p]=a[i]C)p=jD)p=iD10.设在主函数中有以下定义和函数调用语句,且fun函数为void类型;正确的fun函数的首部应为________(要求形参名为b)。main(){doubles[10][22];intn;∶∶fun(s);∶∶}A)voidfun(doubleb[22])B)voidfun(doubleb[][22])C)voidfun(doubleb[][])D)voidfun(doubleb[22][])B11.以下程序的输出结果是________。voidfun(){staticinta=0;a+=2;printf("%d",a);}main(){intcc;for(cc=1;cc<4;cc++)fun();printf("\n");}A)2222B)2468C)222D)246CD12.以下程序的输出结果是#includemain(){chara[]="abcdefghi";intk;fun(a);puts(a);}fun(chars[]){intx,y;charc;for(x=0,y=(strlen(s)-1)/2;x{c=s[y];s[y]=s[x];s[x]=c;}}A)ihgfedcbaB)abcdefghiC)edcbafghiD)ihgfefghiC13.以下程序的输出结果是________。intd=1;fun(intp){staticintd=5;d+=p;printf("%d",d);return(d);}main(){inta=3;printf("%d\n",fun(fun(d)));}A)61111B)669C)61212D)6615C14.下列程序的输出结果是________。intt(intx,inty,intcp,intdp){cp=x*x+y*y;dp=x*x-y*y;}main(){inta=4,b=3,c=5,d=6;t(a,b,c,d);printf("%d%d\n",c,d);}A)169B)43C)56D)259C15.下列叙述中正确的是________。A)C语言编译时不检查语法B)C语言的子程序有过程和函数两种C)C语言的函数可以嵌套定义D)C语言所有的函数都是外部函数D16.以下所列的各函数首部中,正确的是________。A)voidplay(vara:Integer,varb:Integer)B)voidplay(inta,b)C)voidplay(inta,intb)D)voidplay(aasinteger,basinteger)C17.以下程序的输出结果是fun(intx,inty,intz){z=x*x+y*y;}main(){inta=31;fun(5,2,a);printf("%d",a);}A)0B)29C)31D)无定值C18.以下程序输出的结果是________。longfun(intn){longs;if(n==1||n==2)s=2;elses=n-fun(n-1);returns;}main(){printf("%ld\n",fun(3));}A)1B)2C)3D)4A19.请读程序:#includecharfun(charc){if(c<='Z'&&c>='A')c-='A'-'a';return(c);}main(){chars[81];intk=0;gets(s);while(s[k]){s[k]=fun(s[k]);putchar(s[k]);k++;}putchar('\n');}若运行时从键盘上输入OPENTHEDOOR(表示回车),则上面程序的输出结果是________。A)oPENtHEdOORB)openthedoorC)OPENTHEDOORD)OpenTheDoorB20.请读程序:#includef(intb[],intn){inti,r;r=1;for(i=0;i<=n;i++)r=r*b[i];returnr;}main(){intx,a[]={2,3,4,5,6,7,8,9};x=f(a,4);printf("%d\n",x);}上面程序的输出结果是________。A)720B)120C)24D)6A21.有以下程序#incldemain(){intk=4,m=1,p;p=func(k,m);printf("%d,",p);p=func(k,m);printf("%d\n",p);}func(inta,intb){staticintm=0,i=2;i=m+1;m=i+a+b;return(m);}输出结果是________。A)6,6B)6,12C)6,8D)8,8B22.以下程序的输出结果是________。#include"ctype.h"space(charstr[]){inti,t;charts[81];for(i=0,t=0;str[i]!='\0';i+=2)if(!isspace(str[i])&&str[i]!='a')ts[t++]=toupper(str[i]);ts[t]='\0';strcpy(str,ts);}main(){chars[81]={"abcdefg"};space(s);puts(s);}A)abcdegB)bcdeC)ABCDED)BCDED23.下面函数的功能是________。sss(s,t)chars[],t[];{inti=0;while(t[i]){s[i]=t[i];i++;}s[i]='\0';}A)求字符串的长度B)比较两个字符串的大小C)将字符串s复制到字符串t中D)将字符串t复制到字符串s中D24.下面函数的功能是________。sss(s)chars[];{inti=0;while(s[i])i++;returni;}A)求字符串的长度B)比较两个字符串的大小C)将字符串s逆序存放D)功能无法确定A25.设有如下的函数ggg(x)floatx;{printf("\n%d",x*x);}则函数的类型________。A)与参数x的类型相同B)是voidC)是intD)无法确定C26.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是________。A)地址传递B)单向值传递C)由实参传给形参,再由形参传回实参D)传递方式由用户指定B27.在调用函数时,如果实参是数组名,它与对应形参之间的数据传递方式是________。A)地址传递B)单向值传递C)由实参传给形参,再由形参传回实参D)传递方式由用户指定A28.以下函数fun形参的类型是________。fun(floatx){floaty;y=3*x-4;returny;}A)intB)不确定C)voidD)floatD29.C语言中规定函数的返回值的类型是由________。A)return语句中的表达式类型所决定B)调用该函数时的主调用函数类型所决定C)调用该函数时系统临时决定D)在定义该函数时所指定的类型所决定D30.以下程序的输出结果是________。func(intx){intp;if(x==0||x==1)return(3);p=x-func(x-2);returnp;}main(){printf("%d\n",func(9));}A)7B)2C)0D)3A30.阅读下面的程序:main(){intswap();inta,b;a=3;b=10;swap(a,b);printf("a=%d,b=%d\n",a,b);}swap(inta,intb){inttemp;temp=a;a=b;b=temp;}下面的说法中,正确的是________。A)在main()函数中调用swap()后,能使变量a和b的值交换B)在main()函数中输出的结果是:a=3,b=10C)程序第2行的语句intswap();是对swap()函数进行调用D)swap()函数的类型是voidB31.下面函数的功能是________。sss(s,t)chars[],t[];{inti=0;while((s[i])&&(t[i])&&(t[i]==s[i]))i++;return(s[i]-t[i]);}A)求字符串的长度B)比较两个字符串的大小C)将字符串s复制到字符串t中D)将字符串s接续到字符串t中B32.C语言中,若未说明函数的类型,则系统默认该函数的类型是________。A)float型B)long型C)int型D)double型C33.以下程序是将输入的一个整数反序打印出来,例如,输入1234,则输出4321;输入-1234,则输出-4321,程序中划线处应分别填入________。voidprintopp(longintn){inti=0;if(n==0)return;elsewhile(n){if(n>0||i==0)printf("%ld",n%10);elseprintf("%ld",________);i=1;________;}}main(){longintn;scanf("%ld",&n);printopp(n);printf("\n");}A)n%10和n=n/10B)-n%10和n=n/10C)-n/10和n=n%10D)n%10和n/=10B34.以下程序的功能是:求正整数n的各位之积,在划线处应填入________。#include#includelongfunc(longm){longk=1;do{k*=m%10;m/=10;}while(________);return(k);}main(){longn;scanf("%ld",&n);printf("%ld\n",func(n));}A)mB)m%10==0C)m==0D)m>=0A35.以下程序的功能是求任意两个整数a和b的最大公约数,并予以显示,程序的两划线处应分别填入________。#include#includelongcod(longn1,longn2){longt;while(n2){________;n1=n2;n2=t;}return________;}main(){longa,b,x;printf("Pleaseinputtwonumbers:");scanf("%ld%ld",&a,&b);x=cod(a,b);printf("%ld,%ld,%ld\n",a,b,x);}A)t=n1和n1B)t=n2和n2C)t=n1%n2和n1D)t=n1%n2和n2C36.以下程序的功能是计算并显示一个指定行数的杨辉三角形(形式如下),应填入程序空缺处的正确选项是________。#defineN15voidyanghui(intb[][N],intn){inti,j;for(i=0;________;i++){b[i][0]=1;b[i][i]=1;}for(________;++i<=n;)for(j=1;jfor(i=0;i{for(j=0;j<=i;j++)printf("%4d",b[i][j]);printf("\n");}}main(){inta[N][N]={0},n;printf("Pleaseinputsizeofyanghuitriangle(<=15):");scanf("%d",&n);printf("\n");yanghui(a,n);}A)iC)iB37.下面的程序用来将一个十进制正整数转化成八进制数,例如输入一个正整数25,则输出31,应填入划线处的选项是________。#includemain(){inti=0,j=0,a,b[10]={0};printf("Enteraninteger:");scanf("%d",&a);sub(a,b);for(;i<10;i++){if(________)j=1;if(j!=0)printf("%d",b[i]);}}sub(intc,intd[]){inte,i=9;while(c!=0){e=c%8;d[i]=e;_________;i--;}return;}A)b[i]==0和c/=8B)b[i]==0和c=e/8C)b[i]!=0和c/=8D)b[i]!=0和c=e/8C
if(a[i]return(p);}A)i=pB)a[p]=a[i]C)p=jD)p=iD10.设在主函数中有以下定义和函数调用语句,且fun函数为void类型;正确的fun函数的首部应为________(要求形参名为b)。main(){doubles[10][22];intn;∶∶fun(s);∶∶}A)voidfun(doubleb[22])B)voidfun(doubleb[][22])C)voidfun(doubleb[][])D)voidfun(doubleb[22][])B11.以下程序的输出结果是________。voidfun(){staticinta=0;a+=2;printf("%d",a);}main(){intcc;for(cc=1;cc<4;cc++)fun();printf("\n");}A)2222B)2468C)222D)246CD12.以下程序的输出结果是#includemain(){chara[]="abcdefghi";intk;fun(a);puts(a);}fun(chars[]){intx,y;charc;for(x=0,y=(strlen(s)-1)/2;x{c=s[y];s[y]=s[x];s[x]=c;}}A)ihgfedcbaB)abcdefghiC)edcbafghiD)ihgfefghiC13.以下程序的输出结果是________。intd=1;fun(intp){staticintd=5;d+=p;printf("%d",d);return(d);}main(){inta=3;printf("%d\n",fun(fun(d)));}A)61111B)669C)61212D)6615C14.下列程序的输出结果是________。intt(intx,inty,intcp,intdp){cp=x*x+y*y;dp=x*x-y*y;}main(){inta=4,b=3,c=5,d=6;t(a,b,c,d);printf("%d%d\n",c,d);}A)169B)43C)56D)259C15.下列叙述中正确的是________。A)C语言编译时不检查语法B)C语言的子程序有过程和函数两种C)C语言的函数可以嵌套定义D)C语言所有的函数都是外部函数D16.以下所列的各函数首部中,正确的是________。A)voidplay(vara:Integer,varb:Integer)B)voidplay(inta,b)C)voidplay(inta,intb)D)voidplay(aasinteger,basinteger)C17.以下程序的输出结果是fun(intx,inty,intz){z=x*x+y*y;}main(){inta=31;fun(5,2,a);printf("%d",a);}A)0B)29C)31D)无定值C18.以下程序输出的结果是________。longfun(intn){longs;if(n==1||n==2)s=2;elses=n-fun(n-1);returns;}main(){printf("%ld\n",fun(3));}A)1B)2C)3D)4A19.请读程序:#includecharfun(charc){if(c<='Z'&&c>='A')c-='A'-'a';return(c);}main(){chars[81];intk=0;gets(s);while(s[k]){s[k]=fun(s[k]);putchar(s[k]);k++;}putchar('\n');}若运行时从键盘上输入OPENTHEDOOR(表示回车),则上面程序的输出结果是________。A)oPENtHEdOORB)openthedoorC)OPENTHEDOORD)OpenTheDoorB20.请读程序:#includef(intb[],intn){inti,r;r=1;for(i=0;i<=n;i++)r=r*b[i];returnr;}main(){intx,a[]={2,3,4,5,6,7,8,9};x=f(a,4);printf("%d\n",x);}上面程序的输出结果是________。A)720B)120C)24D)6A21.有以下程序#incldemain(){intk=4,m=1,p;p=func(k,m);printf("%d,",p);p=func(k,m);printf("%d\n",p);}func(inta,intb){staticintm=0,i=2;i=m+1;m=i+a+b;return(m);}输出结果是________。A)6,6B)6,12C)6,8D)8,8B22.以下程序的输出结果是________。#include"ctype.h"space(charstr[]){inti,t;charts[81];for(i=0,t=0;str[i]!='\0';i+=2)if(!isspace(str[i])&&str[i]!='a')ts[t++]=toupper(str[i]);ts[t]='\0';strcpy(str,ts);}main(){chars[81]={"abcdefg"};space(s);puts(s);}A)abcdegB)bcdeC)ABCDED)BCDED23.下面函数的功能是________。sss(s,t)chars[],t[];{inti=0;while(t[i]){s[i]=t[i];i++;}s[i]='\0';}A)求字符串的长度B)比较两个字符串的大小C)将字符串s复制到字符串t中D)将字符串t复制到字符串s中D24.下面函数的功能是________。sss(s)chars[];{inti=0;while(s[i])i++;returni;}A)求字符串的长度B)比较两个字符串的大小C)将字符串s逆序存放D)功能无法确定A25.设有如下的函数ggg(x)floatx;{printf("\n%d",x*x);}则函数的类型________。A)与参数x的类型相同B)是voidC)是intD)无法确定C26.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是________。A)地址传递B)单向值传递C)由实参传给形参,再由形参传回实参D)传递方式由用户指定B27.在调用函数时,如果实参是数组名,它与对应形参之间的数据传递方式是________。A)地址传递B)单向值传递C)由实参传给形参,再由形参传回实参D)传递方式由用户指定A28.以下函数fun形参的类型是________。fun(floatx){floaty;y=3*x-4;returny;}A)intB)不确定C)voidD)floatD29.C语言中规定函数的返回值的类型是由________。A)return语句中的表达式类型所决定B)调用该函数时的主调用函数类型所决定C)调用该函数时系统临时决定D)在定义该函数时所指定的类型所决定D30.以下程序的输出结果是________。func(intx){intp;if(x==0||x==1)return(3);p=x-func(x-2);returnp;}main(){printf("%d\n",func(9));}A)7B)2C)0D)3A30.阅读下面的程序:main(){intswap();inta,b;a=3;b=10;swap(a,b);printf("a=%d,b=%d\n",a,b);}swap(inta,intb){inttemp;temp=a;a=b;b=temp;}下面的说法中,正确的是________。A)在main()函数中调用swap()后,能使变量a和b的值交换B)在main()函数中输出的结果是:a=3,b=10C)程序第2行的语句intswap();是对swap()函数进行调用D)swap()函数的类型是voidB31.下面函数的功能是________。sss(s,t)chars[],t[];{inti=0;while((s[i])&&(t[i])&&(t[i]==s[i]))i++;return(s[i]-t[i]);}A)求字符串的长度B)比较两个字符串的大小C)将字符串s复制到字符串t中D)将字符串s接续到字符串t中B32.C语言中,若未说明函数的类型,则系统默认该函数的类型是________。A)float型B)long型C)int型D)double型C33.以下程序是将输入的一个整数反序打印出来,例如,输入1234,则输出4321;输入-1234,则输出-4321,程序中划线处应分别填入________。voidprintopp(longintn){inti=0;if(n==0)return;elsewhile(n){if(n>0||i==0)printf("%ld",n%10);elseprintf("%ld",________);i=1;________;}}main(){longintn;scanf("%ld",&n);printopp(n);printf("\n");}A)n%10和n=n/10B)-n%10和n=n/10C)-n/10和n=n%10D)n%10和n/=10B34.以下程序的功能是:求正整数n的各位之积,在划线处应填入________。#include#includelongfunc(longm){longk=1;do{k*=m%10;m/=10;}while(________);return(k);}main(){longn;scanf("%ld",&n);printf("%ld\n",func(n));}A)mB)m%10==0C)m==0D)m>=0A35.以下程序的功能是求任意两个整数a和b的最大公约数,并予以显示,程序的两划线处应分别填入________。#include#includelongcod(longn1,longn2){longt;while(n2){________;n1=n2;n2=t;}return________;}main(){longa,b,x;printf("Pleaseinputtwonumbers:");scanf("%ld%ld",&a,&b);x=cod(a,b);printf("%ld,%ld,%ld\n",a,b,x);}A)t=n1和n1B)t=n2和n2C)t=n1%n2和n1D)t=n1%n2和n2C36.以下程序的功能是计算并显示一个指定行数的杨辉三角形(形式如下),应填入程序空缺处的正确选项是________。#defineN15voidyanghui(intb[][N],intn){inti,j;for(i=0;________;i++){b[i][0]=1;b[i][i]=1;}for(________;++i<=n;)for(j=1;jfor(i=0;i{for(j=0;j<=i;j++)printf("%4d",b[i][j]);printf("\n");}}main(){inta[N][N]={0},n;printf("Pleaseinputsizeofyanghuitriangle(<=15):");scanf("%d",&n);printf("\n");yanghui(a,n);}A)iC)iB37.下面的程序用来将一个十进制正整数转化成八进制数,例如输入一个正整数25,则输出31,应填入划线处的选项是________。#includemain(){inti=0,j=0,a,b[10]={0};printf("Enteraninteger:");scanf("%d",&a);sub(a,b);for(;i<10;i++){if(________)j=1;if(j!=0)printf("%d",b[i]);}}sub(intc,intd[]){inte,i=9;while(c!=0){e=c%8;d[i]=e;_________;i--;}return;}A)b[i]==0和c/=8B)b[i]==0和c=e/8C)b[i]!=0和c/=8D)b[i]!=0和c=e/8C
return(p);}
A)i=pB)a[p]=a[i]
C)p=jD)p=i
10.设在主函数中有以下定义和函数调用语句,且fun函数为void类型;正确
的fun函数的首部应为________(要求形参名为b)。
{doubles[10][22];
intn;
fun(s);
A)voidfun(doubleb[22])
B)voidfun(doubleb[][22])
C)voidfun(doubleb[][])
D)voidfun(doubleb[22][])
11.以下程序的输出结果是________。
voidfun()
{staticinta=0;
a+=2;
printf("%d",a);}
{intcc;
for(cc=1;cc<4;cc++)fun();
printf("\n");}
A)2222B)2468
C)222D)246
CD
12.以下程序的输出结果是
{chara[]="abcdefghi";intk;
fun(a);puts(a);}
fun(chars[])
{intx,y;charc;
for(x=0,y=(strlen(s)-1)/2;x{c=s[y];s[y]=s[x];s[x]=c;}}A)ihgfedcbaB)abcdefghiC)edcbafghiD)ihgfefghiC13.以下程序的输出结果是________。intd=1;fun(intp){staticintd=5;d+=p;printf("%d",d);return(d);}main(){inta=3;printf("%d\n",fun(fun(d)));}A)61111B)669C)61212D)6615C14.下列程序的输出结果是________。intt(intx,inty,intcp,intdp){cp=x*x+y*y;dp=x*x-y*y;}main(){inta=4,b=3,c=5,d=6;t(a,b,c,d);printf("%d%d\n",c,d);}A)169B)43C)56D)259C15.下列叙述中正确的是________。A)C语言编译时不检查语法B)C语言的子程序有过程和函数两种C)C语言的函数可以嵌套定义D)C语言所有的函数都是外部函数D16.以下所列的各函数首部中,正确的是________。A)voidplay(vara:Integer,varb:Integer)B)voidplay(inta,b)C)voidplay(inta,intb)D)voidplay(aasinteger,basinteger)C17.以下程序的输出结果是fun(intx,inty,intz){z=x*x+y*y;}main(){inta=31;fun(5,2,a);printf("%d",a);}A)0B)29C)31D)无定值C18.以下程序输出的结果是________。longfun(intn){longs;if(n==1||n==2)s=2;elses=n-fun(n-1);returns;}main(){printf("%ld\n",fun(3));}A)1B)2C)3D)4A19.请读程序:#includecharfun(charc){if(c<='Z'&&c>='A')c-='A'-'a';return(c);}main(){chars[81];intk=0;gets(s);while(s[k]){s[k]=fun(s[k]);putchar(s[k]);k++;}putchar('\n');}若运行时从键盘上输入OPENTHEDOOR(表示回车),则上面程序的输出结果是________。A)oPENtHEdOORB)openthedoorC)OPENTHEDOORD)OpenTheDoorB20.请读程序:#includef(intb[],intn){inti,r;r=1;for(i=0;i<=n;i++)r=r*b[i];returnr;}main(){intx,a[]={2,3,4,5,6,7,8,9};x=f(a,4);printf("%d\n",x);}上面程序的输出结果是________。A)720B)120C)24D)6A21.有以下程序#incldemain(){intk=4,m=1,p;p=func(k,m);printf("%d,",p);p=func(k,m);printf("%d\n",p);}func(inta,intb){staticintm=0,i=2;i=m+1;m=i+a+b;return(m);}输出结果是________。A)6,6B)6,12C)6,8D)8,8B22.以下程序的输出结果是________。#include"ctype.h"space(charstr[]){inti,t;charts[81];for(i=0,t=0;str[i]!='\0';i+=2)if(!isspace(str[i])&&str[i]!='a')ts[t++]=toupper(str[i]);ts[t]='\0';strcpy(str,ts);}main(){chars[81]={"abcdefg"};space(s);puts(s);}A)abcdegB)bcdeC)ABCDED)BCDED23.下面函数的功能是________。sss(s,t)chars[],t[];{inti=0;while(t[i]){s[i]=t[i];i++;}s[i]='\0';}A)求字符串的长度B)比较两个字符串的大小C)将字符串s复制到字符串t中D)将字符串t复制到字符串s中D24.下面函数的功能是________。sss(s)chars[];{inti=0;while(s[i])i++;returni;}A)求字符串的长度B)比较两个字符串的大小C)将字符串s逆序存放D)功能无法确定A25.设有如下的函数ggg(x)floatx;{printf("\n%d",x*x);}则函数的类型________。A)与参数x的类型相同B)是voidC)是intD)无法确定C26.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是________。A)地址传递B)单向值传递C)由实参传给形参,再由形参传回实参D)传递方式由用户指定B27.在调用函数时,如果实参是数组名,它与对应形参之间的数据传递方式是________。A)地址传递B)单向值传递C)由实参传给形参,再由形参传回实参D)传递方式由用户指定A28.以下函数fun形参的类型是________。fun(floatx){floaty;y=3*x-4;returny;}A)intB)不确定C)voidD)floatD29.C语言中规定函数的返回值的类型是由________。A)return语句中的表达式类型所决定B)调用该函数时的主调用函数类型所决定C)调用该函数时系统临时决定D)在定义该函数时所指定的类型所决定D30.以下程序的输出结果是________。func(intx){intp;if(x==0||x==1)return(3);p=x-func(x-2);returnp;}main(){printf("%d\n",func(9));}A)7B)2C)0D)3A30.阅读下面的程序:main(){intswap();inta,b;a=3;b=10;swap(a,b);printf("a=%d,b=%d\n",a,b);}swap(inta,intb){inttemp;temp=a;a=b;b=temp;}下面的说法中,正确的是________。A)在main()函数中调用swap()后,能使变量a和b的值交换B)在main()函数中输出的结果是:a=3,b=10C)程序第2行的语句intswap();是对swap()函数进行调用D)swap()函数的类型是voidB31.下面函数的功能是________。sss(s,t)chars[],t[];{inti=0;while((s[i])&&(t[i])&&(t[i]==s[i]))i++;return(s[i]-t[i]);}A)求字符串的长度B)比较两个字符串的大小C)将字符串s复制到字符串t中D)将字符串s接续到字符串t中B32.C语言中,若未说明函数的类型,则系统默认该函数的类型是________。A)float型B)long型C)int型D)double型C33.以下程序是将输入的一个整数反序打印出来,例如,输入1234,则输出4321;输入-1234,则输出-4321,程序中划线处应分别填入________。voidprintopp(longintn){inti=0;if(n==0)return;elsewhile(n){if(n>0||i==0)printf("%ld",n%10);elseprintf("%ld",________);i=1;________;}}main(){longintn;scanf("%ld",&n);printopp(n);printf("\n");}A)n%10和n=n/10B)-n%10和n=n/10C)-n/10和n=n%10D)n%10和n/=10B34.以下程序的功能是:求正整数n的各位之积,在划线处应填入________。#include#includelongfunc(longm){longk=1;do{k*=m%10;m/=10;}while(________);return(k);}main(){longn;scanf("%ld",&n);printf("%ld\n",func(n));}A)mB)m%10==0C)m==0D)m>=0A35.以下程序的功能是求任意两个整数a和b的最大公约数,并予以显示,程序的两划线处应分别填入________。#include#includelongcod(longn1,longn2){longt;while(n2){________;n1=n2;n2=t;}return________;}main(){longa,b,x;printf("Pleaseinputtwonumbers:");scanf("%ld%ld",&a,&b);x=cod(a,b);printf("%ld,%ld,%ld\n",a,b,x);}A)t=n1和n1B)t=n2和n2C)t=n1%n2和n1D)t=n1%n2和n2C36.以下程序的功能是计算并显示一个指定行数的杨辉三角形(形式如下),应填入程序空缺处的正确选项是________。#defineN15voidyanghui(intb[][N],intn){inti,j;for(i=0;________;i++){b[i][0]=1;b[i][i]=1;}for(________;++i<=n;)for(j=1;jfor(i=0;i{for(j=0;j<=i;j++)printf("%4d",b[i][j]);printf("\n");}}main(){inta[N][N]={0},n;printf("Pleaseinputsizeofyanghuitriangle(<=15):");scanf("%d",&n);printf("\n");yanghui(a,n);}A)iC)iB37.下面的程序用来将一个十进制正整数转化成八进制数,例如输入一个正整数25,则输出31,应填入划线处的选项是________。#includemain(){inti=0,j=0,a,b[10]={0};printf("Enteraninteger:");scanf("%d",&a);sub(a,b);for(;i<10;i++){if(________)j=1;if(j!=0)printf("%d",b[i]);}}sub(intc,intd[]){inte,i=9;while(c!=0){e=c%8;d[i]=e;_________;i--;}return;}A)b[i]==0和c/=8B)b[i]==0和c=e/8C)b[i]!=0和c/=8D)b[i]!=0和c=e/8C
{c=s[y];s[y]=s[x];s[x]=c;}}
A)ihgfedcbaB)abcdefghi
C)edcbafghiD)ihgfefghi
13.以下程序的输出结果是________。
intd=1;
fun(intp)
{staticintd=5;
d+=p;
printf("%d",d);
return(d);}
{inta=3;printf("%d\n",fun(fun(d)));}
A)61111B)669
C)61212D)6615
14.下列程序的输出结果是________。
intt(intx,inty,intcp,intdp)
{cp=x*x+y*y;dp=x*x-y*y;}
{inta=4,b=3,c=5,d=6;
t(a,b,c,d);
printf("%d%d\n",c,d);}
A)169B)43
C)56D)259
15.下列叙述中正确的是________。
A)C语言编译时不检查语法
B)C语言的子程序有过程和函数两种
C)C语言的函数可以嵌套定义
D)C语言所有的函数都是外部函数
16.以下所列的各函数首部中,正确的是________。
A)voidplay(vara:
Integer,varb:
Integer)
B)voidplay(inta,b)
C)voidplay(inta,intb)
D)voidplay(aasinteger,basinteger)
17.以下程序的输出结果是
fun(intx,inty,intz)
{z=x*x+y*y;}
{inta=31;
fun(5,2,a);
A)0B)29
C)31D)无定值
18.以下程序输出的结果是________。
longfun(intn)
{longs;
if(n==1||n==2)s=2;
elses=n-fun(n-1);
returns;}
{printf("%ld\n",fun(3));}
A)1B)2
C)3D)4
19.请读程序:
charfun(charc)
{if(c<='Z'&&c>='A')c-='A'-'a';
return(c);}
{chars[81];intk=0;
gets(s);
while(s[k])
{s[k]=fun(s[k]);putchar(s[k]);k++;}
putchar('\n');}
若运行时从键盘上输入OPENTHEDOOR(表示回车),则上面程
序的输出结果是________。
A)oPENtHEdOORB)openthedoor
C)OPENTHEDOORD)OpenTheDoor
20.请读程序:
f(intb[],intn)
{inti,r;
r=1;
for(i=0;i<=n;i++)r=r*b[i];
returnr;}
{intx,a[]={2,3,4,5,6,7,8,9};
x=f(a,4);
printf("%d\n",x);}
上面程序的输出结果是________。
A)720B)120
C)24D)6
21.有以下程序
#inclde
i=m+1;
return(m);}
输出结果是________。
A)6,6B)6,12
C)6,8D)8,8
22.以下程序的输出结果是________。
#include"ctype.h"
space(charstr[])
{inti,t;charts[81];
for(i=0,t=0;str[i]!
='\0';i+=2)
if(!
isspace(str[i])&&str[i]!
='a')
ts[t++]=toupper(str[i]);
ts[t]='\0';
strcpy(str,ts);}
{chars[81]={"abcdefg"};
space(s);
puts(s);}
A)abcdegB)bcde
C)ABCDED)BCDE
23.下面函数的功能是________。
sss(s,t)
chars[],t[];
{inti=0;
while(t[i]){s[i]=t[i];i++;}
s[i]='\0';}
A)求字符串的长度
B)比较两个字符串的大小
C)将字符串s复制到字符串t中
D)将字符串t复制到字符串s中
24.下面函数的功能是________。
sss(s)
chars[];
while(s[i])i++;
returni;}
C)将字符串s逆序存放
D)功能无法确定
25.设有如下的函数
ggg(x)
floatx;
{printf("\n%d",x*x);}
则函数的类型________。
A)与参数x的类型相同B)是void
C)是intD)无法确定
26.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递
方式是________。
A)地址传递
B)单向值传递
C)由实参传给形参,再由形参传回实参
D)传递方式由用户指定
27.在调用函数时,如果实参是数组名,它与对应形参之间的数据传递
28.以下函数fun形参的类型是________。
fun(floatx)
{floaty;
y=3*x-4;
returny;}
A)intB)不确定
C)voidD)float
29.C语言中规定函数的返回值的类型是由________。
A)return语句中的表达式类型所决定
B)调用该函数时的主调用函数类型所决定
C)调用该函数时系统临时决定
D)在定义该函数时所指定的类型所决定
30.以下程序的输出结果是________。
func(intx)
{intp;
if(x==0||x==1)return(3);
p=x-func(x-2);
returnp;}
{printf("%d\n",func(9));}
A)7B)2
C)0D)3
30.阅读下面的程序:
{intswap();
inta,b;
a=3;b=10;swap(a,b);
printf("a=%d,b=%d\n",a,b);}
swap(inta,intb)
{inttemp;
temp=a;a=b;b=temp;}
下面的说法中,正确的是________。
A)在main()函数中调用swap()后,能使变量a和b的值交换
B)在main()函数中输出的结果是:
a=3,b=10
C)程序第2行的语句intswap();是对swap()函数进行调用
D)swap()函数的类型是void
31.下面函数的功能是________。
while((s[i])&&(t[i])&&(t[i]==s[i]))i++;
return(s[i]-t[i]);}
D)将字符串s接续到字符串t中
32.C语言中,若未说明函数的类型,则系统默认该函数的类型是________。
A)float型B)long型
C)int型D)double型
33.以下程序是将输入的一个整数反序打印出来,例如,输入1234,则输出
4321;输入-1234,则输出-4321,程序中划线处应分别填入________。
voidprintopp(longintn)
if(n==0)return;
else
while(n)
{if(n>0||i==0)printf("%ld",n%10);
elseprintf("%ld",________);
i=1;
________;}}
{longintn;scanf("%ld",&n);
printopp(n);
A)n%10和n=n/10B)-n%10和n=n/10
C)-n/10和n=n%10D)n%10和n/=10
34.以下程序的功能是:
求正整数n的各位之积,在划线处应填入________。
longfunc(longm)
{longk=1;
do
{k*=m%10;m/=10;}
while(________);
return(k);}
{longn;scanf("%ld",&n);
printf("%ld\n",func(n));}
A)mB)m%10==0
C)m==0D)m>=0
35.以下程序的功能是求任意两个整数a和b的最大公约数,并予以显示,
程序的两划线处应分别填入________。
longcod(longn1,longn2)
{longt;
while(n2){________;n1=n2;n2=t;}
return________;}
{longa,b,x;
printf("Pleaseinputtwonumbers:
");
scanf("%ld%ld",&a,&b);
x=cod(a,b);
printf("%ld,%ld,%ld\n",a,b,x);}
A)t=n1和n1B)t=n2和n2
C)t=n1%n2和n1D)t=n1%n2和n2
36.以下程序的功能是计算并显示一个指定行数的杨辉三角形(形式如下),
应填入程序空缺处的正确选项是________。
#defineN15
voidyanghui(intb[][N],intn)
{inti,j;
for(i=0;________;i++){b[i][0]=1;b[i][i]=1;}
for(________;++i<=n;)
for(j=1;j
for(i=0;i{for(j=0;j<=i;j++)printf("%4d",b[i][j]);printf("\n");}}main(){inta[N][N]={0},n;printf("Pleaseinputsizeofyanghuitriangle(<=15):");scanf("%d",&n);printf("\n");yanghui(a,n);}A)iC)iB37.下面的程序用来将一个十进制正整数转化成八进制数,例如输入一个正整数25,则输出31,应填入划线处的选项是________。#includemain(){inti=0,j=0,a,b[10]={0};printf("Enteraninteger:");scanf("%d",&a);sub(a,b);for(;i<10;i++){if(________)j=1;if(j!=0)printf("%d",b[i]);}}sub(intc,intd[]){inte,i=9;while(c!=0){e=c%8;d[i]=e;_________;i--;}return;}A)b[i]==0和c/=8B)b[i]==0和c=e/8C)b[i]!=0和c/=8D)b[i]!=0和c=e/8C
{for(j=0;j<=i;j++)
printf("%4d",b[i][j]);
printf("\n");}}
{inta[N][N]={0},n;
printf("Pleaseinputsizeofyanghuitriangle(<=15):
scanf("%d",&n);
printf("\n");
yanghui(a,n);}
A)iC)iB37.下面的程序用来将一个十进制正整数转化成八进制数,例如输入一个正整数25,则输出31,应填入划线处的选项是________。#includemain(){inti=0,j=0,a,b[10]={0};printf("Enteraninteger:");scanf("%d",&a);sub(a,b);for(;i<10;i++){if(________)j=1;if(j!=0)printf("%d",b[i]);}}sub(intc,intd[]){inte,i=9;while(c!=0){e=c%8;d[i]=e;_________;i--;}return;}A)b[i]==0和c/=8B)b[i]==0和c=e/8C)b[i]!=0和c/=8D)b[i]!=0和c=e/8C
C)iB37.下面的程序用来将一个十进制正整数转化成八进制数,例如输入一个正整数25,则输出31,应填入划线处的选项是________。#includemain(){inti=0,j=0,a,b[10]={0};printf("Enteraninteger:");scanf("%d",&a);sub(a,b);for(;i<10;i++){if(________)j=1;if(j!=0)printf("%d",b[i]);}}sub(intc,intd[]){inte,i=9;while(c!=0){e=c%8;d[i]=e;_________;i--;}return;}A)b[i]==0和c/=8B)b[i]==0和c=e/8C)b[i]!=0和c/=8D)b[i]!=0和c=e/8C
37.下面的程序用来将一个十进制正整数转化成八进制数,例如输入一个正
整数25,则输出31,应填入划线处的选项是________。
{inti=0,j=0,a,b[10]={0};
printf("Enteraninteger:
");scanf("%d",&a);
sub(a,b);
for(;i<10;i++)
{if(________)j=1;
if(j!
=0)printf("%d",b[i]);}}
sub(intc,intd[])
{inte,i=9;
while(c!
=0){e=c%8;d[i]=e;_________;i--;}
return;}
A)b[i]==0和c/=8B)b[i]==0和c=e/8
C)b[i]!
=0和c/=8D)b[i]!
=0和c=e/8
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2