运算符、基本运算与表达式 知识点题库

设A=2,B=3,C=4,D=5,写出下列布尔表达式的值。
  1. (1) A>B And C<= D Or 2*A>C False
  2. (2) 3>2*B Or A=C And B<>C Or C>D
  3. (3) Not A<=C Or 4*C=B ^ 2 And B<>A+C
填空题
  1. (1) 使用二分法从数据1,3,6,9,15,16,45中查找数据16,共经过次查找就可以找到。
  2. (2) 定义一个数组如下:

    Dim a(10 to 20) as integer

    则此数组中元素的个数为

  3. (3) 法就是在分析具体问题的基础上,抽取出一个数学模型,这个数学模型能用若干个解析式表示出来,解决了这些表达式,问题也就得以解决。
  4. (4) 表达式Abs(-5)的值是
  5. (5) 将数学表达式gt2改写为VB表达式
在VB中,若x=5,y=3,下列表达式的值为True(真)的是(  )
A . x<=y B . x-y<y C . x>2*y D . x>y Or x=y
某编码由4个信息位和3个校验位组成,通过对编码信息进行验算,能够检测并纠正一位错误代码。该7位编码中b1~b4为信息位,p1~p3为校验位,位置如下:

编码中位

1

2

3

4

5

6

7

对位信息

p1

p2

b1

p3

b2

b3

b4

校验的方式如下,求校验值g1、g2、g3:

g1 = p1 Xor b1 Xor b2 Xor b4

g2 = p2 Xor b1 Xor b3 Xor b4

g3 = p3 Xor b2 Xor b3 Xor b4

其中Xor 为异或运算,规则是:0 Xor 0 =0,0 Xor 1 =1,1 Xor 0 =1,1 Xor 1 =0,

p1 Xor b1 是将p1、b1 转换为二进制后按位进行异或运算,如7 Xor 12 的结果为11。

⑴若计算得到的校验值g1、g2、g3均为0,说明校验正确,数据无错误。例如:若7位编码为1101001,计算校验值g1、g2、g3值均为0,验证正确。

⑵若校验值g1、g2、g3不全为0,说明数据有错,出错位置为g3g2g1(二进制数表示),纠错的方法是对错误的位进行取反,即“0”变“1”,“1”变“0”。例如:若7位编码为1111001,计算校验值g1=1、g2=1、g3=0,不全为0,说明数据有错,错误位置在011(二进制数)位,即第3位,原位置上“1”应为“0”,正确编码为1101001。

小明为此编写了VB程序,程序运行时,在文本框Text1中输入编码值,单击“校验”

按钮Command1后,在文本框Text2中输出运行结果,如图所示。

实现上述功能的VB程序如下,请回答下列问题:

  1. (1) 若按上述规则的7位编码为1001000,其中一位有错,则正确的编码应为
  2. (2) 请在划线处填入合适的代码。

    Function check(s As String) As Integer

    Dim i As Integer g1 As Integer, g2 As Integer, g3 As Integer

    Dim c(1 To 7) As Integer

    For i = 1 To 7

    c(i) = Val(Mid(s, i, 1))

    Next i

    g1 = c(1) Xor c(3) Xor c(5) Xor c(7)

    g2 = c(2) Xor c(3) Xor c(6) Xor c(7)

    g3 = c(4) Xor c(5) Xor c(6) Xor c(7)

    If g1 + g2 + g3 = 0 Then check = 0 Else check =

    End Function

    Private Sub Command1_Click()

    Dim i As Integer, m As Integer, Outs As String

    m =

    If m = 0 Then

    Text2.Text = "验证正确,数据无错误"

    Else

    For i = 1 To 7

    If i = m Then

    Outs = Outs + Chr( Asc(Mid(Text1.Text, i, 1)) Xor )

    Else

    Outs = Outs + Mid(Text1.Text, i, 1)

    End If

    Next i

    Text2.Text = "第" + Str(m) + "位上数据有错误,正确编码应为:" + Outs

    End If

    End Sub

有如下Visual Basic程序:

Private Sub Command1_Click()

Dim sum As Double, x As Double

 sum = 0

 n = 0

 For i = 1 To 5

  x = n / i

  n = n + 1

  sum = sum + x

 Next

End Sub

该程序通过For循环计算sum的值,下列表达式的值与sum相等的是(  )

A . 1+1/2+2/3+3/4+4/5 B . 1+1/2+2/3+3/4 C . 1/2+2/3+3/4+4/5 D . 1+1/2+1/3+1/4+1/5
编写VB程序,实现如下功能:输入年月日,求该日是这一年的第几天。程序运行时,在文本框“TextNian”中输入年,在文本框“TextYue”中输入月,在文本框“TextRi”中输入日。单击“点击计算”按钮“ButtonRun”进行计算,结果输出到文本框“TextAnswer”中。程序界面如图所示。

