Case Is<=10 y=5+2*x Case Is<=15 y=x-5
Case 1s>15 y=O
End Select
三. 编程题
1. 输入三角形的三条边a、b、c的值,根据其数值,判断能否构成三角形。若能,还要显示三角形的性质:等边三角形、等腰三角形、直角三角形、任意三角形。
2. 输入一年份,判断它是否为闰年,并显示有关信息。判断闰年的条件是:年份能被4整除但不能被100整除,或者能400整除。
3. 已知软件学院入学测试计分情况为:数学(math)满分50分;计算机(computer)满分100分;外语6级(lang6)为“优秀”加15分、“通过”加8 分,外语4级(lang4)为“合格”加6分,外语只能计一次最高的分数。利用InputBox输入一个学生的对应课程的成绩,编写计算考试总分(sum)的程序段。注:括号内为对应课程的变量名。
4. 求方程 ax2?bx?c?0的根。 5. 任给3个实数,求中间数。
第四章 循环结构程序设计
一. 选择题
1. 以下________是正确的For?Next结构。
(A)For x = 1 To Step 10 (B)For x = 3 To – 3 Step – 3 ? ? Next x Next x
(C)For x = 1 To Step 10 (D)For x = 3 To 10 Step 3 re : ? ? Next x Next y If i = 10 Then GoTo re
2. 下列循环语句能正常结束循环的是________。
(A)i = 5 (B)i = 1 Do Do
i = i + 1 i = i + 2
Loop Until i < 0 Loop Until i = 10 (C)i = 10 (D)i = 6 Do Do
i = i – 1 i = i – 2
Loop Until i < 0 Loop Until i = 1 3. 下面程序段的运行结果为________。 For i = 3 To 1 Step – 1 Print Spc(5 – i);
- 44 -
For j = 1 To 2 * i – 1 Print"*"; Next j Print Next i
(A) * (B)* * * * * (C)* * * * * (D)* * * * * * * * * * * * * * * * * * * * * * * * * 4. 下列程序当在文本框输入“ABCD”四个字符时,窗体上显示的是________。 Private Sub Text1_Change( ) Print Text1.Text; End Sub
(A)ABCD (B)A B C D (C)AABABCABCD (D)A AB ABC ABCD
5. 哪个程序段不能分别正确显示1!、2!、3!、4!的值________。 (A)For i = 1 To 4 (B)For i = 1 To 4 n = 1 For j = 1 To i For j = 1 To i n = 1 n = n * j n = n * j Next j Next j Print n Print n Next i Next i (C)n = 1 (D)n = 1 For j = 1 To 4 j = 1
n = n * j Do While j < = 4 print n n = n * j Next j Print n j = j + 1 Loop 6.有程序段: x% = 2
Do While x < 8 Print “ * ” ; X = x + 2 Loop
执行后的输出结果是________。
(A) * (B) ** (C) *** (D) **** 7.有程序段: Dim K% K = 5
- 45 -
Do Until K = 0 K = K – 1 Loop
执行循环体的次数是( )。
(A) 一次也不执行 (B) 一次 (C) 五次 (D) 无限次 8.下面描述中错误的是________。
(A) 执行Do until <条件> … loop 语句中,当〈条件〉为false 时,结束循环体的执行。 (B) 执行While <条件> … Wend 语句时,循环体可能一次也不执行。 (C) Do … loop While<条件> 语句的循环体可能一次也不执行。
(D) 执行Do … loop Until<条件> 语句中,当〈条件〉为true 时,结束循环体的执行。 9. 下面程序段中循环语句的循环次数是________。
For x = 10 To 1 Step –3 Print x Next x
(A) 0 (B) 4 (C) 5 (D) 10
10. 执行语句 For I = 1 to 3 : I = I+1 : Next I 后变量I 的值是________。 (A) 3 (B) 4 (C) 5 (D) 6 11. 下列程序段执行后输出的结果是________。
For I=1 To 2 S = 1
For j = 0 To I – 1 S = S + S * j Next j Print S, Next I
(A) 1 1 (B) 1 2 (C) 2 1 (D) 2 2
12. 在窗体上画两个名称为text1、text2的文本框和一个名称为command1的命令按钮,然
后编写如下事件过程:
Private sub command1-click()
Dim x as integer ,n as integer X=1 N=0
Do while x <20 X=x*3 N=n+1 Loop
Text1.text=str(x) Text2.text=str(n) End sub
程序运行后,单击命令按钮。在两个文本框中显示的值分别是________ (A)9和2 (B)27和3
- 46 -
(C)195和3 (D)600和4 13. 设有以下程序
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循环计算一个表达式的值,这个表达式是________
(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
14. 在窗体上画一个名称为Command1 的命令按钮,一个名称为Label1 的标签,然后编写如下事件过程:
Private Sub Command1-Click() S=0
For i=1 To 15 X=2*i-1
If x Mod 3=0 Then s=s+1 Next i
Label1.Caption=s End Sub
程序运行后单击命令按钮,则标签中显示的内容是________。 (A)1 (B)5 (C)27 (D)45 15. 下列程序段执行的结果为________ K=0
For J=1 To 2 For I=1 To 3 K=I+1 Next I
For I=1 To 7 K=K+1 Next I Next J Print K
(A)10 (B)6 (C)11 (D)16
16. 在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
Privrate Sub Commandl_Click() X=0
N=InputBox(“”) For i=1 To n
- 47 -