假定有以下两个过程:Sub SI (By Val x As Integer,By Val y As Integer) Dim t As Integer t=x x

题目

假定有以下两个过程: Sub SI (By Val x As Integer,By Val y As Integer) Dim t As Integer t=x x=y y=t End Sub Sub S2(x As Integer,y As Integer) Dim t As Integer t=x x=y y=t End Sub 则以下说法中正确的是______。

A.用过程S1可以实现交换两个变量的值的操作,S2不能实现

B.用过程S2可以实现交换两个变量的值的操作,S1不能实现

C.用过程S1和S2都可以实现交换两个变量的值的操作

D.用过程S1和S2都不能实现交换两个变量的俏的操作

参考答案和解析
正确答案:B
解析:过程定义时,如果形式参数被说明为传值(ByVal项),则过程调用只是相应位置实参的值“单向”传送给形参处理,而被调用过程内部对形参的任何操作引起的形参值的变化均不会反馈、影响实参的值。由于这个过程,数据的传递只是单向性,故称为“传值调用”的“单向”作用形式。反之,如果形式参数被说明为传址(ByRef项),则过程调用是将相应位置实参的地址传送给形参处理,而被调用过程内部对形参的任何操作引起的形参值的变化又会反向影响实参的值。在这个过程中,数据的传递具有双向性,故称为“传址调用”的“双向”作用形式。在过程定义时,如果未做参数说明,则默认为传址调用。所以本题过程sl采用的是传值的方式,当然无法实现交换两个变量的值的操作。过程S2形式参数未说明,则默认采用的是传址的方式,可以实现两个变量的值的交换操作。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

执行x=InputBox(”请输入x的值”)时,在弹出的对话框中输入l2,在列表框Listl选中第一个列表项,假设该列表项的内容为34,使Y的值是1234的语句是( )。

A)y--Val(x) Val((Listl.List(0)

B)y=Val(x) Val(Listl.List(1))

C)y=Val(x)&Val(Listl.List(O))

D)y=Val(x)&Val(Listl.List(1))


正确答案:C
本题考查字符串连接和列表框的知识。列表框的List属性是一个数组,其各元素就是列表框中的列表项,第一个列表项对应的数组下标为0。由于列表框中的列表项和输入对话框的返回值都是字符串,在本题中使用了Val函数将其转换为数字,此时如果使用“ ”则会完成两个数字相加,故此只能使用“&”连接两个字符串。

第2题:

执行x=InputBox(“请输入x的值”)时,在弹出的对话框中输入12,在列表框List1选中第一个列表项,假设该列表项的内容为34,使y的值是1234的语句是( )。

A.y=Val(x)+Val((List1.List(0))

B.y=Val(x)+Val(List1.List(1))

C.y=Val(x)&Val(List1.List(0))

D.y=Val(x)&Val(Listl.List(1))


正确答案:C
解析:本题考查字符串连接和列表框的知识。列表框的List属性是一个数组,其各元素就是列表框中的列表项,第一个列表项对应的数组下标为0。由于列表框中的列表项和输入对话框的返回值都是字符串,在本题中使用了Val函数将其转换为数字,此时如果使用“+”则会完成两个数字相加,故在此只能使用“&”连接两个字符串。

第3题:

program exam(output); var x,y,x:integer; proedure silly(x:integer;vary:integer); begin x:=5;y:=6;z:=3; writeln(x,y,z) end; begin x:=1;y:=2;z:=3; silly(x,y); writeln(x,y,z) end. 以上程序运行结果为().

A567 563

B567 567

C567 167

D567 163


正确答案:C

第4题:

下面____ 是合法的变量名。

A.123ABC

B.x3

C.x-y

D.Integer


A

第5题:

执行x$=In put Box(“请输入x的值”)时,在弹出的对话框中输入123,在列表框Listl选中第一个列表项,该列表项的内容为456,使y的值是123456的语句是( )。

A.y=Val(x$)+Val(List l.List(0))

B.y=Val(x$)+Val(List l.List(1))

C.y=Val(x$)&Val(List l.List(0))

D.y=Val(x$)&Val(List l.List(1))


正确答案:C
解析:本题考查List Box控件属性,x$表示变量x是字符类型变量,所以从In put Box函数输入的数据123是字符类型。从List Box控件输入的数据肯定是字符类型。选中Listl中的第 1个列表项,该列表项应表示为List l.List(0)。 Val函数是将字符串转换为数值,两个数值相加的表达式运算结果是579。选项A不是本题答案,List l.List(1)是List l控件的第2个列表项,在本题中该值为空,故得到结果仍是123;选项B错误;选项C是本题答案,虽然Val函数已经将字符转换为数值,这个表达式是两个数值进行“&”运算,但“&”运算忽略参与运算项的类型,而是强行施加“连接”运算,故得到的结果是123456:选项D错误,因为 List l.List(1)不是列表框的第1个列表项,在本题中Val(List l.List(1)):0,该选项得到y值为 1230。答案为C。

第6题:

假设已定义Integer变量x、y,则以下赋值语句正确的是( )。

A.x+1=y

B.x:=y

C.y=x+y

D.1=x


参考答案:C

第7题:

执行x$=InputBox("请输入x的值")时,在弹出的对话框中输入123,在列表框List1选中第一个列表项,该列表项的内容为456,使y的值是123456的语句是( )。

A.y=Val(x$)+Val(Listl.List(0))

B.y=Val(x$)+Val(List1.List(1))

C.y=Val(x$)& Val(List1.List(0))

D.y=Val(x$) &Val(List1.List(1))


正确答案:C
解析:x$表示变量x是字符类型变量,所以从InputBox函数输入的数据123是字符类型。从ListBox控件输入的数据肯定是字符类型。选中List1中的第1个列表项,该列表项应表示为Listl.List(0)。Val函数是将字符串转换为数值,两个数值相加的表达式运算结果是579。选项C是本题答案,虽然Val函数已经将字符转换为数值,这个表达式是两个数值进行“&”运算,但“&”运算忽略参与运算项的类型,而是强行施加“连接”运算,故得到的结果是123456。

第8题:

若m,x,y,均为Integer型变量,则执行下面语句后m值是()m=1:X=2:Y=3m=IIf(X>Y,X+Y,X-Y)()

A.-1

B.0

C.1

D.2


正确答案:A

第9题:

假设已定义Integer变量x、y,则以下赋值语句正确的是()。

Ax+1=y

Bx:=y

Cy=x+y

D1=x


C

第10题:

11、下面哪些定义是类型正确的?

A.f :: (Integer, Integer) -> Float f (x,y) = x / y

B.f :: (Integer, Integer) -> Float f (x,y) = (fromInteger x) / (fromInteger y)

C.f :: (Integer, Integer) -> Float f (x,y) = 3*x + y

D.f :: (Integer, Integer) -> Integer f (x, y) = 3*x + y


AFT 通常由含有一个双氢呋喃环和一个氧杂萘邻酮(香豆素)的基本架构单位构成 AFT 分为 黄曲霉毒素B1(AFB1)、黄曲霉毒素 B2 (AFB2) 黄曲霉毒素G1(AFG1)、黄曲霉毒素 G2(AFG2) 黄曲霉毒素M1(AFM1)、黄曲霉毒素 M2(AFM2) B1、G1的呋喃环氢键异构。M1型氢键变为羟基。 1比2呋喃环上多了一个双键。