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=1:b=2:c=3
If a=c-b Then Print ">" Else Print "*****"
以上程序( C )。
(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
A、Bad B、Pass C、Ok D、Good
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=1和Y=1均为赋值语句 (B) X=1和Y=1均为关系表达式
(C) X=1为关系表达式,Y=1为赋值语句 (D) X=1为赋值语句,Y=1为关系表达式
8. 用IF语句表示分段函数,下列程序段不正确的是( A )
(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岁条件的人数,不正确的语句是( D )
大一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. 下面事件过程的功能是:输入三个整数x、y和z,按从大到小顺序输出这三个数,在横线上填上适当内容。
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 If(2)Asc(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. 下面事件过程的功能是:输入x和a的值,按公式
计算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. 下面事件过程的功能是:输入年份和月份,输出该月有多少天,在横线上填上适当内容。
提示:每年的1,3,5,7,8,10,12月每月有31天;每年的4,6,9,11月,每月有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小时内删除。
发表评论