计算机二级

有如下的函数过程: Function Func2(a As Integer, b As Integer)'As Integer Static m As Integer, i As Integer m=0 i=2 a=i+m+1 b=i+a+b Func2=m End Function 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim p As Integer, k As Integer, m As Integer k=4 m=1 p=Fune

题目

有如下的函数过程: Function Func2(a As Integer, b As Integer)'As Integer Static m As Integer, i As Integer m=0 i=2 a=i+m+1 b=i+a+b Func2=m End Function 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim p As Integer, k As Integer, m As Integer k=4 m=1 p=Fune2(k, m) Print k; m p = Func2(k, m) Print k; m End Sub 程序运行后,单击命令按钮,输出结果为( )。

A.3 6<CR>3 6

B.3 6<CR>3 11

C.3 11<CR>3 6

D.3 11<CR>3 11

参考答案和解析
正确答案:B
解析:本愿意在考查调用Func2时,参数是按地址传递的,所以两次调用Fune2时,实参k、m的值都改变了。程序运行过程如下:第一次调用Func2(k,m),k被行参a改变为3,m被行参改变为 6;第二次调用函数后,a为3,m为11。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

E.堆排序:

procedure sift(i,m:integer);{调整以i为根的子树成为堆,m为结点总数}

var k:integer;


正确答案:

 

begin
a[0]:=a[i]; k:=2*i;{在完全二叉树中结点i的左孩子为2*i,右孩子为2*i+1}
while k<=m do begin
if (k<m) and (a[k]<a[k+1]) then inc(k);{找出a[k]与a[k+1]中较大值}
if a[0]<a[k] then begin a[i]:=a[k];i:=k;k:=2*i; end
else k:=m+1;
end;
a[i]:=a[0]; {将根放在合适的位置}
end;

procedure heapsort;
var
j:integer;
begin
for j:=n div 2 downto 1 do sift(j,n);
for j:=n downto 2 do begin
swap(a[1],a[j]);
sift(1,j-1);
end;
end;

第2题:

以下哪个函数声明是正确的?

A.void play(int a, int b);

B.void play(a:Integer, b:Integer);

C.void play(int a, b) ;

D.Sub play(a as integer, b as integer);


void play(int a, int b) ;

第3题:

如果Add函数的调用代码为:func main() {var a Integer = 1var b Integer = 2var i interface{} = asum := i.(Integer).Add(b)fmt.Println(sum)}则Add函数定义正确的是()

A.type Integer intfunc (a Integer) Add(b Integer) Integer { return a + b}

B.type Integer intfunc (a Integer) Add(b *Integer) Integer { return a + *b}

C.type Integer intfunc (a *Integer) Add(b Integer) Integer { return *a + b}

D.type Integer intfunc (a *Integer) Add(b *Integer) Integer { return *a + *b}


参考答案:A

第4题:

定义一个List对象list,使用ArrayList的构造方法进行初始化,并且要求list中必须全部存放Integer类型的对象,以下语句正确的是()。

A.List list = new ArrayList ();

B.List list = new ArrayList<Integer>();

C.List<Integer> list = new ArrayList<Integer>();

D.ArrayList<Integer> list = new List<Integer>();


A

第5题:

定义一个List对象list,使用ArrayList的构造方法进行初始化,并且要求list中必须全部存放Integer类型的对象,以下语句正确的是()。

A.List list = new ArrayList ();

B.List list = new ArrayList<Integer>();

C.ArrayList<Integer> list = new List<Integer>();

D.List<Integer> list = new ArrayList<Integer>();


List list = new ArrayList ();

第6题:

链表的定位函数

loc(I:integer):pointer; {寻找链表中的第I个结点的指针}

procedure loc(L:linklist; I:integer):pointer;

var p:pointer;

j:integer;


正确答案:

 

begin
p:=L.head; j:=0;
if (I>=1) and (I<=L.len) then
while j<I do begin p:=p^.next; inc(j); end;
loc:=p;
end;

第7题:

定义一个List对象list,使用ArrayList的构造方法进行初始化,并且要求list中必须全部存放Integer类型的对象,以下语句正确的是()。

A.List list = new ArrayList<Integer>();

B.List list = new ArrayList ();

C.List<Integer> list = new ArrayList<Integer>();

D.ArrayList<Integer> list = new List<Integer>();


List list = new ArrayList ();

第8题:

下列哪个函数不是舍入函数()。

A、ROUNDUP

B、ODD

C、FLOOR

D、INTEGER


答案:D

第9题:

8、下面哪些是将分数化为浮点数的正确定义?

A.type Fraction = (Integer, Integer) rateq :: Fraction -> Float rateq (a,b) = a/b###SXB###B.type Fraction = (Integer, Integer) rateq :: Fraction -> Float rateq (a,b) = (fromInteger a)/ (fromInteger b)###SXB###C.type Fraction = (Integer, Integer) rateq :: Fraction -> Float rateq (a,b) = fromInteger (a/b)###SXB###D.type Fraction = (Integer, Integer) rateq :: Fraction -> Float rateq (a,b) = (fromIntegral a)/ (fromIntegral b)###SXB###E.ty
A

第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呋喃环上多了一个双键。