请回答下列问题:

  1. (1) 应用程序界面设计时,设置文本框“TextNian”的显示内容为空,应设置该对象的属性为空白。
  2. (2) 为实现上述功能,请在划线处填写合适的代码。

    Private Sub()

    Dim nian As Integer, yue As Integer, ri As Integer

    Dim ans As Integer, i As Integer

    Dim a(1 To 12) As Integer    ‘a(i)存储第i个月的天数

    a(1) = 31: a(2) = 28: a(3) = 31: a(4) = 30

    a(5) = 31: a(6) = 30: a(7) = 31: a(8) = 31

    a(9) = 30: a(10) = 31: a(11) = 30: a(12) = 31

    nian = Val(TextNian.Text)

    yue = Val(TextYue.Text)

    ri = Val(TextRi.Text)

    For i = 1 To yue - 1   ‘依次加上之前每个月的天数

      ans =

    Next i

    ans = ans + ri    ‘加上当月的天数

    If yue > 2 Then    ‘包含2月时,判断是否闰年,修正总天数

     If nian Mod 400 = 0 Then ans = ans + 1

     If nian Mod 4 = 0 And nian Mod 100 <> 0 Then ans = ans + 1

    End If

    =Str(ans)

    End Sub

变量a中存储了一个字符,能够正确判断该字符为数字字符“0”~“9”的VB表达式是(  )
A . Asc(a)>=0Or Asc(a)<=9 B . “0”<=a<=“9” C . a<=“0” Or a>=“9” D . a>=“0” And a<=“9”
生成n个不重复2位随机奇数的VB程序段如下:

For i = 1 To n

    a(i) =

    For j = 1 To i-1

      If a(i)=a(j) Then

       

    Exit For

      End If

    Next j

Next i

上述程序段2个方框处的表达式分别为

A . ① Int(Rnd*50)*2+11            ② j = j - 1 B . ① Int(Rnd*99)+1               ② i = i - 1 C . ① Int(Rnd*89)+11              ② j = j + 1 D . ① Int(Rnd*45)*2+11            ② i = i - 1
有如下VB程序段,在文本框Text1中输入一个仅包含字符“0”与“1”的字符串(字符串中没有连续的“1”),将其中任意位置的“0”翻转为“1”,但要确保翻转之后的字符串中仍然没有连续的“1”,求最多可翻转的“0”的个数,并在标签Label1中输出。

如:字符串“100101000100”中最多可将2个“0”翻转为“1”,变为“

s = "0" & Text1.Text & "0"

c=0: i= 2

Do While i< Len(s)

    If   ①   Then

        i=i+2

    ElseIf   ②   Then

        i=i+ 1

    Elself   ③   Then

        i=i+3

    Else

        i=i+2: c=c+ 1

    End If

Loop

Label1.Caption = "最多可翻转" & Str(c) & "个0"

上述程序中方框处可选语句为:

①Mid(s,i-1,1)="1"  ②Mid(s,i,1)="1"  ③Mid(s,i+1,1)="1"

则① ② ③处语句依次是(  )

A . ①②③ B . ③②① C . ②①③ D . ②③①
仪仗队队员对身高H的选拨要求是:高于1.85米,但不能超过1.90米。下列表达式正确的是(  )
A . H>=1.85 or H<=1.90 B . H>=1.85 and H<=1.90 C . H>1.85 and H<=1.90 D . H>1.85 or H<=1.90
有如下VB程序:

a=2

b=a+5

If a Mod b=2 Then

  a=a+2

  b=a+b

End If

b=b+2

Text1.Text=Str(b)

该程序运行后,文本框Text1上显示的内容为

在VB中,判断一个数c是完全平方数(如4=2^2,4就是完全平方数)的VB表达式是(   )
A . sqr(c)=int(sqr(c)) B . c/2=int(c/2) C . c mod 2=0 D . c\2=0
字符串中还有一种特殊的字符叫做转义字符,转义字符通常用于不能够直接输入的各种特殊字符,下列是反斜线的特殊字符是(    )
A . \\\ B . \\ C . \ D . \\\\
变量s中存储一个字符,若有一个Python表达式表示该字符为大写字母时值为True,否则为False,下列不符合条件的表达式为(    )
A . "A"<=s<="Z" B . s in "ABCDEFGHIJKLMNOPQRSTUVWXYZ" C . "a"<=s <="z" D . s>="A" and s<="Z"
某Python程序段如下:

def isprime (x):

    for i in range(2, x):

        if x % i= 0:

            return False

    return True

prime = []

for i in range(2, 21):

    if isprime(i):

        prime.append(i) #将 i添加到列表

print (len(prime))

运行该程序段,输出结果是

Python语句 "ab"+"c"*2 的运行结果是(     )
A . abc2 B . abcabc C . abcc D . Ababcc
导入math模块,现执行s=math.pow(2,5)>=math.pow(5,2),s的值为(    )
A . ture B . False C . True D . false
下列VB表达式的值为True的是(    )
A . "9"< "10" B . 2021 Mod 100\ 10= 2 C . Len("12" + "3")= 3 D . Int(-4.1)=-4
已知字符串s1='same',s2='handsome',下列表达式的值为True的是(   )
A . s1 in s2 B . s2+s1>s1

C . not s1!=s2 D . s1>s2
代码print(6+3==8),运行后输出结果是(      )
A . 6+3=8 B . 8 C . True D . False
最近更新