对如下的Pascal程序,若程序运行时的存储空间采用栈式分配方案,试分别画出程序执行到①点和②点时的
B; C;
END; BEGIN
END
B; C;
END; BEGIN
END
第1题
A.24
B.18
C.12
D.6
第2题
A.所有程序在机器A上都比在机器B上运行速度慢
B.机器A的速度大约是机器B的1.25倍
C.机器B的速度大约是机器A的1.25倍
D.机器A比机器B大约慢1.25倍
第3题
对下面的Pascal程序: PROGRAM ex710; VAR k:Real; FUNCTION f(n:Integer):Real; BEGIN IF n=0 THEN f:=1 ELSE f:=n*f(n-1) END; BEGIN k:=f(10); Write(k) END. 试指出:当递归调用函数f(n)时,在第二次进入f之后,栈式存储分配活动记录的内容是什么?
第4题
为以下的Pascal程序画出活动记录的栈。 (1)对P的第一次调用中对a的调用之后。 (2)在对P的第二次调用中对a的调用之后。 (3)程序打印出什么?为什么? PROGRAM closureEx(Output); VAR x:Integer; PROCEDURE one; BEGIN Writeln(x); END; PROCEDURE P(PROCEDURE a); BEGIN a; END; PROCEDURE q; VAR x:Integer; PROCEDURE two; BEGIN Writeln(x); END; BEGIN x:=2; P(one); P(two); END;(*q*) BEGIN(*main*) x:=1; q; END.
第5题
在窗体上有一个命令按钮,然后编写如下程序: Function Trans(ByVal num As Long) As Long Dim k As Long k=l Do While num k=k * (num Mod 10) num=num\10 Loop Trans=k Print Trans End Function Private Sub Commandl_Click() Dim m As Long Dim s As Long m=InputBox("请输入一个数") s=Trans(m) End Sub 程序运行时,单击命令按钮,在输入对话框中输入“789”,输出结果为【 】,在输入对 话框中输入“987”输出【 】,在输入对话框中输入“879”,输出结果为【 】。
第6题
有以下程序,若运行时从键盘输入:18,11<回车>,则程序的输出结果是【 】。 main () { int a, b; printf("Enter a, b:"); scanf("%d, %d",&a,&b); while(a!=b) { while(a>b)a-=b; while(b>a)b-=a; } printf("%3d%3d\n",a,b); }
第7题
A.在pascal程序中所用到的变量必须先说明后使用
B.在pascal程序中,允许使用的最小值是-maxint
C.在pascal程序中,分号是语句的一部分,在每个语句中不能省略
D.在pascal程序中,符号常数的值可根据需要随时修改
第8题
Private Sub Command1_Click() '确定按钮
Static n As Integer
----1----mypwd As String = "123456" '预设密码为自定义常量
n = n + 1
Label2.Visible = True
If ----2---- Then
Label2.Caption = "密码正确"
Else
If n < 3 Then
Label2.Caption = "密码错误!"
Text1.Text = ""
Else
----3----
End If
End If
End Sub
第9题
有如下程序:
#include<iostream>
#include<cstring>
using namespace std;
class XCF{
int a;
public:
XCF(int aa=O):a(aA){cout<<”1”;}
XCF(XCF&X){a=x.a;cout<<”2”;}
~XCF(){cout<<at}
int Geta(){return at}
};
int main(){
XCF dl(5),d2(d1);
XCF半pd=new XCF(8);
cout<<pd->Geta();
delete pd;
return 0;
}
运行时的输出结果是
A.1215588
B.1218855
C.12185
D.128512