教师备用题库
1.在VB 中,下列表达式的值属于字符串常量的是( )
A.Abs(100) B.“false” C.Val(“100”) D.True
答案 B 本题考查VB 的基本数据类型。A 和C 为整数100,D 为布尔类型。
2.(2015宁波期末)银行给用户计算利息时,结果中会产生很多位小数,通常结果保留一位小数,并对第二位小数进行四舍五入。假设结算的利息是x元,在Visual Basic中,上述算术问题的表达式应是( )
A.Int(x*10+0.5)/10
B.Int(x*100+0.5)/100
C.Int(x*100)/100
D.Int(x*100+0.5)/10
答案 A 本题考查基本的算术运算表达式。
3.VB 中的Right函数功能是截取字符串右边指定长度的子串。如s= “Hello World!”,则Right(s,6) 的值为“World!”,下面 的功能等同于函数Right(s,k)(k 为整数)。( )?
A.Mid(s,1,k) B.Mid(s,k,len(s)-k)
C.Mid(s,len(s)-k+1,k) D.Mid(s,len(s)-k,k)
答案 C 本题考查函数的理解与应用。Mid( s,i,j)函数从字符串s 中第i位开始截取长度为j的子串。从s中取出最右边的k个字符为Mid(s,len(s) -k+1,k),起始位为len( s) -k+1。
4.阅读如下程序段:
Private Sub Command1_Click()
Dim a(1 To 10) As Integer, b(1 To 10) As Integer
Dim n As Integer, i As Integer
n = 3
For i = 1 To 5
a(i) = i
b(n) = 2 * n + i
Next i
Text1.Text = Str(a(n))
Text2.Text = Str(b(n))
End Sub
程序运行后,单击命令按钮,在文本框Text1和Text2上显示的结果分别是( )
A.11,3 B.3,11 C.13,3 D.3,13
答案 B 本题考查VB基本语句阅读和数组的应用。程序执行后,n=3,由语句“a(i) = i”可知a(3)=3,由语句“b(n)= 2 * n + i”可知当i=5时,b(3)=2*3+5=11。
5.使用“字符洗牌”程序模拟扑克洗牌的操作,为了打乱牌序,把手上的扑克牌中间抽一部分放到最上面,完成一次洗牌(如字符串“1234ABCD”,若把中间的第3 个到第5个字符抽出并保持原来的顺序放到最前面,则一次“洗牌”操作后字符串变成“34A12BCD”),也可以把扑克牌分成上下两部分,把下面的部分放置到上面(如字符串“1234ABCD”,把第3 个字符到最后一个字符移到前面,变成“34ABCD12”),多次重复做这个动作,就能达到洗牌的目的,效果如图所示。
/
(1)若要把窗体的标题名称由“Form1”改为“字符洗牌”,应改变窗体的
属性。?
(2)完成上述功能的程序代码如下,请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim r As Integer, k1 As Integer, k2 As Integer
Dim s As String, n As Integer
① ’从文本框TxtIn 中获取字符串?
Randomize
r = Int(Rnd() * 10) + 1’随机生成洗牌次数
n = Len(s)
Do While r >= 1 ’洗牌操作
k1 = Int(Rnd() * (n - 2)) + 2
k2 = Int(Rnd() * (n - k1 + 1)) + k1
s = ② + Mid(s, 1, k1 - 1) + Mid(s,k2 + 1, n - k2)?
r = r - 1
Loop
TxtOut.Text = s ’输出结果
End Sub
(3)若加框处的语句改为TxtOut.Text = Str(s),则运行程序时会发生的错误消息为 。?
/
答案 (1) Caption (2) ①s = TxtIn.Text ②Mid( s, k1,k2 - k1 + 1) (3)B
解析 本题考查VB 程序语言基础知识。
(1)修改窗体的标题名,应修改窗体的Caption 属性,而不是Name 属性。
(2)①根据注释语句,该空的功能是从文本框TxtIn 中获取字符串,结合后面的代码,可知字符串存储在变量s 中。②根据题意,洗牌的操作是将中间的第k1 个到第k2 个字符抽出并保持原来的顺序放到最前面,所以此处就是填写从s 中取出这一段的代码,这里很容易犯错的就是取的长度是k1-k2+1,用到Mid 函数。
(3)变量s 是字符串类型,Str( ) 函数的作用是将数值型变量的类型改变为字符串类型并返回。现在传入的参数类型为字符串类型,会提示类型不匹配的错误。
第3节 VB语言基础
模拟演练
学考题组
1.用变量存储诗朗诵比赛中选手的平均得分(保留2位小数),则变量的数据类型应说明为( )
A.Integer B.Long C.Single D.Date
答案 C 本题考查数据类型。选手的平均得分应该定义为单精度实数型Single。
2.(2016杭州二中第一学期期末,11,2分)变量a中存储了一个字符,能够正确判断该字符为数字字符“0”~“9”的VB表达式是( )
A.Asc(a)>=0 Or Asc(a)<=9
B.“0”<=a<=“9”
C.a<=“0”Or a>=“9”
D.a>=“0”and a<=“9”
答案 D 本题主要考查判断该字符为数字字符“0”~“9”的VB表达式。正确答案为D。
3.在Visual Basic中,从字符串“Good morning”中截取“morning”的表达式是( )
A.Mid(“Good morning”,6,7)
B.Mid(Good morning,6,7)
C.Mid(“Good morning”,5,7)
D.Mid(“Good morning”,7,7)
答案 A Mid(x,n,k)的功能是取字符串x中第n个字符起长度为k的子串。本题中字符串应该加上引号,故选A。
4.将数学表达式a≤b≤c写成Visual Basic表达式,正确的是( )
A.a<=b<=c B.a<=b Or b<=c
C.a<=b And b<=c D.a<=b Not b<=c
答案 C 本题考查逻辑表达式的正确描述。逻辑类运算有:Not非,And与,Or或。
5.下列Visual Basic表达式中,与表达式Not x>1功能相同的是( )
A.x<1 B.x>1
C.x>=1 D.x<=1
答案 D 与x>1相反的值是x<=1。
6.运行如下Visual Basic程序,单击命令按钮Command1,出现如图所示的出错信息。
Private Sub Command1_Click()
Dim a As Integer,b As Integer
a=10??①
b=20??②
Text1.Text=“a+b=”+Val(a+b)??③
End Sub??④
/
发生“类型不匹配”错误时所执行的语句是( )
A.① B.② C.③ D.④
答案 C 在运算表达式“a+b=”+Val(a+b)时出现了“类型不匹配”的错误信息。这是因为Val函数的功能是将数字字符串转换成数值,而变量a、b是整数,a+b的值也是整数。
7.有如下程序段,运行时程序出现如下错误提示,出错语句的位置是 ( )
Private Sub Command1_Click()
Dim i As Integer
Dim a(10)As Integer ’①
For i=1 To 10’②
a(i)=Rnd* 100’③
Next i
Label1.Caption=Str(a(i))’④
End Sub
/
A.① B.② C.③ D.④
答案 D 本题考查 For 语句。 循环结束后,循环控制变量恰好超过循环终值,即 11。 程序中定义的 a 数组下标为 0~10,所以在语句Label1.Caption=
Str(a(i))的调用时产生下标越界错误。
8.有以下 VB 程序段:
n = 6
d(1) = 23: d(2) = 31: d(3) = 19: d(4) = 33: d(5) =58: d(6) = 28
k = Abs(d(2) - d(1))
For i = 3 To n
If Abs(d(i) - d(i - 1)) > k Then k = Abs(d(i) - d(i - 1))
Next i
Text1.Text = Str(k)
上述程序段执行后,文本框 Text1 显示的内容是( )
A.8 B.12 C.14 D.30
答案 D 本题考查循环语句。 程序实现的功能是求出数组 d 中相邻两个元素差值中绝对值的最大值。 d(1) =23,d(2) =31,d(3) =19,d(4) =33,d(5) =58,d(6) =28,差值最大的是d(5)与 d(6)。 所以选 D。
9.有以下 VB 程序段:
For i = 1 To 3
For j = 1 To 10
If j Mod i = 0 Then a(j) = 1 - a(j)
Next j
Next i
sum = 0
For i = 1 To 10
sum = sum + a(i)
Next i
已知数组 a 的所有元素初值均为 0,运行上述程序段后,变量sum 的值是( )
A.2 B.3 C.4 D.5
答案 C 本题考查双重循环。 当 i=1时循环结束后数组元素的值为1,1,1,1,1,1,1,1,1,1,当 i=2 时循环结束后数组元素的值为 1,0,1,0,1,0,1,0,1,0,当i=3 时循环结束后数组元素的值为 1,0,0,0,1,1,1,0,0,0。 最终数组中 1 的个数为4,所以选 C。
第3节 VB语言基础
真题再现
A组 学考题组
1.(2015浙江3月会考,3分)下列属于Visual Basic实数常量的是( )
A.0.618 B.1/2
C.True D.“2014-9-1”
答案 A 本题考查常量的分类。0.618是实数常量,True是逻辑常量,“2014-9-1”是字符串常量,1/2是算术表达式。
2.(2015浙江3月会考,3分)在Visual Basic中,下列能作为变量名的是( )
A.num B.x@1
C.4g D.Next
答案 A 本题考查变量的命名规则。变量的命名规则:由字母、数字和下划线等字符组成;必须以字母开头;不能使用VB中的关键字。x@1使用了@,4g以数字4开头,Next使用了VB中的关键字。
3.(2012浙江会考,3分)字符串变量a的值为“Hello,world!”,下列Visual Basic表达式的值是“world”的是( )
A.Len(a,6,5) B.Mid(a,6,5)
C.Mid(a,7,4) D.Mid(a,7,5)
答案 D 本题考查字符串函数Mid的功能。Mid(X,n,k)的作用是取字符串X中第n个字符起长度为k的子串。
Mid(a,7,5)的功能是取字符串变量“Hello,world!”中第7个字符“w”起长度为5的子串,即“world”。
4.(2012浙江9月高考,1,3分)下列VB表达式的值等于3的是( )
A.Sqr(2)+1 B.Abs(-1)-2
C.Asc(“1”)+2 D.Len(“-2”)+1
答案 D 本题考查VB标准函数的功能。Sqr(x)的功能是求x的算术平方根,Abs(x)的功能是求x的绝对值,Asc(x)的功能是将字符转换为ASCII,Len(x)的功能是计算字符串的长度,字符串“-2”有两个字符,因此Len(“-2”)=2。
5.(2012浙江3月高考,1,3分)能正确判断三个整数型变量a、b、c值相等的VB表达式是( )
A.a=b=c B.a=b And a=c
C.a=c Or b=c Or a=b D.a-b-c=0
答案 B 本题考查关系表达式和逻辑表达式的运算方法。只有当a=b和a=c两个关系表达式均为True时,表达式a=b And a=c的值才是True,a=c或b=c或a=b三个关系表达式只要有一个为True,表达式a=c Or b=c Or a=b的值为True,表达式a-b-c=0为True时,只能证明a=b+c,无法证明变量a、b、c值相等。a=b=c语法错误。
6.(2013浙江会考,3分)将数学表达式
|ab-
c
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))
答案 D 本题考查Visual Basic表达式的正确书写。将一个数学表达式转换成VB表达式时,乘号不能省略,并且要用“*”表示。若有函数运算应转换成VB标准函数。Sqr是求算术平方根的函数。Abs是求绝对值的函数。
7.(2016浙江温州十校联考,11,2分)VB表达式98/2+12 Mod 3*3 的值是( )
A.0.5 B.7 C.3.5 D.5
答案 D 本题考查VB运算符的优先级。表达式中涉及的运算符优先级依次为“*、/”>“”>“Mod”>“+”,故98/2+12 Mod 3*3=94+12 Mod 9=2+12 Mod 9=2+3=5。
8.(2018浙江6月学考,11,5分)素数只能被1和它本身整除,不能被其他自然数整除。编写VB程序实现如下功能:单击“产生奇数并判断”按钮Command1,随机产生一个三位正奇数显示在文本框Text1中,并在文本框Text2中显示其是不是素数的判断结果。例如,当随机产生的三位正奇数为953时,程序运行界面如第11题图a所示。
/
图a 图b
(1)在设计程序界面时,应使用第11题图b所示“控件工具箱”中的 (填写相应编号)添加文本框Text1。?
(2)实现上述功能的VB程序如下,请在划线处填写合适的代码。
Private Sub Command1_Click()
Dim n As Integer, i As Integer
Dim flag As Boolean‘用于标记是不是素数
Randomize
n = Int( ① )*2-1?
Text1.Text = Str(n)
flag = True‘标记为素数
i = 3
Do While i <= n - 1 And flag = True
Ifn Mod i = 0 Then
flag = False
End If
i = i + 2
Loop
If ② Then?
Text2.Text = Str(n) + “是素数”
Else
Text2.Text = Str(n) + “不是素数”
End If
End Sub
(3)以下选项中,与加框处表达式“n Mod i = 0”等价的是 (单选,填字母)。?
A.n i = Int(n / i) B. n i = n/ i C. n Mod i = n i
答案 (1)② (2)①Rnd * 450+51 或其他等价表达式 ②flag 或 flag=True 或 i>n-1 或i=n 或 i>= n或其他等价表达式 (3)B
解析 (1)本题考查常用控件,①②③④四个控件分别为:标签(Label)、文本框(Textbox)、命令按钮(CommandButton)、列表框(Listbox)。
(2)①n是一个随机的3位奇数,也即[101,999]范围内的奇数。如果不考虑取整,①空处的范围应该是[51,500]范围的随机数,考虑Rnd函数的特性,它产生[0,1)区间的随机小数,再加上取整,因此此处n= Int(Rnd*450+51)*2-1,当Rnd=0时,最小n=int(51)*2-1=101;最大Rnd接近1,但取不到1,因此括号中数取不到450+51=501,取整后最大是500,因此n最大是999。
②flag变量是一个标记,标记n是否是素数。先设定flag=true,然后通过循环找n的因子,如果找到一个因子,则把flag设置为false,如果找不到一个因子,则flag保持一开始设置的true。因此②处通过判断flag的值可知n是素数还是非素数。也可以通过循环变量i的终值判断,如果在循环过程中找到因子,则循环立即结束,此时的i值一定小于n,如果一直找不到因子,则等i=n时也能退出循环。因此如果i=n,则表示n是素数。
(3)判断一个数能否被另一个数整除的表达式有:n mod i=0或者 ni=n/i。mod是取余,是整数除,是在实数除/的基础上取整。
B组 选考题组
1.(2018浙江4月学考+选考,11,2分)有如下 VB 程序段:
a(1) = 1: a(2) = 1
b(1) = 1: b(2) = 2
For i = 3 To 5
a(i) = a(i - 1) + a(i - 2)
b(i) = b(i - 1) + a(i)
Next i
执行该程序段后,数组元素 b(5)的值为( )
A.12 B.8 C.5 D.4
答案 A 程序执行过程如下:i=3
时,a(3)=a(2)+a(1)=1+1=2,b(3)=b(2)+a(3)=2+2=4;i=4
时,a(4)=a(3)+a(2)=2+1=3,b(4)=b(3)+a(4)=4+3=7;i=5
时,a(5)=a(4)+a(3)=3+2=5,b(5)=b(4)+a(5)=7+5=12。
2.(2017浙江11月选考,11,2分)有如下VB程序段:
n=0
For i=1 To Len(Text1.Text)
c=Mid(Text1.Text,i,1)
If c>=“0”And c<=“9” Then m=1 Else m=2
a(m)=a(m)+1
If a(m) =1 Then n=n+1
Next i
数组a中各元素的初始值都为0,文本框Text1的内容为“Happy2017”。执行该程序段后,变量n的值为( )
A.1 B.2 C.4 D.9
答案 B 本题考查对循环结构程序的执行过程的理解。从程序中可以看出,当首次出现数字字符或者首次出现非数字字符时,执行n=n+1语句。当文本框Text1中的内容为“Happy2017”时,n=n+1语句被执行2次。
3.(2015浙江10月学考,12,2分)有如下VB程序段:
Dim a(1 To 5)As Integer,i As Integer,c As Integer
a(1)=2:a(2)=1:a(3)=3:a(4)=4:a(5)=5
c=0
For i=3 To 5
If a(i-2)+a(i-1)=a(i) Then c=c+1
Next i
Text1.Text=Str(c)
该程序段运行后,文本框Text1中显示的内容是( )
A.1 B.2 C.3 D.4
答案 B 本题综合考查对一维数组的理解以及for循环语句的应用。根据程序代码可以看出,变量c是个计数器。For语句执行第1遍循环时,i=3,条件a(1)+a(2)=a(3)成立,则c=1;第2遍循环时,i=4,条件a(2)+a(3)=a(4)成立,则c=2;第3遍循环时,i=5,条件a(3)+a(4)=a(5)不成立,变量c保持不变。因此循环结束后,文本框Text1中输出c的值为2。
4.(2016浙江4月选考,16,3分)某地1900~1999年的年平均降水量数据保存在数据库中。现要求找出相邻两年年平均降水量变化(即本年度与上年度“年平均降水量”差值的绝对值)最大的年份区间。如果有多个符合要求的年份区间,只输出距今最近的。小吴为此编写了VB程序,程序运行时,单击按钮Command1后,在文本框Text1中输出运行结果。实现上述功能的VB代码如下,但加框处代码有错,请改正。
Dim w(1 To 100)As Single ??依次存储1900~1999年的年平均降水量数据
Const n=100
Private Sub Form_Load()
??本过程从数据库中按1900~1999年依次读取年平均降水量数据,并存储在数组w中
??代码略
End Sub
Private Sub Command1_Click()
Dim i As Integer,imax As Integer
imax=1 ??(1)
For i=3 To n
If Abs(w(i)-w(i-1))>=Abs(w(i-1)-w(i-2))??(2)Then imax=i
Next i
Text1.Text=“年平均降水量变化最大的年份区间是”+Str(imax+1898)+“~”+Str(imax+1899)
End Sub
答案 (1)2 (2)Abs(w(imax)-w(imax-1))
解析 本题主要考查的是VB分支结构条件表达式书写及程序阅读能力。该程序体现了比较思想,把“年平均降水量”差值的绝对值最大的年份区间中大的年份保存在imax变量中,这从“Str(imax+1898)+“~”+Str(imax+1899)”中可以得到验证,所以imax变量的初值应赋值为2。根据题意不难发现,每次只要留下量值最大的年份区间中较大的那个年份,前一年通过imax-1得到,所以每一次比较
是与保存在变量imax中的量值比较,所以(2)处的正确答案为Abs(w(imax)-w(imax-1))。
课件37张PPT。
第3节 VB语言基础一 VB基本数据类型二 常量、变量、一维数组三 VB中常用的标准函数四 算术、关系、逻辑三类基本运算及表达式教材研读突破一 VB的基本数据类型突破二 常用的标准函数突破三 基本运算及表达式重难突破一、VB基本数据类型
数据是信息的一种记录形式。
在VB中,常用的基本数据类型有以下几种:Integer(整数型)、Long
(长整数型)、Single(单精度实数型)、Double(双精度实数型)、String
(字符串型)、Boolean(逻辑型)、Date(日期型)。教材研读二、常量、变量、一维数组
1.常量:常量是在程序执行过程中其值不变的存储单元或数据。在VB中,常量有整数常量、实数常量、字符串常量和逻辑常量这几种类型。如整数常量15、20等;实数常量3.14159、-2.01等;字符串常量“VB”“15”等;逻辑常量True、False。
符号常量:
为了方便程序的修改、调试及使程序具有更好的可阅读性,我们通常将某个常量定义成符号常量。如下列语句来定义代表圆周率的近似值的符号常量PI:
Const PI=3.1416。 2.变量
在Visual Basic环境下进行计算时,常常需要存储临时或中间数据等。每个变量都要有确定的变量名和数据类型。
变量的命名规则:
(1)由字母、数字或下划线等字符组成,必须以字母开头;
(2)变量名最长为255个字符;
(3)VB中不区分变量名的大小写;
(4)不能使用VB中的关键字。 变量说明语句的常用形式为:
Dim 变量名 As 变量的类型 3.一维数组:数组是由一批同类型的变量构成的一个序列,组成数组的每一个变量被称为数组的元素,也称为下标变量,下标是一个整数,用来指出某个元素在数组中的位置,数组中每个元素的位置由它的下标唯一确定。
一维数组的常用形式为:
Dim 数组变量名(A1 To A2) As 元素的类型三、VB中常用的标准函数 1.常用数学函数:Abs(X)、Int(X)、Sqr(X)、Exp(X)、Log(X)、Sin(X)、Cos(X)、Tan(X)。 2.常用类型转换函数和字符串函数:Asc(X)、Chr(X)、Val(X)、Str(X)、Len(X)、Mid(X,n,k)、Fix(X)。 3.随机函数Rnd:产生一个大于或等于0且小于1的单精度随机数。四、算术、关系、逻辑三类基本运算及表达式 1.VB的基本运算:VB的基本运算包括算术运算、关系运算和逻辑运算三大类。
算术类基本运算有:^、-(取负)、*、/、、Mod、+、-(减法)。
关系类基本运算有:=、<>、<、>、<=、>=。
逻辑类基本运算有:Not、And、Or。 2.表达式:表达式主要用来规定值的计算过程,以及对于某些情况或条件的判断。一个表达式中可能包括算术运算、关系运算和逻辑运算等多种基本运算,以及这些基本运算所涉及的数据(变量和常量)。 3.基本运算的优先级从高到低为:()(1级),^(2级),-(指负号,3级),*、/(4级),(5级),Mod(6级),+、-(7级),=、<>、<、>、<=、>=(8级),Not(9级),And(10级),Or(11级)。1.在Visual Basic中,下列能作为变量名的是?( B )
A.x+1 B.x_1 ????
C.Or D.If解析 本题考查变量的命名规则。变量的名称由字母、数字和下划线等字符组成,且必须以字母开头。“x+1”中“+”是不允许用的。题目中Or、If在VB中有特定用途,不能作为变量名。2.在Visual Basic中,语句Dim x As Double所定义的变量x属于?( C )
A.整数型 B.单精度实数型
C.双精度实数型 D.长整数型解析 本题考查数据类型。Double是双精度实数型。3.在Visual Basic中,a=-100,表达式“360”+Str(a)的值是?( B )
A.260 B.360-100 ????
C.460 D.360100解析 类型转换函数Str(x)的功能是将数值x转换为字符串。a=-100,Str(a)=“-100”,“360”+Str(a)=“360-100”,完成字符串的连接运算。4.能正确判断x为偶数的VB表达式是?( A )
A.x Mod 2=0 B.Int(x/2)=0
C.x/2=0 D.x2=0解析 判断“x是否为偶数”的条件是x能否被2整除,其Visual Ba-sic条件表达式是x Mod 2=0,即x除以2余数为0。5.将数学表达式?写成Visual Basic表达式,正确的是?( B )
A.Abs(b*b-4*a*c) B.Sqr(b*b-4*a*c)
C.Str(b*b-4*a*c) D.Int(b*b-4*a*c)解析 本题考查Visual Basic表达式的正确书写。将一个数学表达式转换成VB表达式时,乘号不能省略,并且要用“*”表示。若有函数运算应转换成VB标准函数。Sqr是求算术平方根的函数,Abs是求绝对值的函数,Int是取整函数,Str是类型转换函数,将一个数值转换为字符串。突破一 VB的基本数据类型
数据是信息的一种记录形式。应用程序中的数据种类是多种多样的(如我们的Excel中的数据类型,有文本、数值、日期等)。有的数据用来记录数值信息,例如一本书的页数(一个整数),或某个时刻的温度(一个实数),而有的数据用来记录一封信的内容(一段文字),等等。在程序中使用的数据可以划分成若干不同的数据类型。不同类型的数据,它们重难突破的用途、书写规则、在计算机内部的存储格式都是不相同的。
VB中常用的数据类型如下表: 逻辑(Boolean)数据类型:只有两个值True或False。将逻辑数据转换成整型时,True为-1,False为0;其他数据转换成逻辑数据时,非0为True,0为False。例1 要定义一个可存储数值-7.283的变量,其合适的类型是?( C )
A.Integer B.Long ????
C.Single D.Boolean解析 本题考查变量的数据类型。存储数值-7.283最合适的是单精度实数型Single。Integer是整数型,Long是长整数型,Boolean是逻辑型。1-1 运行如下Visual Basic程序,单击命令按钮Command1,出现如图所示的出错信息。
Private Sub Command1_Click()
Dim p As String,a As String
p=“”???①
a=“abcd”? ??②
b=p+a???③
Label1.Caption=Str(p)???④End Sub
?
发生“类型不匹配”错误时所执行的语句是?( D )
A.① B.② C.③ D.④ ????解析 程序执行到Label1.Caption=Str(p)时出现错误,类型转换函数Str(p)的作用是将数值转换为字符串,要求括号里p的类型应该为数值型,而本题中已经定义p是字符串型,于是出现“类型不匹配”的问题。此处正确的应该是Label1.Caption=p。突破二 常用的标准函数
VB提供了大量的标准函数,可供用户编写程序时直接使用。教材上介绍了部分常用的数学函数、字符串函数和类型转换函数。 常用的数学函数: 常用类型转换函数和字符串函数: 随机函数Rnd:Rnd函数书写时可以不要参数,其括号也省略,函数返回值是一个大于或等于0且小于1的单精度随机数。产生[a,b]区间内的随
机整数的Visual Basic表达式为Int(Rnd*(b-a+1)+a)。例2????(2014浙江3月高考,1,3分)VB表达式Sqr(4)+Abs(-4)的值是?(??? B ? )
A.0 B.6 ???? C.8 D.20解析 本题考查VB标准函数的功能。Sqr(x)功能是求x的算术平方根,Abs(x)功能是求x的绝对值。2-1 下列VB函数返回值为数值的是( C )
A.Chr(x) B.Str(x)
C.Val(x) D.Mid(x,n,k)解析 本题考查VB标准函数的功能。Chr(x)的功能是将ASCII转换为字符。Str(x)的功能是将数值转换为字符串。Val(x)的功能是将数字字符转换为数值。Mid(x,n,k)的功能是取字符串x中第n个字符起长度为k的子串。2-2 产生[1,100]范围内某一随机整数的表达式是?( A )
A.Int(Rnd*100+1) B.Int(Rnd*98+2)
C.Int(Rnd*99+1) D.Int(Rnd*99+2)解析 本题考查随机函数Rnd的功能。当a=1,b=100时,Int(Rnd*(b-a+1)+a)=Int(Rnd*100+1)。突破三 基本运算及表达式
基本运算是数据处理中最常用的手段。VB的基本运算包括算术运算、关系运算和逻辑运算三大类。把变量、常量、运算符、函数和圆括号按一定的规则组合起来,构成一个表达式,用来描述值的计算过程,或描述对于某种情况下所遇到的条件的判断。(1)算术类基本运算 说明:在表格中,基本运算的优先程度的最高级别为1,级别的数字越大,
优先级越低。在同一个表达式中,如果有一个以上的基本运算,则先执行优先级高的
运算;同优先级的基本运算,按自左向右顺序执行;若表达式中有括号,
则先计算括号内的表达式;如果有多层括号,则按由内向外的顺序进行
计算。
(2)关系类基本运算
关系运算用来比较两个数据的大小,或用来判断等号两边的数据是否相等。
关系运算的结果是一个逻辑值,若两个数据之间有指定的关系成立,则计算的结果值为真(True),否则计算的结果值为假(False)。 说明:所有关系运算具有相同的优先级。
(3)逻辑类基本运算
逻辑运算用来连接简单的逻辑表达式,以描述对于复杂情况的判断。 说明:
①参加逻辑运算的数据必须是逻辑类型的,它们可以是关系运算结果,或其他逻辑运算的结果。
②逻辑“非”运算 逻辑“非”的计算结果是原始数据的逻辑值的相反值。若原始数据是真,则经逻辑非运算的结果为假;若原始数据是假,则它的逻辑非运算的结果值为真。 ③逻辑“与”运算 仅当运算符两边的表达式的逻辑值都为真时,计算的结果值才为真,否则计算的结果值总是假。 ④逻辑“或”运算 仅当运算符两边的表达式的逻辑值都为假时,计算的结果值才为假,否则计算的结果值总是真。
(4)表达式
一个表达式中可能包括算术运算、关系运算和逻辑运算等多种基本运算,以及这些基本运算所涉及的数据(变量和常量)。表达式主要用来规定值的计算过程,以及对于某些情况或条件的判断。例3????(2015浙江3月会考,3分)在Visual Basic中,若x是3的倍数,则下列表达式值一定为真的是?( C )
A.x/3=0 B.x*3=0 ????
C.x mod 3=0 D.3-x=0解析 本题考查算术类基本运算的运用。若x是3的倍数,则x除以3的余数必定为0,VB表达式即为x mod 3=0。3-1 已知a=1,b=2,c=3,下列表达式中值为True的是?( C )
A.Not(ab And b>c
C.ac D.a>c解析 本题考查关系表达式和逻辑表达式的运算方法。当ab的值为False并且b>c的值为False时,a>b And b>c的值为False。当ac的值为False时,ac的值为True。a>c的值为False。