计算机二级

下列程序的执行结果为 Private Sub Command1_Click() Dim s1 As String,s2 As String S1;="abcdef" Call Invert(s1,s2) Print s2 End Sub Private Sub Invert (ByVal xstr As String,ystr As String) Dim tempstr As String i=Len(xstr) Do While i>=1 tempstr=tempstr+Mid(xstr,i,1) i

题目

下列程序的执行结果为 Private Sub Command1_Click() Dim s1 As String,s2 As String S1;="abcdef" Call Invert(s1,s2) Print s2 End Sub Private Sub Invert (ByVal xstr As String,ystr As String) Dim tempstr As String i=Len(xstr) Do While i>=1 tempstr=tempstr+Mid(xstr,i,1) i=i-1 Loop ystr=tempstr End Sub

A.fedcba

B.abcdef

C.afbecd

D.defabc

参考答案和解析
正确答案:A
解析:被调过程Invert的参数xstr,ystr从主调函数中收到实参s1,s2传来的值“abcdef”,过程Invert开始声明了两个变量,都是String型的:xstr,ystr。I=Len(xstr)以上语句的功能是:i的值就是xstr的长度,此题为6。程序代码执行DoWhile…Loop的循环语句。循环体为tempstr=tempstr+Mid(xstr,i,1),其中变量是I,由I=Len(xstr)开始的,每循环一次减1,……;此程序段的最后输出的是字符串s1的反向输出,所以正确答案是选项C.
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

(31)设有如下通用过程:

Public Function Fun(xStr As String)As String

Dim tStr As String, strL As Integer

tStr=""

strL=Len(xStr)

i=1

i=i+1

Loop

Fun=tStr

End Function

在窗体上画一个名称为 Command1 的命令按钮。然后编写如下的事件过程:

Private Sub Command1_Click( )

Dim S1 As String

S1="abcdef"

Print UCase(Fun(S1))

End Sub

程序运行后,单击命令按钮,输出结果是( )。

A)ABCDEF

B)abcdef

C)AFBECD

D)DEFABC


正确答案:C

(31)【答案】C)
【解析】此题主要考核Mid函数,UCase函数。Mid用于返回文本字符串中从指定位置开始的特定数目的字符,其格式为:Mid(text,start_num mum_chars).其中Test包含要提取字符的文本字符串。Start_num则表示文本是要提取的第一个字符的位置。Num_chars)指定希望Mid从文本中返回字符的个数。UCase函数则将小字母转换成大字母。

第2题:

