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

在Visual Basic中,设x=18,y=96,则关系表达式x<y的值是(   )
A .   -4 B . 4 C . False D . True
在VB中,x=“hello”,那么表达式Len(x)=
若A=20,B=80,C=70,D=30,则表达式A+B>160 Or (B*C>200 And Not D>60)的值是
若变量a=5,b=8,则逻辑表达式:(a*b<10)  and not (a=b) or (a+3=b)的值是(   )。
A . T B . F C . 8 D . 40
【加试题】小马正在看一本侦探小说,想了解其中一段案情的解析,却发现了一串字符“#2017—2018go:)”,并附有文字提示:①答案所在的页码是这串字符中最大数字字串(若值相同则取后面的数字字串)的起始位置*10+结束位置②答案所在行号是最大数值除以100的余数。例如:“#17a18#”字符串中,最大数字字串“18”。起始位置是5,结束位置是6,其页码是56,行号是18。小马编写了一个VB程序帮他寻找答案,程序运行界面如图所示。在文Text2中输出页码,在Text3中输入行号。实现上述功能的VB程序代码如下,但加框处代码有错,请改正。

Private Sub Command1_Click()

  Dim s1 As String,s2 As String   

  Dim ch As String,ch2 As String   

  Dim max As Double   

  Dim n As Integer,page As Integer  

  Dim i As Integer,j As Integer

  s1=Text1.Text:s2=””

  n=Len(s1)

  i=1:max=0

  Do While i<=n

    ch=Mid(s1,i,1)

    If ch>=“0”And ch<=“9”Then

        j=i

        ch2=Mid(s1,i,1)

        Do While ch2>=“0”And ch2<=“9”

           j=j+1

           ch2=Mid(s1,j, 1)

        Loop

        s2=    ’(1)

        If   Then    ’(2)

            max=Val(s2)

            page=i*10+j-1

            Text2.Text=Str(page)

            Text3.Text=Str(max Mod l00)

        End If

        i=j

      End If

      i=i+1

    Loop

  End Sub

  1. (1) 处加框代码应改为
  2. (2) 处加框代码应改为
下列逻辑表达式中,值为False的是(  )
A . Not(Sqr(4)-3 <= -2) B . Int( Rnd * 49 ) < 49 C . 3+4 <= 7 and 5+6 > 9 D . "thirty" > "two"
不是算术运算符的是(  )。
A . MOD B . \ C . & D . /
柯桥区各所学校技术考试的分数均存放在数据库中,表中学生考号存储形式如"10101","10203"……,考号第1位数字表示学校代码(1代表柯中,2代表鲁高,3代表越崎,4代表鉴湖,5代表钱清,6代表豫才,7代表轻纺城,9代表鲁中),后4位表示校内编号。现设计VB程序查询学校成绩,查询方式为:在Text1中输入学校名称,在Text2中输入数字n,单击“查询”按钮,在列表框List2中显示该校得分最高的n名学生的考号和技术得分。

  1. (1) 实现上述功能的程序代码如下,请在划线处填入正确的语句。

    Const rs = 2500 '考生总人数(即记录总数)

    Dim kh(1 To rs) As String, cj(0 To rs) As Integer

    Dim xx(1 To 9) As String '数组xx存放学校名称,如xx(1)="柯中",xx(2)="鲁高"……数组下标代表该学校代码,即"柯中"代码是1,"鲁高"代码是2……

    '从数据库中读取考号和成绩数据,存入kh和cj数组,并在list1中显示,代码略。

    Private Sub Command1_Click()

      Dim school As String, n As Integer, i As Integer, j As Integer

      Dim t1 As Integer, t2 As String, flag As Boolean

      xx(1) = "柯中": xx(2) = "鲁高": xx(3) = "越崎": xx(4) = "鉴湖"

      xx(5) = "钱清": xx(6) = "豫才": xx(7) = "轻纺城": xx(8) = "鲁中"

    For i = 1 To 8

        If xx(i) = Text1.Text Then        ①        

    Next i

      n = Val(Text2.Text) : i = 1: flag = True

      Do While flag

        k = i

        For j = i + 1 To rs

          t = Val(Mid(kh(j), 1, 1))

          If t = school Then

            If          ②           Then k = j

          End If

        Next j

        If i > n And cj(k) <> cj(i - 1)  Then flag = False

        If k <> i Then

           t1 = cj(i): cj(i) = cj(k): cj(k) = t1

           t2 = kh(i): kh(i) = kh(k): kh(k) = t2

        End If

        i = i + 1

      Loop

      List2.Clear

      For j = 1 To         ③        

        List2.AddItem kh(j) + " " + Str(cj(j))

      Next j

    End Sub

     ② ③ 

  2. (2) 设鲁中有技术考生150人,如果把程序中加框部分代码删除,当运行程序时在文本框Text2中输入200,单击查询按钮后列表框List2中显示有项(单选,填字母: A .恰好150 / B .恰好200/ C .大于等于150且小于等于200 / D .大于等于200)
