4.2习题
一、选择题
1. 以下不正确的单行结构条件语句是( D    )。
A    If  x>y  Then  Print x>y
B    If  x  Then  t=t*x
C    If  x  Mod  3=2  Then  Print  x
D    If  x<0  Then  y=2*x-1: Print  x  End If
2. 给定程序段
Dim a As Integer, b As Integer, c As Integer
a=1b=2c=3
If  a=c-b  Then  Print >"  Else  Print  *****
以上程序(  )。
A 没有输出(B 有语法错(C 输出>(D    输出*****
3. 运行下面程序后,在弹出的消息窗口中显示的是(  D  )。
Private Sub Form_Click()
score=Int(Rnd)+5
Select Case score
Case 5
  a$="Good"
Case 4
  a$="Ok"
Case 3
a$="Pass"
Case Else
a$="Bad"
End Select
MsgBox a$
End Sub
ABad           BPass        COk           DGood
4. 下面语句书写正确的是( D     )。
(A)  If  a>max  Then max=a  Else  max=b  End If
(B)  If  a>max  Then  max=a
Else  max=b
End If
(C)  If  a>max  Then
      max=a
Else
max=6
( D)  If  a>max  Then
        max=a
Else
max=6
End If
5. 执行下列程序段输出的结果为(    C )。
  a=3
  IF a>0 Then
    Print###
    Else
    Print$$$
  End If
A) ###$$$
B) $$$###
C) ###
D) $$$
6. 下面程序段运行后,显示的结果是(  B   )
  dim x
if x then print x else print x+1
(A) 1      (B)   0    (C)  -1      (D) 显示出错信息
7: 语句IF  x=1  THEN  y=1, 下列说法正确的是( C  )
(A)  X=1Y=1均为赋值语句          (B)  X=1Y=1均为关系表达式
(C) X=1为关系表达式,Y=1为赋值语句  (D) X=1为赋值语句,Y=1为关系表达式
8. IF语句表示分段函数,下列程序段不正确的是( )
(A)    If x>=1 then f=sqr(x+1)      (B) If x>=1 then f=sqr(x+1)
F=x*x+3                            if x<1 then f=x*x+3
(C)    F=x*x+3                    (D) f=sqr(x+1)
If x>=1 then f=sqr(x+1)            If x<1 then f=x*x+3
9. 下面IF语句统计满足性别(sex)为男,职称(duty)为副教授以上,年龄(age)小于40岁条件的人数,不正确的语句是 )
大一vb程序设计基础(A)    If sex= and age<40 and instr(duty,教授)>0 then n=n+1   
(B)    If sex= and age<40 and (duty=教授 or duty=副教授) then n=n+1     
(C)    If sex= and age<40 and right(duty,2)=教授 then n=n+1       
(D)    If sex= and age<40 and duty=教授 and duty=副教授 then n=n+1 
10. 下面程序段求两个数中的大数,( D)不正确。
  (A) Max=IIF(x>y,x,y) 
(B) Ifx>y then MAX=X ELSE MAX=Y
(C) MAX=X
IF Y>=X THEN MAX=Y
(D) IF Y>=X THEN MAX=Y 
MAX=X
二、填空题
1. 下面事件过程的功能是:输入三个整数xyz,按从大到小顺序输出这三个数,在横线上填上适当内容。
Private Sub Command1_Click()
Dim x!, y!, z!
x = InputBox("x=")
y = InputBox("y=")
z = InputBox("z=")
If (1) x<y  Then t = x: x = y: y = t
If (2)x<z  Then t = x: x = z: z = t
If  y<z  Then t = y: y = z: z = t
Print x, y, z
End Sub
2.下面事件过程的功能是:输入一个字符,若它是大写字母,则把它变成小写字母,若它是小写字母,则把它变成大写字母;若它是其它字符,则它的值不变,在横线上填上适当内容。
Private Sub Command1_Click()
Dim ch As String * 1
ch = InputBox("请输入一个字符:")
If (1)  Asc(ch) >= 65 And Asc(ch) <= 90 Then              Asc (ch) >= 65
ch = LCase(ch)
Else If2Asc(ch) >= 97 And Asc(ch) <= 122 Then
ch = UCase(ch)
Endif
Print ch
End Sub
3. 单行结构条件语句必须在(  1 )行内书写完。
4. 判别变量I是否为偶数,若为偶数就把它显示出来使用的单行结构条件语句为If i Mod 2=0 Then print x
                  )。
5. 判别变量x是否大于0,若大于0,则累加到变量s1中,否则,累加到变量s2中,使用
的单行结构条件语句为(   If x>0 Then s1=s1+x Else s2=s2+x
             
6. 给定分段函数 y的值,使用的单行结构条件语句为
If x>0 Then y=2*x+1 Else If x=0 Then y=0 Else y=2*x-1 
7. 下面事件过程的功能是:输入xa的值,按公式
计算y的值,在横线上填上适当内容。
Private Sub Command1_Click()
Dim x!, a%, y#
x = InputBox("x=")
a = InputBox("a=")
If  (1) x = a Or x = -a    Then
y = 0
Else
  If (2) -a < x And x < a   Then
    y = Sqr(a * a - x * x)
  Else
    y = x - 1
  End If
End If
Print "y="; y
End Sub
8. 下面事件过程的功能是:输入年份和月份,输出该月有多少天,在横线上填上适当内容。
提示:每年的135781012月每月有31天;每年的46911月,每月有30天;每年的2月份,闰年为29天,平年为28天。年份能被4整除,但不能被100整除或年份能被400整除的年份均为闰年,否则,为平年。
Private Sub Command1_Click()
Dim year%, month%, days%
year = InputBox("请输入年份:")
month = InputBox("请输入月份:")
Select Case   (1) month     
Case 1, 3, 5, 7, 8, 10, 12
days = 31
      (2) Case 4,6,9,11
days = 30
Case 2
If   (3) year Mod 4 = 0 And year Mod 100 <> 0 Or year Mod 400 = 0  Then
days = 29
Else
days = 28
End If
End Select
Print year; ""; month; "月有"; days; ""
End Sub
9. case子句中的表达式表列为用逗号把若干个常数分隔开来,则它的含义是:
当测试表达式的值等于 (1) 这些常数中的某一个 时,执行该case子句相应的程序块。
case子句中的表达式表列具有形式:表达式1 To 表达式2,则它的含义是:当测试表达式的值等于  (2) 这个范围内的值   时,执行该case子句相应的程序块。
case子句中的表达式表列具有形式:Is关系运算符 表达式,则它的含义是:当测试表达式的值满足  (3) Is后的关系  时,执行该case子句相应的程序块。
三.阅读下列程序,写出执行结果
1. Private Sub Command1_Click()
Dim a%, b%, c%, s%, w%, t%
a = -1: b = 3: c = 3
s = 0: w = 0: t = 0
If c > 0 Then s = a + b
If a <= 0 Then
  If c <= 0 Then
    w = a - b
  End If

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。