考点7 VB表达式与常用内部函数《Visual Basic程序设计》内蒙古(对口招生)计算机类 知识点讲解

2026-10-12
| 11页
| 2人阅读
| 0人下载
精品

内容正文:

内蒙古自治区(计算机类)对口招生 《Visual Basic程序设计》复习讲义 模块 2 VB 语言基础 考点 7 VB表达式与常用内部函数 【考纲要求】 1. 掌握VB表达式; 2. 掌握常用内部函数。 【知识网络】 【知识和技能要点】 一、运算符与表达式 1. 算术运算符与算术表达式 算术表达式由常量、变量、函数和圆括号组成,运算结果是一个数值。常用的算术运算符有乘方^、取负-、乘法*、浮点数除法/、整除\、取模 Mod 以及加法+和减法-。其中整除与取模都要求操作数为整型数据,操作数带小数时会先四舍五入为整型,然后再进行运算。例如 3^2 表示 3 的平方,10 Mod 3 的结果是 1。 2. 字符串运算符与字符串表达式 字符串表达式由字符串常量、变量、函数和运算符组成。字符串运算符有 & 和 + 两个,功能都是把两个字符串连接起来,例如把"BCDE"与"FGHI"连接,结果都是"BCDEFGHI"。由于加号同时又是算术运算符,用它连接字符串时容易与数值相加混淆,所以在连接字符串时最好使用运算符 &。 3. 关系运算符与关系表达式 关系运算符也叫比较运算符,它用来比较两个表达式的值,比较的结果是一个布尔型数据,也就是 True 或 False 两种。Visual Basic 里一共提供 6 种关系运算符:小于、大于、小于或等于、大于或等于、等于和不等于,它们既可以比较数值,也可以比较字符型数据与日期型数据。这 6 种关系运算符属于同级运算,不分先后。 4. 布尔运算符与布尔表达式 布尔运算符的作用是对两个表达式进行逻辑运算,运算的结果仍是布尔型数据,只有 True 与 False 两种可能。Visual Basic 提供三个布尔运算符:Not 表示"非",And 表示"与",Or 表示"或",其中 Not 的优先级最高。由布尔运算符把关系表达式连接起来,就构成布尔表达式,常用于判断多个条件是否同时成立。 5. 日期运算符与日期表达式 日期运算符就是算术运算符中的 + 和 -。日期属于一种特殊的数据,两个日期型数据之间只能进行加法与减法运算:两个日期型数据相减,得到的是一个表示天数的数值;把一个表示天数的数值加到日期型数据上,结果仍是日期型数据;从日期型数据中减去一个数值,结果同样还是日期型数据。 6. 表达式的运算顺序 一个表达式中可以同时出现函数和多种运算符,每种运算都有执行的先后顺序。一般的顺序为:先进行函数运算,其优先级最高;其次进行算术运算;然后进行关系运算;最后进行布尔运算。同级的运算都按从左到右的顺序依次进行;如果式子里有圆括号,括号内的运算优先进行。 二、标准函数 1. 数学函数 数学函数用来完成常见的数值计算。Abs 求绝对值;Sgn 取符号,正数得 1、负数得 -1、零得 0;Sqr 求算术平方根;Exp 求 e 的 x 次幂;Log 求自然对数;Sin、Cos、Tan、Atn 是三角函数,角度必须用弧度表示;Int 求不大于 x 的最大整数;Fix 截去小数部分;Rnd 产生随机数。要产生 [A,B] 之间的随机整数,可用公式 Int(Rnd*(B-A+1))+A。 2. 字符串的取码与类型转换函数 这一类函数用于在字符与数值之间进行转换。Asc 返回字符的 ASCII 码;Chr 由码值返回对应的字符;Str 把数值转换成字符串,若数值为正,得到的结果中会多出一个前导空格;Val 把字符串转换成数值,转换时遇到不能构成数值的字符便停止,例如 Val("12345abc") 的结果是 12345。 3. 字符串的截取、长度与大小写函数 这一类函数用于处理字符串的内容与形式。Len 返回字符串中字符的个数;Left 与 Right 分别从字符串的左右两端截取若干个字符;Mid 可以从任意位置开始截取指定个数的字符;UCase 把字母转换为大写,LCase 转换为小写;Space 产生由若干个空格组成的字符串;String 重复产生同一个字符。 4. 日期和时间函数 日期和时间函数用来取得系统当前的日期与时间,它们都不需要参数。Now 返回当前的系统日期和系统时间;Date 只返回当前的系统日期;Time 只返回当前的系统时间。这三个函数常直接写在 Print 语句后面,把结果显示在窗体上。此外,日期型常量要用一对井号括起来,例如 #12/19/2021# 就是一个日期型数据。 【真题】 2022年真题|单选题第17题 若编程时需要产生随机数,应该使用下面哪个函数( ) A. Len() B. Shell() C. Rnd() D. Val() 【答案】C 【解析】Rnd 函数用于产生随机数,其取值在 0 与 1 之间。Len 用于求字符串的长度,Shell 用于执行外部程序,Val 用于把字符串转换成数值,都不能产生随机数。 2022年真题|单选题第18题 在 Visual Basic 中函数 Len("中国aBC") 的值是( ) A. 7 B. 5 C. 9 D. 8 【答案】B 【解析】Len 函数返回字符串中字符的个数。"中国aBC"由"中""国""a""B""C"五个字符组成,因此结果为 5。 2024年真题|第19题 将数值型数据转换为字符型数据使用的函数是( ) A. Str() B. Val( C. Asc() D. Chr( 【答案】A 【解析】Str 函数把数值转换成字符串,若数值为正,得到的结果中还会多一个前导空格。Val 的功能正好相反,是把字符串转换成数值;Asc 用于取字符的 ASCII 码,Chr 用于由码值返回字符。 2025年真题|第3题 函数 Round(Rnd*10.2) 的值的范围是( ) A. 2 以内的小数 B. 2 以内的整数 C. 10 以内的整数 D. 大于 0 小于 10 的小数 【答案】C 【解析】Rnd 的取值在 0 与 1 之间,乘以 10.2 之后结果不超过 10.2,再经 Round 四舍五入取整,所得结果只能是 10 以内的整数,因此不可能是小数,也不会出现 2 以内这样与 10.2 无关的范围。 2026年真题|第15题 下列运算符中,优先级最高的是( ) A. / B. ^ C. > D. not 【答案】B 【解析】本题考查运算符的优先级。在算术运算符中乘方(^)的优先级最高,高于乘除与加减;关系运算符(>)低于算术运算符;逻辑运算符(not)在所有运算符中优先级最低。因此四个选项中优先级最高的是乘方运算符。(说明:原卷该题选项 B 缺失,此处按运算符优先级补全为 ^。) 2026年真题|第16题 将字符串"123"转换成数值 123,应该使用的函数是( ) A. Str B. Val C. Len D. Log 【答案】B 【解析】Val 函数把字符串转换成数值,遇到不能转换的字符就停止,因此 Val("123") 的结果是数值 123。Str 的功能正好相反,是把数值转换成字符串;Len 用于求长度,Log 用于求自然对数。 2026年真题|第17题 表达式 2026+ "Y" 的值是( ) A. 2026 B. 2026Y C. 2026+Y D. 是非法表达式 【答案】D 【解析】加号既可用作数值相加,也可用作字符串连接,但它要求两个操作数属于同一类:或者都是数值,或者都是字符串。此处左侧是数值 2026,右侧是无法转换成数值的字符串"Y",类型不匹配,该表达式不成立。若要连接这两项,应改用字符串运算符 &。 2026年真题|第18题 在 Visual Basic 中,产生空格字符的函数是( ) A. Sheet() B. Day() C. Space() D. Mid() 【答案】C 【解析】Space 函数用来产生由若干个空格组成的字符串,例如 Space(5) 得到 5 个空格。Day 函数用于取出日期中的"日";Mid 用于从字符串中截取字符;Sheet 不是 Visual Basic 的函数。 2023年真题|第124题 (x+y)×3-10-(5m - 2n)表达式有错误,其正确形式是________。 【答案】(x + y) * 3 - 10 - (5 * m - 2 * n) 【解析】原式把乘号写成了常用的数学符号,还省略了数字与字母之间的乘号,在 Visual Basic 中都无法识别。正确的写法应当把乘方、乘除一律写成 *,数字与字母相乘时也要把乘号补上,因此应改为 (x + y) * 3 - 10 - (5 * m - 2 * n)。 2024年真题|第127题 算术运算符中"/" "Mod" "^"中,优先级最低的是________。 【答案】Mod 【解析】算术运算符的优先级由高到低依次为乘方 ^、取负 -、乘法与浮点数除法、整数除法 \、取模 Mod、加法与减法 + 和 -。在给定的三个运算符中,乘方最高,浮点数除法次之,取模最低,因此填 Mod。 2025年真题|第125题 使用 RGB 函数生成绿色时,三个参数值分别是________、________和________。 【答案】0;255;0 【解析】RGB 函数的三个参数依次代表红、绿、蓝三种基本色的亮度,取值范围都是 0 到 255。绿色对应的取值是红色 0、绿色 255、蓝色 0,因此三个参数依次为 0、255、0。 2023年真题|第134题 在窗体上有三个文本框 Text1、Text2、Text3,下列程序的功能是在第一个文本框中输入英文字母时,在第二个文本框中显示对应的大写字母,在第三个文本框中显示对应的小写字母。请补充代码完成程序。 Private Sub Text1_Change() Text2.Text = [24]________(Text1.Text) Text3.Text = [25]________(Text1.Text) End Sub 【答案】[24] UCase;[25] LCase 【解析】文本框的内容改变时触发 Change 事件。要把 Text1 中的字母转换为大写后显示到 Text2,应使用把字符串转为大写的函数 UCase,故 [24] 处填 UCase;要把字母转换为小写后显示到 Text3,应使用把字符串转为小写的函数 LCase,故 [25] 处填 LCase。 2024年真题|第135题 在窗体上有两个文本框 Text1 和 Text2、一个命令按钮 Command1。程序运行后,在两个文本框中分别输入字符串,然后单击按钮 Command1,则可以删除文本框 Text1 中包含于 Text2 的字符串。程序如下,请补充完善程序。 Private Sub Command1_Click() Dim x As String, y As String x = Text1.Text y = Text2.Text Call [16]________(x, y) Text1.Text = x End Sub Sub DelStr(s1 As [17]________, s2 As [18]________) Dim i As Integer Do i = InStr(s1, s2) If i = [19]________ Then Exit Do s1 = Left(s1, i - 1) + Right(s1, Len(s1) - Len(s2) - i + 1) Loop End Sub 【答案】[16] DelStr;[17] String;[18] String;[19] 0 【解析】主过程中要把两个字符串交给通用过程处理,过程名为 DelStr,故 [16] 处填 DelStr。过程中的两个形式参数都是字符串,字符串型的关键字是 String,故 [17]、[18] 两处都填 String。InStr 函数返回第二个字符串在第一个字符串中首次出现的位置,若返回值等于 0,说明没有找到,此时应当结束循环,故 [19] 处填 0。 【练习题】 一、填空题 1. 求 x 的绝对值的函数是________,求不大于 x 的最大整数的函数是________。 【答案】Abs;Int 【解析】Abs 函数用于求一个数的绝对值,例如 Abs(-7) 的结果是 7;Int 函数用于求不大于 x 的最大整数,它的取整方向是向数轴上较小的那一侧,例如 Int(6.9) 得 6,Int(-6.9) 得 -7。 2. 把数值转换成字符串的函数是________,把字符串转换成数值的函数是________。 【答案】Str;Val 【解析】Str 函数把数值转换成字符串,若数值为正,得到的结果中还会多出一个前导空格;Val 函数把字符串转换成数值,转换时遇到不能构成数值的字符便停止,例如 Val("12345abc") 的结果是 12345。 3. 求字符串长度的函数是________。 【答案】Len 【解析】Len 函数返回字符串中字符的个数,例如 Len("1234ab") 的结果是 6。需要注意它统计的是字符数而不是字节数,因此一个汉字同样只计作一个字符。 4. 若要从字符串的第 2 个字符开始连续取出 3 个字符,应使用的函数是________。 【答案】Mid 【解析】Mid 函数可以从字符串的任意位置开始截取指定个数的字符,格式为 Mid(字符串, 起始位置, 个数)。若只从左右两端取字符,则应分别使用 Left 与 Right 函数。 5. 产生 A 和 B 之间(含 A、B,且 A≤B)随机整数的公式是________。 【答案】Int(Rnd*(B-A+1))+A 【解析】Rnd 函数产生的是 0 与 1 之间的随机数。要得到 [A,B] 区间内的随机整数,先用 Rnd*(B-A+1) 把范围放大,再用 Int 向下取整,最后加上下界 A,即 Int(Rnd*(B-A+1))+A。 6. Visual Basic 中的字符串运算符有________和________两个;由于其中一个同时是算术运算符,连接字符串时建议使用________。 【答案】&;+;& 【解析】字符串运算符有 & 和 + 两个,功能都是把两个字符串连接起来。由于加号同时又是算术运算符,用它连接字符串时容易与数值相加相混淆,因此连接字符串时建议使用运算符 &。 二、单项选择题 1. 函数 Abs(-7) 的值是( ) A. -7 B. 0 C. 7 D. 1 【答案】C 【解析】Abs 函数用于求一个数的绝对值。绝对值表示该数在数轴上与原点之间的距离,恒为非负数,因此 Abs(-7) 的结果是 7。 2. 函数 Sgn(-18) 的值是( ) A. 1 B. -1 C. 0 D. 18 【答案】B 【解析】Sgn 函数用来取一个数的符号:参数为正数时结果为 1,参数为负数时结果为 -1,参数为零时结果为 0。参数 -18 是负数,因此结果是 -1。 3. 函数 Int(-6.9) 的值是( ) A. -6 B. 6 C. 7 D. -7 【答案】D 【解析】Int 函数求不大于 x 的最大整数,取整方向朝向数轴上较小的那一侧。-6.9 在数轴上位于 -7 与 -6 之间,不大于它的最大整数是 -7,因此结果是 -7。 4. 函数 Fix(-6.9) 的值是( ) A. -6 B. -7 C. 6 D. 7 【答案】A 【解析】Fix 函数的作用是截去小数部分,只保留整数部分,并不考虑取整方向。对 -6.9 而言,截去小数部分后剩下 -6,因此结果是 -6,这与 Int 函数的处理结果不同。 5. 函数 Len("1234ab") 的值是( ) A. 4 B. 5 C. 6 D. 7 【答案】C 【解析】Len 函数返回字符串中字符的个数。"1234ab"由 1、2、3、4、a、b 共 6 个字符组成,因此结果是 6。它统计的是字符数而不是字节数。 6. 函数 Left("BASIC",3) 的值是( ) A. "BAS" B. "SIC" C. "ASI" D. "BASIC" 【答案】A 【解析】Left 函数从字符串的左端开始截取指定个数的字符。对 "BASIC" 取左侧 3 个字符,得到 "BAS"。若要从右端截取 3 个字符则应使用 Right 函数,结果为 "SIC"。 7. 函数 Mid("BASIC",2,3) 的值是( ) A. "ASI" B. "BAS" C. "SIC" D. "AS" 【答案】A 【解析】Mid 函数的格式为 Mid(字符串, 起始位置, 个数),表示从第几个字符开始连续取若干个字符。"BASIC" 从第 2 个字符 A 开始取 3 个,得到 "ASI"。 8. 函数 UCase("basic") 的值是( ) A. "basic" B. "Basic" C. "bASIC" D. "BASIC" 【答案】D 【解析】UCase 函数把字符串中的小写字母全部转换为大写字母,其余字符保持不变,因此 UCase("basic") 的结果是 "BASIC"。把大写转换为小写则使用 LCase 函数。 9. 函数 Len(Space(5)) 的值是( ) A. 0 B. 1 C. 5 D. 25 【答案】C 【解析】Space 函数用来产生由若干个空格组成的字符串,Space(5) 得到的是 5 个空格。空格也是字符,因此再求它的长度,Len 函数返回的结果就是 5。 10. 表达式 10 Mod 3 的值是( ) A. 0 B. 1 C. 3 D. 3.33 【答案】B 【解析】Mod 是取模运算符,用来求两个数相除所得的余数。10 除以 3 商 3 余 1,因此结果取余数 1。若要得到相除的商,应使用整除运算符 \ 或浮点数除法运算符 /。 11. 用来对两个表达式的值进行比较、结果为布尔型数据的运算符是( ) A. 算术运算符 B. 字符串运算符 C. 日期运算符 D. 关系运算符 【答案】D 【解析】关系运算符也叫比较运算符,用来比较两个表达式的值,比较的结果是布尔型数据,即 True 或 False。算术运算符的结果是数值,字符串运算符的结果是字符串,日期运算符用于日期型数据的加减。 12. 一个表达式中若含多种运算,其运算顺序一般是( ) A. 关系运算→算术运算→布尔运算 B. 函数运算→算术运算→关系运算→布尔运算 C. 布尔运算→关系运算→算术运算 D. 算术运算→函数运算→关系运算 【答案】B 【解析】含多种运算的表达式按固定的先后顺序求值:函数运算优先级最高,其次为算术运算,然后是关系运算,最后进行布尔运算。同级运算按从左到右的顺序进行,有圆括号时先算括号内的部分。 三、程序填空题 1. 下列程序把文本框中输入的字符串转换为大写字母后显示在标签上,并求出该字符串的长度。请补充完整下列程序代码。 Private Sub Command1_Click() Label1.Caption = [1]________(Text1.Text) Label2.Caption = [2]________(Text1.Text) End Sub 【答案】[1] UCase;[2] Len 【解析】要把文本框中输入的小写字母全部转换成大写字母,应使用 UCase 函数,故 [1] 处填 UCase。要得到字符串中字符的个数,应使用 Len 函数,故 [2] 处填 Len。这两个函数都把文本框的 Text 属性作为参数。 2. 下列程序用随机函数产生 10 个 [10,30] 之间的随机整数并输出,随后从字符串中截取一段文字。请补充完整下列程序代码。 Private Sub Command1_Click() Dim i As Integer, s As String Randomize For i = 1 To 10 Print Int(Rnd [1]________ (30 - 10 + 1)) + [2]________ Next i s = [3]________("Visual Basic", 1, 6) Print s End Sub 【答案】[1] *;[2] 10;[3] Mid 【解析】Rnd 产生的是 0 到 1 之间的随机数,要把它放大到 [10,30] 的范围,需先乘以区间长度 30-10+1,故 [1] 处填乘号 *;取整之后再补上下界 10,故 [2] 处填 10。要从字符串中指定位置截取指定个数的字符,应使用 Mid 函数,故 [3] 处填 Mid。 原创精品资源学科网独家享有版权,侵权必究 学科网(北京)股份有限公司 $

资源预览图

考点7 VB表达式与常用内部函数《Visual Basic程序设计》内蒙古(对口招生)计算机类 知识点讲解
1
考点7 VB表达式与常用内部函数《Visual Basic程序设计》内蒙古(对口招生)计算机类 知识点讲解
2
考点7 VB表达式与常用内部函数《Visual Basic程序设计》内蒙古(对口招生)计算机类 知识点讲解
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。