计算机二级

阅读程序: Sub subP(b()As Integer) For i=1 To 4 b(i)=2*i Next i End Sub Private Sub Command1_Click() Dim a(1 To 4)As Integer a (1)=5 a (2)=6 a (3)=7 a (4)=8 subP a() For i=1 To 4 Print a(i) Next i End Sub运行以上程序,单击命令按钮,输出结果为______ 。A.2 4 6 8B.5 6 7 8C.10 12 14

题目

阅读程序: Sub subP(b()As Integer) For i=1 To 4 b(i)=2*i Next i End Sub Private Sub Command1_Click() Dim a(1 To 4)As Integer a (1)=5 a (2)=6 a (3)=7 a (4)=8 subP a() For i=1 To 4 Print a(i) Next i End Sub运行以上程序,单击命令按钮,输出结果为______ 。

A.2 4 6 8

B.5 6 7 8

C.10 12 14 16

D.出错

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

第1题:

B.插入排序:

思路:当前a[1]..a[i-1]已排好序了,现要插入a[i]使a[1]..a[i]有序。

procedure insert_sort;

var i,j:integer;


正确答案:

 

begin
for i:=2 to n do begin
a[0]:=a[i];
j:=i-1;
while a[0]<a[j] do begin
a[j+1]:=a[j];
j:=j-1;
end;
a[j+1]:=a[0];
end;
end;{inset_sort}

第2题:

阅读程序 SUB P(B( ) AS INTEGER) FOR I=1 TO 4 B(I) =2*I NEXT I END SUB PRIVATE SUB COMMAND1_CLICK( ) DIM A( 1 TO 4) AS INTEGER A(1)=5 A(2) =6 A(3) =7 A(4) =8 P A( ) FOR I = 1 TO 4 MSGBOX A(I) NEXT I END SUB 运行上面的程序,单击命令按钮COMMAND1后,消息框4次输出的内容分别是( )。

A.出错

B.10, 12, 14, 16

C.5, 6, 7, 8

D.2, 4, 6, 8


正确答案:D
解析:VBA中,数组可以作为过程的参数进行定义和使用。主要有两种形式:一是数组元素作为过程参数使用,与普通变量作为参数使用相同,同样存在传值与传址两种调用情况;二是数组名作为过程参数使用,形式参数必须定义为没有下标的数组,实际参数则为数组名,而且这种数据传递采用传址的“双向”作用形式。本题就是数组作为过程参数的第二种使用形式,考虑到“双向”作用效果,正确答案为D。

第3题:

阅读程序: Sub p( b () As Integer)For i =1To 4 b(i) = 2(iNext i End Sub Private Sub Command1_Click()Dim a (1 To 4) As Integer a(1)=5 a(2)=6 a(3)=7 a(4)=8 call p (a) For i=1 To 4 Print a(i) Next iEnd Sub运行上面的程序,单击命令按钮,输出结果为。


正确答案:2 4 6 8
【解析】本题综合考查Sub过程的建立与调用以及数组的赋值。P过程为参数b()赋值,赋值方法为b()中的元素值等于其下标的2倍。在事件过程中,数组a(1 to 4)先被逐一赋值,然后以传地址的方式被p过程调用。在调用中,a(i)被重新按照p过程的赋值方式(即元素值等于对应下标值的2倍)赋值。由于是以传地址的方式传送a(1 to 4),故在调用完p过程后,a(1 to 4),故在调用完p过程后,a(1 to 4)中的元素值将保留,故空白处填:2 4 6 8。

第4题:

以下代码符合MATLAB语法的是()

A.for i=1:10 i++ end

B.While (i<10) i=i+1; end

C.while (i<10) { i=i+1; }

D.for i=1:10 i end


for i=1:10 i end

第5题:

请仔细阅读程序,将程序的执行结果详细的写出来。注意字符和标点符号的书写 #include <stdio.h> int main() { int i,j=4; for(i=j;i<=2*j;i++) switch(i/j) { case 0: case 1: printf("*");break; case 2: printf("#"); } return 0; }


c

第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题:

8、下列程序中,哪一行语句有错误 。 1 PROGRAM P01 2 INTEGER:: I,S=0 3 DO I=10,1,-2 4 I=I*I 5 S=S+I 6 ENDDO 7 END PROGRAM

A.2

B.3

C.4

D.7


C

第8题:

下列程序段的执行结果是【 】。

For I = 1 to 5

Clls

Print "I =" , I

NEXT


正确答案:I=5
I=5 解析:Cls语句的功能是清除窗体或其他对象上的所有输出,因此,本题在运行中虽然对 I=1、I=2、I=3、I=4有输出,但都被清除,最后只剩下I=5时的输出值。

第9题:

1、阅读程序,给出程序的执行结果。 #include<stdio.h> int Square(int i) { return i*i; } int main(void) { int i=0; i=Square(i ); for(;i < 3; i++) { static int i=1; i +=Square(i ); printf("%d,", i ); } printf("%d", i) return 0; }


错误

第10题:

以下不正确的循环语句是________。

A.i=1 Do s=s+i: i=i+1 Loop While i<=10

B.i=1 Do While i<=10 s=s+i: i=i+1 Loop

C.i=1 Do While i<=10 s=s+i: i=i+1 Next i

D.For i=1 To 10 s=s+i Next


无限次