将一个二进制数转化为十进制数可以采用“按位权展开”法。程序功能如下:在文本框Text1中输入一个二进制数,单击“开始转换”按钮Command1后,对应的十进制数在文本框Text2中显示。程序界面如图所示。

进转为进制程序

  1. (1) 该程序窗体中共有个对象(不包含窗体本身)。
  2. (2) 为实现上述功能,请在划线处填入合适的代码。

    Private Sub Command1 _Click( )

    Dim s As String, st As Long, ch As Integer

    Dim i As Integer, n As Integer

       ①    

    n=Len(s)

    st=0

    For i=1 To n

        ch=   ②  

        st=st+ch*2^(i- 1)

    Next i

    Text 2. Text = Str(st)

    End Sub

     ② 

  3. (3) 运行该程序,当输入的二进制数为“10101”时,得到的十进制结果是
在VB中,表达式321+“54”的运算结果是(   )。
A . 375 B . "375" C . "32154" D . 321+54
已知k为十进制多位整数,下列选项中能正确表示含义“若k的十位是偶数则a为1,否则a为2”的是(    )
A . a=1: if k mod 2<>0 then a=2 B . a=2: if k mod 100 \2 <>0 then a=1 C . If k\100 mod 2 <>0 then a=2 else a=1 D . if k\10 mod 2 =0 then a=1 else a=2
已知文本框Text1中的内容为12,则表达式Text1.Text+Str(12)的值是(  )
A . 1212 B . "1212" C . "24" D . 24
(程序设计题)美国宾夕法尼亚大学心理学教授Duckworth研究结果表明:“成功的先兆不是智商,而是日复一日的坚持。”勤奋与懒惰是两个生活在一起的好兄弟,起点时勤奋和懒惰没有差距,但在经历了365次的叠加后会有什么变化呢?
  1. (1) 若勤奋与懒惰的初始值均为1.0,写出存储勤奋初值的语句(变量名可以自定义):
  2. (2) 勤奋每天坚持,则值每天提高0.01;懒惰每天偷懒,则值每天降低0.01。在经历365次的叠加后会发生什么?请打开“3.1习6.py”调试程序。说明:勤奋的365天计算公式为:(1+0.01)365
  3. (3) 调试程序完成下表(保留2位小数),并写出你的心得体会。

    Change

    0.01

    0.02

    勤奋值

    懒惰值

使用随机函数Rnd,可以得到一个在[0,1)之间的实数。若a=Rnd,则a的值介于[0,1)之间且类型为实数;若b=Int(10*Rnd),则b的值介于[0,9)之间且类型为整数。则以下选项中产生的随机数介于[1,1000]之间且类型为整数的是(     )。
A . Int(1000*Rnd) B . Int(999*Rnd)+1 C . Int(999*Rnd) D . Int(1000*Rnd)+1
在Python中,Print(abs(-16//5))的执行结果是(     )
A . 2.4 B . 3 C . 4 D . -2.4
执行Python语句s=11//3+11%3后,变量s的值是(    )
A . 3 B . 4 C . 5 D . 6
在Python中,描述x、y中存在一个小于z的正确的表达式是(    )
A . x<z and y<z B . x<z or y<z C . x+y<z D . x<y<z
已知字符"A"的ASCII码为65,变量ch表示某个大写字母,下列表达式可以实现大写字母转换成小写字母的是(    )
A . ch = chr( ord(ch) - 32) B . ch = chr( ord(ch) + 32) C . ch = ord( chr(ch) - 32) D . ch = ord( chr(ch) + 32)
用Python表达式表示数轴上x的取值范围,实心为包含,空心为不包含。以下书写正确的是(     )

 

A . x >= 5 and x< 8 or x == 9              B . x>=5 or x<8 or x<9 C . x>=5 and x<8 and x==9                        D . x>= 5 or x<8 and x=9
在Python中,表达式18//3**2+15%4的结果是(      )
A . 39 B . 15 C . 5 D . 3