C语言函数章节选择题新.docx

上传人:b****6 文档编号:8598951 上传时间:2023-02-01 格式:DOCX 页数:16 大小:19.11KB
下载 相关 举报
C语言函数章节选择题新.docx_第1页
第1页 / 共16页
C语言函数章节选择题新.docx_第2页
第2页 / 共16页
C语言函数章节选择题新.docx_第3页
第3页 / 共16页
C语言函数章节选择题新.docx_第4页
第4页 / 共16页
C语言函数章节选择题新.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

C语言函数章节选择题新.docx

《C语言函数章节选择题新.docx》由会员分享,可在线阅读,更多相关《C语言函数章节选择题新.docx(16页珍藏版)》请在冰豆网上搜索。

C语言函数章节选择题新.docx

C语言函数章节选择题新

1.在C语言中,全局变量的存储类别是:

A)staticB)extern

C)voidD)register

A

2.C语言中,凡未指定存储类别的局部变量的隐含存储类别是:

A)自动(auto)B)静态(static)

C)外部(extern)D)寄存器(register)

A

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)有语法错误

A

6.以下程序的运行结果是。

#include

main()

{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

B

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)

C

8.有如下程序

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)13

C)14D)15

D

9.以下函数返回a数组中最小值所在的下标,在划线处应

填入的是________。

fun(inta[],intn)

{inti,j=0,p;

p=j;

for(i=j;i

if(a[i]

return(p);}

A)i=pB)a[p]=a[i]

C)p=jD)p=i

D

10.设在主函数中有以下定义和函数调用语句,且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][])

B

11.以下程序的输出结果是________。

voidfun()

{staticinta=0;

a+=2;

printf("%d",a);}

main()

{intcc;

for(cc=1;cc<4;cc++)fun();

printf("\n");}

A)2222B)2468

C)222D)246

C

12.以下程序的输出结果是

#include

main()

{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)abcdefghi

C)edcbafghiD)ihgfefghi

C

13.以下程序的输出结果是________。

intd=1;

fun(intp)

{staticintd=5;

d+=p;

printf("%d",d);

return(d);}

main()

{inta=3;printf("%d\n",fun(fun(d)));}

A)61111B)669

C)61212D)6615

C

14.下列程序的输出结果是________。

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)43

C)56D)259

C

15.下列叙述中正确的是________。

A)C语言编译时不检查语法

B)C语言的子程序有过程和函数两种

C)C语言的函数可以嵌套定义

D)C语言所有的函数都是外部函数

D

16.以下所列的各函数首部中,正确的是________。

A)voidplay(vara:

Integer,varb:

Integer)

B)voidplay(inta,b)

C)voidplay(inta,intb)

D)voidplay(aasinteger,basinteger)

C

17.以下程序的输出结果是

fun(intx,inty,intz)

{z=x*x+y*y;}

main()

{inta=31;

fun(5,2,a);

printf("%d",a);}

A)0B)29

C)31D)无定值

C

18.以下程序输出的结果是________。

longfun(intn)

{longs;

if(n==1||n==2)s=2;

elses=n-fun(n-1);

returns;}

main()

{printf("%ld\n",fun(3));}

A)1B)2

C)3D)4

A

19.请读程序:

#include

charfun(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)openthedoor

C)OPENTHEDOORD)OpenTheDoor

B

20.请读程序:

#include

f(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)120

C)24D)6

A

21.有以下程序

#inclde

main()

{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,12

C)6,8D)8,8

B

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);}

main()

{chars[81]={"abcdefg"};

space(s);

puts(s);}

A)abcdegB)bcde

C)ABCDED)BCDE

D

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中

D

24.下面函数的功能是________。

sss(s)

chars[];

{inti=0;

while(s[i])i++;

returni;}

A)求字符串的长度

B)比较两个字符串的大小

C)将字符串s逆序存放

D)功能无法确定

A

25.设有如下的函数

ggg(x)

floatx;

{printf("\n%d",x*x);}

则函数的类型________。

A)与参数x的类型相同B)是void

C)是intD)无法确定

C

26.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递

方式是________。

A)地址传递

B)单向值传递

C)由实参传给形参,再由形参传回实参

D)传递方式由用户指定

B

27.在调用函数时,如果实参是数组名,它与对应形参之间的数据传递

方式是________。

A)地址传递

B)单向值传递

C)由实参传给形参,再由形参传回实参

D)传递方式由用户指定

A

28.以下函数fun形参的类型是________。

fun(floatx)

{floaty;

y=3*x-4;

returny;}

A)intB)不确定

C)voidD)float

D

29.C语言中规定函数的返回值的类型是由________。

A)return语句中的表达式类型所决定

B)调用该函数时的主调用函数类型所决定

C)调用该函数时系统临时决定

D)在定义该函数时所指定的类型所决定

D

30.以下程序的输出结果是________。

func(intx)

{intp;

if(x==0||x==1)return(3);

p=x-func(x-2);

returnp;}

main()

{printf("%d\n",func(9));}

A)7B)2

C)0D)3

A

30.阅读下面的程序:

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=10

C)程序第2行的语句intswap();是对swap()函数进行调用

D)swap()函数的类型是void

B

31.下面函数的功能是________。

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中

B

32.C语言中,若未说明函数的类型,则系统默认该函数的类型是________。

A)float型B)long型

C)int型D)double型

C

33.以下程序是将输入的一个整数反序打印出来,例如,输入1234,则输出

4321;输入-1234,则输出-4321,程序中划线处应分别填入________。

voidprintopp(longintn)

{inti=0;

if(n==0)return;

else

while(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/10

C)-n/10和n=n%10D)n%10和n/=10

B

34.以下程序的功能是:

求正整数n的各位之积,在划线处应填入________。

#include

#include

longfunc(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==0

C)m==0D)m>=0

A

35.以下程序的功能是求任意两个整数a和b的最大公约数,并予以显示,

程序的两划线处应分别填入________。

#include

#include

longcod(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和n2

C)t=n1%n2和n1D)t=n1%n2和n2

C

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)i

C)i

B

37.下面的程序用来将一个十进制正整数转化成八进制数,例如输入一个正

整数25,则输出31,应填入划线处的选项是________。

#include

main()

{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

C

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1