下列程序的执行结果为 Private Sub Command1_Click Dim FirStr As String FirSt="abcdef" Print Pat(FirStr. End Sub Private Function Pat(xStr As String.As String Dim tempStr As String, strLen As Integer tempStr="" strLen=Len(xStr. i=1 Do While i<=Len(xStr.-3 tempStr=tempStr+Mid(xStr, i, 1)+Mid(xStr, strLen -i+1, 1) i=i+1 Loop Pat=tempStr End Function

A.abcdef

B.afbecd

C.fedcba

D.defabc


正确答案:B

第3题:

下列程序的执行结果为

Private Sub Command1_Click()

Dim s1 As String, s2 As String

s1= "abcd"

Call Transfer(s1, s2)

Print s2

End Sub

Private Sub Transfer (ByVal xstr As String, ystr As String)

Dim tempstr As String

i=Len(xstr)

Do While i >=1

tempstr=tempstr + Mid(xstr, i, 1)

i=i - 1

Loop

ystr=te mpstr

End Sub( )。

A.dcba

B.abdc

C.abcd

D.dabc


正确答案:A

第4题:

下列程序段: String s1=new String("How"); String s2=new String("How"); System.out.println(!(s1==s2)); 的结果为

A.false

B.true

C.1

D.0


正确答案:B

第5题:

假定有以下函数过程: Function Fun(S As String) As String Dim s1 As String For i=1 To Len(S) s1 = UCase(Mid(S, i, 1)) +s1 Next i Fun =s1 End Function 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim Str1 As String, Str2 As String Strl = InputBox(“请输入一个字符串”) Str2=Fun(Str1) Print Str2 End Sub 程序运行后,单击命令按钮,如果在输入对话框中输入字符串“abcdefg”,则单击“确定” 按钮后在窗体上的输出结果为,

A.abcdefg

B.ABCDEFG

C.gfedcba

D.GFEDCBA


正确答案:D
解析:本题主要考查对函数过程的调用,但关键点在于正确理解s1=UCase(Mid(S,i,1))+s1所表达的字符串相加顺序。当输入“abcde龟”后,首先通过Fori循环语句,逐一将该字符串中的字符按照从右往左的顺序变为大写字母后相加,最终结果为Str2="GFEDCBA",故选择D项。做本题时,很容易选B,应加以注意。

第6题:

在窗体上画一个命令按钮和两个文本框,其名称分别为Command1、Text1和Text2,然后编写如下程序: Dim S1 As String,S2 As String Private Sub Form_Load() Text1.Text="" Text2.Text="" End Sub Private Sub Text1_KeyDown(KeyCode As Integer,Shift As Integer) S2=S2 & Chr(Keycode) End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) S1=S1 & Chr(KeyAscii) End Sub Private Sub Command1_Click() Text1.Text=S2 Text2.Text=S1 S1="" S2="" End Sub 程序运行后,在Text1中输入“abc”,然后单击命令按钮,在文本框Text1和Text2中显示的内容分别为______。

A.abc和ABC

B.abc和abe

C.ABC和abc

D.ABC和ABC


正确答案:C
解析:KeyPress事件是处理用户按键的事件过程,当用户按键时激发该事件。KeyDown事件也是在用户按下按键时发生。但是KeyDown事件过程的KeyCode参数与KeyPress事件的KeyAscii参数不同。对于KeyPress事件的KeyAscii参数来说,小写状态下按A键返回97,而对于KeyDown事件过程的KeyCode参数来说返回65,由此可判断选项C为正确答案。

第7题:

在窗体中添加一个名称为Command1的命令按钮,然后编写如下程序: Public x As Integer Private Sub Command1_Click() x=10 Call s1 Call s2 MSgBox x End Sub Private Sub s1() x=x+20 End Sub Private Sub s2() Dim x As Integer x=X+20 End Sub 窗体打开运行后,单击命令按钮,则消息框的输出结果为______。

A.10

B.30

C.40

D.50


正确答案:B
解析:本题使用Call关键字调用子过程s1,s2。x=10在调用子过程s1后,x=30,但由于在s1中直接使用变量,所以该值的作用范围是局部的,即只限于s1子过程中,没有传回。在调用s2时,由于s2使用Dim...As关键字定义x,所以其值是模块范围的。故在消息框中输出的值,是从子过程s2传回的值。

第8题:

单击窗体时,下列程序的执行结果是

Private Sub Invert(ByVal xstr As String, ystr As String)

Dim tempstr As String

Dim I As Integer

I=Len(xstr)

Do While I >=1

tempstr=tempstr + Mid(xstr, I, 1)

I=I - 1

Loop

ystr=tempstr

End Sub

Private Sub Form_Click()

Dim s1 As String, s2 As String

s1= "abcdef"

Invert s1, s2

Print s2

End Sub( )。

A.abcdef

B.afbecd

C.fedcba

D.defabc


正确答案:C

第9题:

下列程序是将两个文本框(text1和text2)的内容进行组合,组合后的结果在图片框(Pic1)显示出来。 Private Sub Command1_Click() Dim sl As String,s2 As String S1=Text1.Text S2=TextText For i=Len(s1)To 1 Step-1 s3=s3+Mid(s1,i,1)+Mid(s2,i,1) Next i Pic1.Print s3 End Sub 程序运行后,在Text1文本框中输入“ABCDE”,在Text2文本框中输入“12345”,单击命令按钮,则在Pic1图片框中显示的内容是

A.E5D4C3B2A1

B.ABCDE12345

C.12345ABCDE

D.A1B2C3D4E5


正确答案:A
解析:Len()函数是计算字符串的长度,用“ABCDE”的长度来确定循环次数。两个Mid函数从右至左逐个取两个字符串中的单个字符,然后重新进行组合。

第10题:

下列程序的执行结果是______。 public class Test9 { public static void main(String[] args) { String s1 = new String("I am a girl"); String s2 = new String("I am a girl"); System.out.println (s1.equal (s2)); } }

A.true

B.假

C.I amgirl

D.都不正确


正确答案:A
解析:如果需要比较两个对象的值是否相同,则可以调用equal()方法,如果被比较的两个对象相等,则返回true,否则返回false。

更多相关问题