第2节 常用函数及基本运算
考试内容 考试要求
常用的标准函数 c
算术、关系、逻辑三类基本运算 c
VB表达式 c
一、VB中的常用标准函数
函数名 函数的功能 应用举例 函数返回值
Abs(X) 求X的绝对值 Abs(-2.5) 2.5
Int(X) 求不大于X的最大整数 Int(-5.1) -6
Sqr(X) 求X的算术平方根 Sqr(4) 2
Asc(X) 字符转换为ASCII Asc(“A”) 65
Chr(X) ASCII转换为字符 Chr(48) “0”
Val(X) 数字字串转换为数字 Val(“-170”) -170
Str(X) 数值转化成字符串 Str(-170) “-170”
Len(X) 计算字符串的长度 Len(“中国A+B”) 5
Mid(X,n,k) 取字符串X中第n个字符起长度为k的子串 Mid(“Zhejiang”, 3,2) “ej”
Fix(X) 截取数据的整数部分 Fix(2.56) 2
二、算术、关系、逻辑三类基本运算及表达式
1.算术运算表
基本运算 运算符 优先级 表达式 表达式的值
乘幂 ^ 1 16^0.5 4
取负 - 2 -5 -5
乘法 * 3 3*2.5 7.5
实数除法 / 3 5/2 2.5
整数除法 \ 4 5\2 2
求余数 Mod 5 8 Mod 5 3
加法 + 6 5+4 9
减法 - 6 5-4 1
注意:数值加法:1+2=3,字符加法:“1”+“2”=“12”,字符串拼接运算符&:1 & 2=“12”。
2.关系运算表
基本运算 运算符 优先级 表达式 表达式的值
相等 = 7 5 Mod 2 = 0 False
不相等 < > 7 “com”< >“cod” True
小于 < 7 2018<2020 True
大于 > 7 2020>2019 False
小于等于 <= 7 99<=100 True
大于等于 >= 7 11>=21 False
注意:等号“=”在VB中有两种含义:赋值和判断相等。
3.逻辑运算表
基本运算 运算符 优先级 表达式 表达式的值
非 Not 8 Not(123>100) False
与 And 9 (-10>=-12) And (20<=100) True
或 Or 10 (120<110) Or (123<20) False
注意:Not逻辑取反,True变False, False变True。And与运算,只有两边同时成立,其值才为True。Or或运算,只有两边同时不成立,其值才为False。
4.VB表达式
VB中没有中括号与大括号,只有小括号,乘号不能省略,乘号不能写成×。除法运算中分子分母需加括号:
例如:
正确书写:(-b+sqr(b^2-4*a*c))/(2*a)或 (-b+sqr(b*b-4*a*c))/(2*a)
一、VB中的常用标准函数
【典例1】 下列VB表达式的值等于2020的是( )
A.Val(“2018”) + 2 B.Len(“2018”) + 2
C.Sqr(2018) + 2 D.Str(2018) + “2”
解析 本题主要考查基本函数的计算。字符串相加是将两个字符串相连接,D:Str(2018) + “2”=“20182”。A:Val(“2018”) + 2=为2020,C:Len(“2018”) + 2=6,C:Sqr(2018) + 2的值约为46.9。
答案 A
【变式训练1】 下列VB表达式的值不等于6的是( )
A.Sqr(36) B.Abs(-5)+1
C.Len(“2018”)+2 D.Int(5.9)
解析 本题主要考查基本函数的计算。A:Sqr(36)=6。B:abs(-5)+1=5+1=6。C:Len(“2018”)+2=4+2=6。D:Int(5.9)=5。所以答案选D。
答案 D
【变式训练2】 下列VB函数值为字符串的是( )
A.Val(X) B.Len(X)
C.Sqr(X) D.Mid(X,n,k)
解析 本题主要考查基本函数的计算结果的数据类型。val()函数是数字字串转换为数字,返回值是数值类型。Len()是计算字符串的长度,返回值是整型。Sqr()求算术平方根,返回值是数值类型。Mid(X,n,k)是在字符串X中的第n位开始取,取长度为k的字符串,返回值是字符串。
答案 D
【变式训练3】 已知a=“330903”,VB表达式Val(Mid(a,3,2))的值是( )
A.0 B.3
C.9 D.90
解析 本题主要考查基本函数的计算。Mid(X,n,k)是在字符串X中的第n位开始取,取长度为k的字符串。Mid(a,3,2)即Mid(“330903”,3,2=“09”,Val(“09”)=9。
答案 C
【方法总结】 掌握并熟练使用VB常见的标准函数。
二、算术、关系、逻辑三类基本运算及表达式
【典例2】 下列运算结果中,值最大的是( )
A.157\6 B.157/6
C.157 mod 6 D.6 mod 157
解析 本题主要考查VB算术。A.157\6=26 B.157/6≈26.17 C.157 mod 6=1 D.6 mod 157=6。
答案 B
【变式训练1】 如果X=4,Y=6,那么以下运算结果为True的表达式是( )
A.(X<=4)And (Y>6)
B.(X<4) Or (Y>6)
C.Not (X>=4) And (X>=6)
D.Not (X+Y< >10)
解析 本题主要考查VB逻辑运算。And与运算,只有两边同时成立,其值才为True;Or或运算,只要一边成立,其值就是True。
答案 D
【变式训练2】 将数学表达式写成Visual Basic表达式,正确的是( )
A.Int(Abs(ab-c*c))
B.Sqr(Abs(ab-c*2))
C.Int(Abs(a*b-c*c))
D.Sqr(Abs(a*b-c*c))
解析 本题主要考查VB表达式的书写。在VB表达式中,注意乘号不能省略,也不能写成“×”,要写成“*”。
答案 D
【典例3】 有如下VB程序段:
x=Val(Text1.Text)
a=x Mod 100
b=x\10 Mod 1000
Label1.Caption=Str(a)
Label2.Caption=Str(b)
程序执行后,在文本框Text1中输入123456,则在标签Label1上显示的内容为__________,在标签Label2上显示的内容为__________。
解析 本题主要考查的是Mod、\运算。a=x Mod 100=56,b=x\10 Mod 1000=12345 Mod 1000=345。
答案 56 345
【方法总结】 注意区分“/”和“\”。在书写VB表达式时,注意乘号不能省略,也不能写成“×”和“·”要写成“*”,特别要注意区分VB表达式和数学表达式的区别。
1.VB表达式8+5 Mod 5 \ 2的值为( )
A.9 B.8
C.5 D.4
解析 本题主要考查VB算术。先计算整除,再计算Mod,最后算加法。
答案 A
2.在VB中,若x表示能被5整除的正整数,则下列表达式的值一定为真的是( )
A.x / 5 = 0 B.x Mod 5 = 0
C.Int(x \ 5) = 0 D.5 Mod x = 0
解析 本题主要考查VB算术运算和关系运算。x表示能被5整除的正整数,则x Mod 5肯定等于0。
答案 B
3.在VB中,如果a=1,b=3,c=-3,那么下列表达式值为假的是( )
A.(a>b) And (b>c) B.(a>c) And (b>a)
C.(a>b) Or (b>c) D.(a>c) Or (b>a)
解析 本题主要考查VB逻辑运算。And与运算,只有两边同时成立,其值才为True。A选项(a>b) And (b>c)中a>b不成立,所以其值为False。
答案 A
4.将数学表达式写成VB表达式,正确的是( )
A.a-Abs(b)/Sqr(2a)
B.(a-Abs(b))/Sqr(2a)
C.a-Abs(b)/Sqr(2*a))
D.(a-Abs(b))/Sqr(2*a)
解析 本题主要考查VB表达式的书写。
答案 D
5.有如下Visual Basic程序段:
a = “520”
b = “welcome 2020”
Label1.Caption= Mid(b, 8, 4) +a
该程序段运行后,标签Label上显示的内容为________。
解析 本题主要考查的是Len函数和Mid函数。Mid(b, 7, 4)=“2020”, “2020” + “520” =“2020520”,即在标签Label1上显示的内容为2020520,注意对象上显示内容不加引号。
答案 2020520
基础巩固
1.VB表达式填空。
(1)文本框Text1中输入字符串,将其字符串长度存储在整数变量n中____________。
(2)取出字符串变量s中的前k个字符,并存储在字符串变量ch中____________。
(3)取出字符串变量s中的最后k个字符,并存储在字符串变量ch中______________。
(4)已知i < Len(s)\ 2,取出字符串变量s中与第i个字符对称的字符(例如i=2,则与之对称的是倒数第2个字符),并存储在字符串变量ch中______________。
(5)已知字符串变量x其值为某个小写字母,将其转换为大写字母并存储在字符串变量ch中______________。
(6)已知字符串变量x其值为某个大写字母,将其转换为小写字母并存储在字符串变量ch中 ______________。
(7)已知Double变量x其值为带有小数部分(例如x=3.5467),将其值四舍五入保留整数后存储在变量y中______________。
(8)产生随机数,范围为[0,10)的实数,并存储在Double类型变量x中______________。
(9)产生随机数,范围为[0,10)的整数,并存储在Integer类型变量x中 ______________。
(10)产生随机数,范围为[5,16)的整数,并存储在Integer类型变量x中__________________。
(11)产生随机数,范围为[5,16]的整数,并存储在Integer类型变量x中______________。
解析 本题主要考查基本函数的计算。(1)Text1中的内容可以表示为Text1.Text,len(Text1.Text)表示文本框Text1中字符串的长度。(2)取出字符串变量s中的前k个字符即从字符串s中的第一个字符开始取,取长度为k的字符,即Mid(s,1,k)。(3)取出字符串变量s中的最后k个字符即是从第Len(s)-k+1字符开始取,取k个字符,即Mid(s,Len(s)-k+1,k)。(4)字符串变量s中与第i个字符对称的字符即倒数第i个字符,即是从第Len(s)-i+1字符开始取,取1个字符,即Mid(s,Len(s)-i+1,1)。(5)小写字符比相对应的大写字符的ASCII码多32(十进制数),将小写字符转换成相对应的大写字符的VB语句是Chr(Asc(x)-32)。(6)大写字符比相对应的小写字符的ASCII码少32(十进制数),将大写字符转换成相对应的小写字符的VB语句是Chr(Asc(x)+32)。(7)3.5467≈4,3.4467≈3,四舍五入保留整数部分的VB语句是Int(x+0.5)。(8)Rnd*10的取值范围是[0,10)的实数。(9)Int( Rnd*10 )的取值范围是[0,10)的整数。(10)Int( Rnd*11 )的取值范围是[0,11)的整数,Int( Rnd*11+5 )的取值范围是[5,16)的整数。(11)Int( Rnd*12 )的取值范围是[0,11]的整数,Int( Rnd*12+5 ) 的取值范围是[5,16]的整数。
答案 (1)n=Len(Text1.Text) (2)ch=Mid(s,1,k)
(3)ch=Mid(s,Len(s)-k+1,k) (4)ch=Mid(s,Len(s)-i+1,1) (5)ch=Chr(Asc(x)-32)
(6)ch=Chr(Asc(x)+32) (7)y=Int(x+0.5) (8) x=Rnd*10 (9)x=Int( Rnd*10 )
(10)x=Int( Rnd*11+5 ) (11)x=Int( Rnd*12+5)
2.表达式Int(2*Sqr(36) +0.5)/3的值是( )
A.1 B.2
C.3 D.4
解析 本题主要考查基本函数的计算。Int(2*sqr(36) +0.5)/3=Int(2*6+0.5)/3=Int(12.5)/3=12/3=4。
答案 D
3.表达式5^2 Mod 25 \ 2^2的值是( )
A.1 B.0
C.6 D.4
解析 本题主要考查运算符的优先级。5^2 Mod 25 \ 2^2=25 Mod 25 \ 4=25 Mod 6=1。
答案 A
4.已知字符“A”的ASCII码为65,表达式Asc(“D”)+Abs(-5)的值( )
A.60 B.65
C.73 D.75
解析 本题主要考查基本函数的计算。Asc(“D”)+Abs(-5)=68+5=73。
答案 C
5.已知字符“A”的ASCII码为65,表达式Chr(Asc(“A”)+3)的值( )
A.“B” B.“C”
C.“D” D.“E”
解析 本题主要考查基本函数的计算。Chr(Asc(“A”)+3)=Chr(65+3)=“D”。
答案 C
能力提升
6.在下面各关系中,当X取任意数值时都能成立的式子是( )
A.Int(X) >=Abs(X) B.Int(X) = Abs(X)
C.Int(X) <=Abs(X) D.Int(X) < > Abs(X)
解析 本题主要考查基本函数的计算。Int(X)用于求不大于X的最大整数,Abs(X)用于求X的绝对值。本题可采用特殊值带入法,Int(6.5)=6,Abs(6.5)=6.5,故排除AB。Int(6)=6,Abs(6)=6,故排除D。
答案 C
7.已知x是一个五位数整数,下面语句中能得到其千位上的数字的是( )
A.x/1000 B.x\1000
C.x\1000 mod 10 D.x mod 10000 \1000
解析 本题考查算术运算符。可以采用特殊值法,A: 令x=12345,12345/1000=12.345,故A错。B: 12345\1000=12,故B错。C: 12345\1000=12,12 mod 10=2,为千位上的数字。D: 10000\1000=10,12345 mod 10=5,是个位上的数字。所以答案选C。
答案 C
8.已知a=1,b=2,c=3,则下列表达式结果一定为真的是( )
A.(a>b)And(bB.not(b>c)And Not(c>a)
C.(a<=b)And(b-ac)
D.(a+b=c)And Not(a解析 本题主要考查VB逻辑运算。And与运算,只有两边同时成立,其值才为True;Or或运算,只要有一边成立,其值就是True。A.a>b不成立;B.Not(c>a)不成立;C.(a<=b)And(b-a答案 C
9.数学表达式 “2n-1>0且2n-1≠1”对应的Visual Basic表达式是( )
A. 2·n - 1 > 0 And 2·n - 1 < > 1
B.2 * n > 1 And Not (2 * n - 1 = 1)
C.2n - 1 > 0 And 2n - 1 ≠ 1
D.2 * n - 1 > 0 And 2n - 1 < > 1
解析 A:在VB语句中,乘号用“*”来表示,不能用“·”,也不能省略。C:在VB语句中,不等于号用“< >”来表示。D:在VB语句中,乘号用“*”来表示,不能用“·”,也不能省略。
答案 B
10.VB中,程序段“a=16:b=5:a=a*b:b=a\b:a=a\b”运行后,a和b的值分别是( )
A.16,5 B.5,16
C.80,16 D.5,80
解析 a=16 b=5 a=a*b=90 b=a\b=16 a=a\b=5。
答案 B
11.有如下VB程序段:
Private Sub Command1_Click()
Dim x As Integer, y As Integer, t As Integer
x = 3: y = 5
t = x+y
x = t-x
y = y-x
t = x ^ 2
Text1.Text = Str(t)
End Sub
该程序段运行后,标签Label1上显示的内容是____________。
解析 本题主要考查赋值语句。x = 3: y = 5;t = x+y=8;x = t-x=5;y = y-x=0;t = x ^ 2=25。
答案 25
(共17张PPT)
第2节 常用函数及基本运算
考试内容 考试要求
常用的标准函数 c
算术、关系、逻辑三类基本运算 c
VB表达式 c
一、VB中的常用标准函数
函数名 函数的功能 应用举例 函数返回值
Abs(X) 求X的绝对值 Abs(-2.5) 2.5
Int(X) 求不大于X的最大整数 Int(-5.1) -6
Sqr(X) 求X的算术平方根 Sqr(4) 2
Asc(X) 字符转换为ASCII Asc(“A”) 65
Chr(X) ASCII转换为字符 Chr(48) “0”
Val(X) 数字字串转换为数字 Val(“-170”) -170
Str(X) 数值转化成字符串 Str(-170) “-170”
Len(X) 计算字符串的长度 Len(“中国A+B”) 5
Mid(X,n,k) 取字符串X中第n个字符起长度为k的子串 Mid(“Zhejiang”, 3,2) “ej”
Fix(X) 截取数据的整数部分 Fix(2.56) 2
二、算术、关系、逻辑三类基本运算及表达式
1.算术运算表
基本运算 运算符 优先级 表达式 表达式的值
乘幂 ^ 1 16^0.5 4
取负 - 2 -5 -5
乘法 * 3 3*2.5 7.5
实数除法 / 3 5/2 2.5
整数除法 \ 4 5\2 2
求余数 Mod 5 8 Mod 5 3
加法 + 6 5+4 9
减法 - 6 5-4 1
注意:数值加法:1+2=3,字符加法:“1”+“2”=“12”,字符串拼接运算符&:1 & 2=“12”。
2.关系运算表
基本运算 运算符 优先级 表达式 表达式的值
相等 = 7 5 Mod 2 = 0 False
不相等 < > 7 “com”< >“cod” True
小于 7 2018<2020 True
大于 >? 7 2020>2019 False
小于等于 <= 7 99<=100 True
大于等于 >= 7 11>=21 False
注意:等号“=”在VB中有两种含义:赋值和判断相等。
3.逻辑运算表
注意:Not逻辑取反,True变False, False变True。And与运算,只有两边同时成立,其值才为True。Or或运算,只有两边同时不成立,其值才为False。
基本运算 运算符 优先级 表达式 表达式的值
非 Not 8 Not(123>100) False
与 And 9 (-10>=-12) And (20<=100) True
或 Or 10 (120<110) Or (123<20) False
4.VB表达式
VB中没有中括号与大括号,只有小括号,乘号不能省略,乘号不能写成×。除法运算中分子分母需加括号:
正确书写:(-b+sqr(b^2-4*a*c))/(2*a)或 (-b+sqr(b*b-4*a*c))/(2*a)
一、VB中的常用标准函数
【典例1】 下列VB表达式的值等于2020的是( )
A.Val(“2018”) + 2 B.Len(“2018”) + 2
C.Sqr(2018) + 2 D.Str(2018) + “2”
解析 本题主要考查基本函数的计算。字符串相加是将两个字符串相连接,D:Str(2018) + “2”=“20182”。A:Val(“2018”) + 2=为2020,C:Len(“2018”) + 2=6,C:Sqr(2018) + 2的值约为46.9。
答案 A
【变式训练1】 下列VB表达式的值不等于6的是( )
A.Sqr(36) B.Abs(-5)+1
C.Len(“2018”)+2 D.Int(5.9)
解析 本题主要考查基本函数的计算。A:Sqr(36)=6。B:abs(-5)+1=5+1=6。C:Len(“2018”)+2=4+2=6。D:Int(5.9)=5。所以答案选D。
答案 D
【变式训练2】 下列VB函数值为字符串的是( )
A.Val(X) B.Len(X)
C.Sqr(X) D.Mid(X,n,k)
解析 本题主要考查基本函数的计算结果的数据类型。val()函数是数字字串转换为数字,返回值是数值类型。Len()是计算字符串的长度,返回值是整型。Sqr()求算术平方根,返回值是数值类型。Mid(X,n,k)是在字符串X中的第n位开始取,取长度为k的字符串,返回值是字符串。
答案 D
【变式训练3】 已知a=“330903”,VB表达式Val(Mid(a,3,2))的值是( )
A.0 B.3 C.9 D.90
解析 本题主要考查基本函数的计算。Mid(X,n,k)是在字符串X中的第n位开始取,取长度为k的字符串。Mid(a,3,2)即Mid(“330903”,3,2=“09”,Val(“09”)=9。
答案 C
【方法总结】 掌握并熟练使用VB常见的标准函数。
二、算术、关系、逻辑三类基本运算及表达式
【典例2】 下列运算结果中,值最大的是( )
A.157\6 B.157/6
C.157 mod 6 D.6 mod 157
解析 本题主要考查VB算术。A.157\6=26 B.157/6≈26.17 C.157 mod 6=1 D.6 mod 157=6。
答案 B
【变式训练1】 如果X=4,Y=6,那么以下运算结果为True的表达式是( )
A.(X<=4)And (Y>6)
B.(X<4) Or (Y>6)
C.Not (X>=4) And (X>=6)
D.Not (X+Y< >10)
解析 本题主要考查VB逻辑运算。And与运算,只有两边同时成立,其值才为True;Or或运算,只要一边成立,其值就是True。
答案 D
A.Int(Abs(ab-c*c))
B.Sqr(Abs(ab-c*2))
C.Int(Abs(a*b-c*c))
D.Sqr(Abs(a*b-c*c))
解析 本题主要考查VB表达式的书写。在VB表达式中,注意乘号不能省略,也不能写成“×”,要写成“*”。
答案 D
【典例3】 有如下VB程序段:
x=Val(Text1.Text)
a=x Mod 100
b=x\10 Mod 1000
Label1.Caption=Str(a)
Label2.Caption=Str(b)
程序执行后,在文本框Text1中输入123456,则在标签Label1上显示的内容为__________,在标签Label2上显示的内容为__________。
解析 本题主要考查的是Mod、\运算。a=x Mod 100=56,b=x\10 Mod 1000=12345 Mod 1000=345。
答案 56 345
【方法总结】 注意区分“/”和“\”。在书写VB表达式时,注意乘号不能省略,也不能写成“×”和“·”要写成“*”,特别要注意区分VB表达式和数学表达式的区别。