ASCII内码与VB程序
行政班: 教学班: 姓名: 学号:
一、 VB中的内码转换函数 Asc(X) 字符转换为ASCII Asc(\"A\") 65 Chr(X) ASCII转换为字符 Chr(48) \"0\" 字符内码:\"A\"内码为65,\"a\"内码为97,\"0\"内码为48。这里数据都为十进制。 ①按照字母表顺序,内码依次递增,\"A\"内码为65、\"B\"内码为66、\"C\"内码为67……\"Z\"内码为90。\"a\"内码为97、\"b\"内码为98、\"c\"内码为99……\"z\"内码为122。 ②阿拉伯字符,\"0\"内码为48、\"1\"内码为49、……\"9\"内码为57。
注意:计算机里面,字符\"0\"和数值0是不一样的。
一、写出下面表达式的值 表达式 表达式值 表达式 表达式值 Asc(\"B\") 66 Asc(\"A\")-64 1 Asc(\"1\") 49 Asc(\"C\")- Asc(\"A\")+1 3 Asc(\"b\") 98 Chr(Asc(\"a\")-32) \"A\" Asc(Chr(99)) 99 Chr(Asc(\"9\")-7) \"2\" 二、阅读程序填空 显示内容不需要双引号 Dim x As String Dim x As String, y As String x = \"A\" Dim a(1 To 5) As Integer Text1.Text = Chr(Asc(x) + 3) Dim sum As Integer
x = \"ABCDE\" ①上面程序运行后,文本框显示的是__D__ 小写和大写字Text1.Text =Str(Asc(\"e\") - Asc(\"E\")) For i = 1 To Len(x) 母内码相差32 ch = Mid(x, i, 1) ②上面程序运行后,文本框显示的是__32_
Dim x As String a(Asc(ch) - 64) = Asc(ch) x = \"0\" Next i 数字字符内sum = a(1) + a(3) 码依次递增。 Text1.Text = Chr(Asc(x) + 3) Text1.Text = Str(sum) ③上面程序运行后,文本框显示的是__3_
Dim x As String, y As String ⑦程序运行后,文本框显示的内容是_132_ x = \"abc123\" Dim x As String, y As String y = Mid(x, 2, 1) Dim a(1 To 5) As Integer 小写转大写 Text1.Text = Chr(Asc(y) - 32) Dim sum As Integer
x = \"12345\" ④程序运行后,文本框显示的内容是__B_
Dim x As String, y As String For i = 1 To Len(x) a(1)=1 a(2)=2 a(3)=3 x = \"DCBA\" ch = Mid(x, i, 1) a(4)=4 a(4)=5 y = Mid(x, 4, 1) a(Asc(ch) - 48) = Asc(ch) - 48 Text1.Text = Chr(Asc(y) + 32) Next i
sum = 0 ⑤程序运行后,文本框显示的内容是_a_
Text1.Text = \"\" For i = 1 To 5
注意后来的i加For i = 49 To 53 sum = sum + a(i)
在右边 Text1.Text = Text1.Text + Chr(i) Next i Next i Text1.Text = Str(sum) ⑥程序运行后,文本框显示的内容是_12345 ⑧程序运行后,文本框显示的内容是_ 15_
1
技术选考习题 命题:杜宗飞
【加试题】小明编写统计字符串中出现最多的字母和数字的程序。程序运行如下:在文本框Text1中输入一个仅包含字母和数字的字符串。单击按钮Command1后,在标签Labe1上显示出现最多的数字字符,在标签Labe2上显示出现最多的字母字符(字母不区分大小写,例如字母G和g统计在一起)。程序运行界面如下图a所示:
背景颜色 字体和大小 字体颜色 图a 图b
(1)要修改图a中文本框的背景颜色,应该修改该对象的 BackColor (填属性名)属性。 (2)实现上述功能的VB程序如下。请在划线处填入合适代码。
For i = 2 To 10 Private Sub Command1_Click()
Dim a(1 To 10) As Integer If a(i) > k Then
查找数组a中的最大值,并将最 k = a(i) '存储0-9每个数字出现的次数
大值下标存储在maxa中。 Dim b(1 To 26) As Integer maxa = i
End If '存储a-z每个字母出现的次数
Dim zf As String, x As String Next i Dim p As Integer k = b(1) Dim maxa As Integer, maxb As Integer maxb = 1 zf = Text1.Text For i = 2 To 26
查找数组b中的最大值,并将最For i = 1 To Len(zf) If b(i) > k Then
大值下标存储在maxb中。 x = Mid(zf, i, 1) k = b(i)
maxb = i a(1)存储\"0\"的 If pd(x) = 1 Then
p = Asc(x) - Asc(\"0\") + 1 End If 个数。 Next i a(2)存储\"1\"的 a(p) = a(p) + 1
Label1.Caption=\"出现最多的数字是\" + Chr(maxa+ 47) ElseIf pd(x) = 2 Then 个数。 …… b(1)存储\"a\"和\"A\"的个数。 b(2)存储\"b\"和\"B\"的个数。 …… p = Asc(x) - Asc(\"A\") + 1 b(p) = b(p) + 1 Else
p = Asc(x) - Asc(\"a\") + 1 b(p) = b(p) + 1 End If Next i
k = a(1) maxa = 1
Label2.Caption = \"出现最多的字母是\" + Chr(maxb + 64)
End Sub
Function pd(ch As String) As Integer '函数用于判断每个字符类型 If ch >= \"0\" And ch <= \"9\" Then pd = 1
ElseIf ch >= \"A\" And ch <= \"Z\" Then pd = 2 Else
pd = 3 End If
End Function
2
技术选考习题 命题:杜宗飞
程序填空题答案: zf = Text1.Text b(p) = b(p) + 1 b(i) > k
Chr(maxa+ 47)
ch >= \"0\" And ch <= \"9\"
3
因篇幅问题不能全部显示,请点此查看更多更全内容