根据下面程序段进行分析,结论正确的是()。 intfun(intx,inty) { (x)++; y++; return

题目
单选题
根据下面程序段进行分析,结论正确的是()。 intfun(intx,inty) { (x)++; y++; return(x)-y; }
A

参数x是按照值传递进行传递,而y按地址传递进行传递

B

参数y是按照值传递进行传递,而x按地址传递进行传递

C

x,y均是按照值传递传递数据的

D

x,y均是按照地址传递传递数据的

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

intfun(intx,inty)函数首部的定义形式是正确的。()


正确答案:√

第2题:

有如下程序:

#included<iostream>

usingnamespacestd;

voidfl(int&X,int&y){intz=x;x=y;y=z;)voidf2(intX,inty){intz=x;x=y;y=z;}intmain( ){

intx=10,y=26;

f1(X,y);

f2(x,y);

cout<<y<<endl;

return0;

}

运行时的输出结果是( )。

A.10

B.16

C.26

D.36


正确答案:A
A。【解析】该题考查了函数参数传递的两种方式:引用传递和值传递,引用传递时x和y会交换,而值传递时二者不交换,因此选10。

第3题:

下列程序段不会发生二义性的是()。

A、intfun(doublep){.;}

B、intfun(floatp){.;}floatfun(floatp){.;}floatfun(unsignedp){.;}intx;intx;x=fun(0);x=fun(0);

C、intfun(inti,intj=2){.;}

D、intfun(inti=2,intj=2){.;}floatfun(inti){.;}intfun(int*p){.;}cout


参考答案:D

第4题:

有以下程序includeintf(intx){inty;if(x==0||x==1)return(3);y=x*x-f(x-2);returny;}m

有以下程序 #include <stdio.h> intf(int x) { int y; if(x==0||x==1) return(3); y=x*x-f(x-2); return y; } main() { int z; z=f(3); printf("%d\n",z); } 程序的运行结果是

A.0

B.9

C.6

D.8


正确答案:C
解析: 函数int f(int x)是一个递归函数调用,当x的值等于0或1时,函数值等于3,其他情况下y=x2-f(x-2),所以在主函数中执行语句z=f(3)时,y=3*3-f(3-2)=9=f(1)=9-3=6。

第5题:

Given:Whichfivemethods,insertedindependentlyatline5,willcompile?()

A.protectedintblipvert(longx){return0;}

B.protectedlongblipvert(intx){return0;}

C.privateintblipvert(longx){return0;}

D.privateintblipvert(intx){return0;}

E.publicintblipvert(intx){return0;}

F.protectedlongblipvert(longx){return0;}

G.protectedlongblipvert(intx,inty){return0;}


参考答案:A, C, E, F, G

第6题:

在下面C语言的函数说明语句中,正确的是()。

A.intfun(int,int);

B.intfun(intx,y);

C.intfun(x,y);

D.intfun(intx;inty);

E.intfun(intx,inty);


正确答案:AE

第7题:

Whichfivemethods,insertedindependentlyatline5,willcompile?()

A.publicintblipvert(intx){return0;}

B.privateintblipvert(intx){return0;}

C.privateintblipvert(longx){return0;}

D.protectedintblipvert(longx){return0;}

E.protectedlongblipvert(longx){return0;}

F.protectedlongblipvert(intx,inty){return0;}


参考答案:A, C, D, E, F

第8题:

以下函数首部的定义形式错误的是()

A.intfun(intx;inty)

B.intfun(intx,inty)

C.intfun(intx,y)

D.intfun(intx,inty)


正确答案:ACD

第9题:

下面程序段的输出结果为( )。 packagetest; publicclassClassA { intx=20; staticinty=6; publicstaticvoidmain(Stringargs[]) { ClassBb=newClassB(); b.go(10); System.out.println("x="+b.x); } } classClassB { intX; voidgo(inty) { ClassAa=newClassA(); X=a.y; } }

A.x=10

B.x=20

C.x=6

D.编译不通过


正确答案:C
解析: 本题考查在Java中静态变量(类变量)的用法。在题目程序段中生成了一个staticinty=6类变量,在ClassA中调用的b.go(10),只不过是在ClassB中的一个局部变量,通过调用ClassB中的go方法可以生成一个ClassA刘象,并给这个新生成的对象赋以ClassA中的类变量y的值。从main()方法作为入口执行程序,首先生成一个ClassB的对象,然后b.go(10)会调用ClassA,会给x和y赋值,x=a.y后,x值为6,再返回去执行System.out.println("x"+b.x)语句,输出为x=6,可见,正确答案为选项C。

第10题:

有下列程序: #include<stdi0.h> intfun(intx,inyy) {if(x==y)return(x); elsereturn((x+y)/2); } voidmain() {inta=4,b=5,C=6; printf("%d\n",fun(2*a,fun(b,c))); } 程序运行后的输出结果是()。

A.3

B.6

C.8

D.12


正确答案:B
B。【解析】在程序中子函数fun(intx,inty)的功能是如果X的值等于y的值,则返回x的值,否则返回这两个数的算术平均值,在主函数中首先计算fun(5,6),其值等于5,然后再计算fun(8,5),其值等于6。所以正确答案为选项B。

更多相关问题