设在当前目录下有一个名为"file.txt"的文本文件,其中有若干行文本。编写如下程序: Private Sub Command1_Click()   Dim ch$, ascii As Integer   Open "file.txt" For Inpu

admin2020-06-30  25

问题 设在当前目录下有一个名为"file.txt"的文本文件,其中有若干行文本。编写如下程序:
Private Sub Command1_Click()
  Dim ch$, ascii As Integer
  Open "file.txt" For Input As #1
  While Not EOF(1)
    Line Input #1, ch
    ascii=toascii(ch)
    Print ascii
  Wend
  Close #1
End Sub
Private Function toascii(mystr As String)As Integer
  n=0
  For k=1 To Len(mystr)
    n=n+Asc(Mid(mystr, k, 1))
  Next k
  toascii=n
End Function
程序的功能是(  )。

选项 A、按行计算文件中每行字符的ASCII码之和,并显示在窗体上
B、计算文件中所有字符的ASCII码之和,并显示在窗体上
C、把文件中所有文本行按行显示在窗体上
D、在窗体上显示文件中所有字符的ASCII码值

答案A

解析 过程toascii的功能是依次取出传入字符串中的每个字符,用Asc函数将这个字符转换为相应的ASCII码值,通过For循环将这些值累加。累加值由过程名返回。Click事件中以顺序输入方式打开file.txt文件,即以读取方式打开文件。While循环的结束条件是到达文件尾部,在循环体中,Line Input #语句读取文件中的一行数据存入变量ch中,然后以ch为参数调用过程toascii,即计算这一行字符中所有字符的ASCII码值的和,返回值赋给变量ascii,在窗体上输出ascii的值。所以While循环结束时,将在窗体上显示输出file.txt中每一行数据的ASCII码值的和。因此答案为A。
转载请注明原文地址:https://kaotiyun.com/show/f2Hp777K
0

最新回复(0)