当前位置:文档之家› VB课本习题答案第三章

VB课本习题答案第三章

第3章程序流程控制3.1 填空题1.设变量r 表示圆的半径,则计算圆的面积并赋给变量s使用的赋值语句为(s=3.14159*r*r )。

2.给命令按钮Command2的Caption属性赋予字符串“退出”使用的赋值语句为(Command2.Caption="退出")。

3.为了求n的阶乘,要求用户输入n的值。

程序使用InputBox函数输入,要求对话框提示信息为“请输入一个求阶乘的数:”,标题为“求数的阶乘”,并且正确地把输入的信息转换为数值存放到变量n中,则使用的赋值语句为(n=val(InputBox("请输入一个求阶乘的数:","求数的阶乘"))。

4.如果使用MsgBox对话框显示提示信息“退出本系统?”,并显示“是(Yes)”和“否(No)”两个按钮,显示图标“?”号,指定第一个按钮为默认值以及标题为“提示信息”,则调用MsgBox函数的形式为(MsgBox("退出本系统? ",4+32+0,"提示信息"))。

5.如果使用MsgBox对话框显示提示信息“文件未找到!”,并显示“确定”按钮、图标“!”号和标题“文件查找”,则使用的MsgBox语句为(MsgBox"文件未找到",0+48+0,"文件查找")。

6.要在当前窗体Form和立即窗口输出字符串“Visual BASIC 6.0”使用的Print方法分别是( Print “Visual BASIC 6.0”)和( Debug.Print “Visual BASIC 6.0”)。

7.使用Print方法时,若用逗号分隔,则按( 标准)格式输出各表达式的值,若用分号分隔,则按( 紧凑)格式输出各表达式的值。

8.注释语句是一个(非执行)语句,VB不对它们进行编译,对程序的执行结果没有任何影响。

9.判别变量i是否为偶数,若为偶数就把它显示出来。

使用单行结构条件语句为(If i Mod 2=0 Then print x )。

页脚内容110.判别变量x是否大于0,若大于0,则累加到变量s1中,否则,累加到变量s2中,使用的单行结构条件语句为(If x>0 Then s1=s1+x Else s2=s2+x )。

11.给定分段函数⎪⎩⎪⎨⎧<=>-+=1212xxxxxy,求y的值,使用的单行结构条件语句为(If x>0 Theny=2*x+1 Else If x=0 Then y=0 Else y=2*x-1 )。

12.判别a是否等于b,若a=b,则输出字符串“a is equal to b”的块结构条件语句为()。

答案:If a=b ThenPrint “a is equal to b”End13.判别ch是否为小写字母,若是,输出“yes”;否则,输出“No”的块结构条件语句为()。

答案:If Asc(ch)>=97 And Asc(ch)<=122 ThenPrint “Yes”ElsePrint “No”End If14.若一个case子句中的表达式表由逗号分隔的若干个常数组成,则它的含义是:当测试表达式的页脚内容2值等于(这些常数中的某一个)时,执行该case子句相应的程序块。

15.若case子句中的表达式表列具有形式:<表达式1> To <表达式2>,则它的含义是:当测试表达式的值等于(这个范围内的值)时,执行该case子句相应的程序块。

16.若case子句中的表达式表列具有形式:Is <关系运算符> <表达式>,则它的含义是:当测试表达式的值满足(Is后的关系)时,执行该case子句相应的程序块。

17.在循环语句中,反复执行的程序段称为(循环体);进入循环体的条件称为(循环条件);中止循环体执行的条件称为(结束循环条件)。

3.2 选择题1.下列赋值语句中,( d )是正确的。

a)x!="abc"b)a%="10e"c)x+1=5d)s$=1002.下列选项中,( d )不能交换变量a和b的值。

a) t=b : b=a : a=t b) a=a+b : b=a-b : a=a-bc) t=a : a=b : b=t d) a=b : b=a3.若在消息框MsgBox中显示“确定(Ok)”和“取消(Cancel)”两个按钮,则buttons参数的设置值是( b )。

a) 0 b) 1 c) 2 d)34.若在消息框MsgBox中选择第二个按钮为默认值,则buttons参数的设置值是( b )。

a)0 b)256 c)512 d)7685.若单击了“终止(Abort)”按钮,则MsgBox函数的返回值是(c )。

页脚内容3a)1 b)2 c)3 d)46.以下不正确的单行结构条件语句是(d )。

a) If x>y Then Print “x>y”b) If x Then t = t * xc) If x Mod 3=2 Then ? x d) If x<0 Then y = 2*x-1 : Print x End If 7.给定程序段Dim a As Integer, b As Integer, c As Integera=1:b=2:c=3If a=c-b Then Print "#####" Else Print "*****"以上程序( c )。

a) 没有输出b) 有语法错c) 输出##### d) 输出*****8.把a, b之中的最大值存放于max,下面语句书写正确的是(d )。

a) If a>b Then max=a Else max=b End Ifb) If a>b Then max=aElse max=bEnd Ifc) If a>b Then页脚内容4max=aElsemax=bd) If a>b Thenmax=aElsemax=bEnd If9. 下列Case语句中正确的是(c )。

a) Select Case xCase 1 Or 3 Or 5y=x*x-1Case Is >10y=x+1End Selectb) Select Case x页脚内容5Case 1, 3, 5y=2*x-1Case Is x <=1Y=2*x+1End Selectc) Select Case xCase Is <=0y=x-1Case Is >0y=Sqr(x)+1End Selectd) Select Case xCase x>=1 And x<= 5y=x-1Case Is >10y=x*x+1End Select10.执行下列程序段后屏幕上( c )。

页脚内容6i% = 10 : Sum = 0While i > 1Sum = Sum + ii = i - 1WendPrint Suma) 无显示b) 显示10 c) 显示54 d) 显示55 11.执行下列程序段输出结果是(c )。

x%=2Do while x<8Print “*”;x=x+2Loopa) * b) ** c) *** d) **** 12.设有程序段Dim k%k=5页脚内容7Do until k=0k=k-1Loop则下面对循环语句描述正确的是(c )。

a) 循环体1次也不执行b) 循环体执行1次c) 循环体执行5次d) 循环体执行无限次13.下面描述中错误的是(a, c )。

a) 执行Do until <条件>…loop语句中,当循环<条件>为false时,结束循环体的执行。

b) 执行While <条件>…Wend语句时,循环体可能一次也不执行。

c) Do …loop While <条件>语句的循环体可能一次也不执行。

d) 执行Do …loop Until <条件>语句中,当循环条件为true时,结束循环体的执行。

14.下面程序段中循环语句的循环次数是( b )。

For x=10 To 1 Step -3Print xNext xa) 0 b) 4 c) 5 d) 1015.执行语句For i=1 to 3: i=i+1 :Next i后变量i的值是(c)。

页脚内容8a) 3 b) 4 c) 5 d) 616.下面程序段执行后输出结果是(b )。

For i=1 To 2s=1For j=0 To i-1s=s+s*jNext jPrint s,Next ia) 1 1 b) 1 2 c) 2 1 d) 2 2 3.3 阅读下列程序,写出执行结果1. Private Sub Form_ClickPrint –2*3/2 , “Visual ” & “BASIC”,Not 5>3,0.75Print –2*3/2 ; “Visual ” & “BASIC”; Not 5>3; 0.75x=12.34Print “x=”;Print x页脚内容9End Sub答案:-3 Visual BASIC False .75-3 Visual BASICFalse .75x=12.342.Private Sub Form_ClickPrint Tab(10); -100;Tab(20); 200;Tab(30); -300Print Spc(10); -100;Spc(10); 200;Spc(10); -300End Sub答案:-100 200 -300-100 200 -3003.Private Sub Form_Clickx=12.35Print Format ( x,”###.##” )Print Format ( x,”##.##” )Print Format ( x,”000.00” )Print Format ( x,”00.0”)Print Format ( x,”0.00%” )页脚内容10Print Format ( x,”$##.##” )Print Format ( x,”+##.##” )Print Format ( x,”00.00E+00” )End Sub答案:12.3512.35012.3512.41235.00%$12.35+12.3512.35e+004.Private Sub Command1_Click()Dim a%, b%, c%, s%, w%, t%a = -1:b = 3:c = 3s = 0: w = 0: t = 0If c > 0 Then s = a + b页脚内容11If a <= 0 ThenIf c <= 0 Thenw = a - bEnd IfElseIf c > 0 Then w = a - b Else t = cEnd Ifc = a + bPrint a, b, cPrint s, w, tEnd Sub答案:-1 3 22 0 05.Private Sub Command1_Click()Dim x%, y%x = InputBox("请输入x的值:")Select Case x页脚内容12Case 1, 3, 5y = x - 1Case 6 To 10y = x + 1Case 2, 4y = 2 * xCase Is > 10y = x * x + 1End SelectPrint "x="; x, "y="; yEnd Sub(x 的输入值为2.5、8、4和15)答案:x=2 y=4x=8 y=9x=4 y=8x=15 y=2266.Private Sub Command1_Click()页脚内容13Dim i%, t!t = 1: i = 1While i < 10t = t * ii = i + 2WendPrint "t="; tEnd Sub答案:t=9457.Private Sub Command1_Click()Dim i%, x%, y%x = 1: y = 1:i = 1Do Until i > 8If i Mod 2 = 1 Thenx = x * iElsey = y * i页脚内容14End Ifi = i + 1LoopPrint "x="; x, "y="; yEnd Sub答案:x=105 y=3848.Private Sub Command1_Click()Dim p%, s%p = 1: s = 1Dop=p+2:s=s+pLoop While p<10Print "s="; sEnd Sub答案:s=369.Private Sub Command1_Click()Dim m%, n%页脚内容15For m=1 to 3n=0While n<=m-1Print m,nn=n+1WendNext mEnd Sub答案: 1 02 02 13 03 13 23.4 编程题1. 输入一个学生成绩,若成绩在85分以上,则输出“very good”;若成绩在60分到80分之间,则输出“good”;若成绩低于60分,则输出“no good”。

相关主题