文档库 最新最全的文档下载
当前位置:文档库 › 第4章 习题

第4章 习题

第4章 习题
第4章 习题

第4章习题

一、选择题

1. VB提供了结构化程序设计的3种基本结构,这3种基本结构是

(A)递归结构,选择结构,循环结构(B)选择结构,过程结构,顺序结构

(C)过程结构,输入、输出结构,转向结构(D)选择结构,循环结构,顺序结构

2. 结构化程序由3种基本结构组成,下面属于3种基本结构之一的是

(A)递归结构(B)选择结构(C)过程结构(D)输入、输出结构

3.下面正确的赋值语句是

(A)x+y=30(B)y=π*r*r(C)y=x+30(D)3y=x

4.为了给x,y,z这3个变量赋初值1,下面正确的赋值语句是

(A)x=1:y=1:z=1 (B)x=1,y=1,z=1 (C)x=y=z=1 (D)xyz=1

5.赋值语句:a=123+MID(“123456”,3,2)执行后,a变量中的值是

(A)“12334”(B)123(C)12334(D)157

6.赋值语句:a=123&MID(“123456”,3,2)执行后,a变量中的值是

(A)“12334”(B)123(C)12334(D)157

7.下面程序段:

Dim x

x=Int(Rnd)+5

Select Case x

Case 5

Print“优秀”

Case 4

Print“良好”

Case 3

Print“通过”

Case Else

Print“不通过”

End Select

显示的结果是

(A)优秀(B)良好(C)通过(D)不通过

8.下面If语句统计满足性别为男、职称为副教授以上、年龄小于40岁条件的人数,不正确的语句是

(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

9.下面程序段求两个数中的大数,不正确的是

(A)Max=IIf(x>y,x,y) (B)If x>yThen Max=x Else Max=y

(C)Max=x (D)If y>=x Then Max=y

If y>x Then Max=y Max=x

10.下面语句:

w=Choose(Weekday(“2000,5,1”),“Red”,“Green”,“Blue”,“Yellow”)执行后,变量w中的值是

(A)Null(B)“Red”(C)“Green”(D)“Yellow”

11.下面程序段:

Dim x

If x Then Print x Else Print x+1

运行后,显示的结果是

(A)1(B)0(C)-1(D)显示出错信息

12.语句If x=1 Then y=1,下列说法正确的是

(A)x=1和y=1均为赋值语句

(B)x=1和y=1均为关系表达式

(C)x=1为关系表达式,y=1为赋值语句

(D)x=1为赋值语句, y=1为关系表达式

x>=1

13.用If语句表示分段函数f(x)= x2+3 x<1 ,下列不正确的程序段是(A)f=x*x+3

If x>=1 Then f=sqr(x+1)

(B)If x>=1 Then f=sqr(x+1)

If x<1 Then f=x*x+3

(C)If x>=1 Then f=sqr(x+1)

f=x*x+3

(D) If x<=1 Then f=x*x+3 Else f=sqr(x+1)

14.计算分段函数

0 x<0

1 0≤x<1

y = 2 1≤x<2

3 x≥2

下面程序段中正确的是(A)If x<0 Then y=0 If x<1 Then y=1

If x<2 Then y=2

If x>=2 Then y=3 (B) If x>=2 Then y=3 If x>=1 Then y=2 If x>0 Then y=1

If x<0 Then y=0 (C)If x<0 Then

y=0

ElseIf x>0 Then

y=1

ElseIf x>1 Then

y=2

Else

y=3

End If

(D) If x>=2 Then

y=3

ElseIf x>=1 Then

y=2

ElseIf x>0 Then

y=1

Else

y=0

End If

二、填空题

1.下面程序运行后输出的结果是 (1) 。

x=Int(Rnd)+3

If x^2>8 Then y=x^2+1

If x^2=9 Then y=x^2-2

If x^2<8 Then y x^3

Print y

2.下面程序的功能是: (2) 。

Dim n%,m%

Private Sub Textl _ KeyPress(KeyAscii As Integer) If KeyAscii=13 Then

If IsNumeric(Textl) Then

Select Case Textl Mod 2

Case 0

N=n+Text1

Case 1

m=m+Text1

End Select

End If

Text1 =“”

Text1.SetFocus

End If

End Sub

3.下面的程序段是检查输入的算术表达式中圆括号是否配对,并显示相应的结果。本程序在文本框输入表达式,边输入,边统计,以回车符作为表达式输入结束,然后显示结果。请在下划线处填入相应的内容。

Dim count1%

Private Sub Text1_ KeyPress(KeyAscii As Integer)

If (3) =“(”Then

Count1=count1+1

ElseIf (4) =“)”Then

(5)

End If

If KeyAscii=13 Then

If (6) Then

Print“左右括号配对”

ElseIf (7) Then

Print“左括号多于右括号”;count1;“个”

Else

Print“右括号多于左括号”;-count1;“个”

End If

End If

End Sub

[注意]

该题中统计括号个数的变量count1在通用声明段声明,若在Text1_KeyPress

内声明,程序会产生什么结果?

4.输入若干字符,统计有多少个元音字母、有多少个其他字母,不区分大小写,直接按Enter键结束,并显示结果。其中,CountY中放元音字母个数,CountC 中放其他字符数。

Dim CountY%,CountC%

Private Sub Text1_KeyPress(KeyAscii As Integer)

Dim C$

C= (8)

If“A”<=C And C<=“Z”Then

Select Case (9)

Case (10)

CountY=CountY+1

Case (11)

CountC=CountC+1

End Select

End If

If (12) Then

Print“元音字母有”;CountY;“个”

Print“其它字母有”;CountC;“个”

End If

End Sub

第2章习题与答案

一、选择题

1.在一个语句内写多条语句时,用来分隔每条语句的符号是(A),(B):(C)、(D);

2.一句语句要在下一行继续写,续行符是

(A)+(B)-(C)_(D)…

3.下面4项中合法的变量名是

(A)X_yz(B)123abc(C)integer(D)X-Y

4.下面4项中不合法的整常数是

(A)100(B)&O100(C)&H100(D)%100

5.下面4项中合法的字符常数是

(A)ABC$(B)“ABC”(C)‘ABC'(D)ABC

6.下面4项中合法的单精度型变量是

(A)num!(B)sum%(C)xinte$(D)mm#

7.下面4项中不合法的单精度常数是

(A)100!(B)100.0(C)1E+2(D)100.0D+2

8.表达式16/4-2^5*8/4MOD5\2的值为

(A)14(B)4(C)20(D)2

9.数学关系3≤x<10表示成正确的VB表达式为

(A)3<=x<10(B)3<=x AND x<10 (C)x>=3 OR x<10 (D)3<=x AND <10

10.\、/、Mod、*这4个算述运算符中,优先级别最低的是(A)\(B)/(C)Mod(D)*

11.数学表达式对应VB不正确的表达式是

(A)a*b/(3*c*d) (B)a/3*b/c/d(C)a*b/3/c/d(D)a*b/3*c*d

12.Rnd函数的值不可能为

(A)0(B)1(C)0.1234(D)0.0005

13.Int(198.555*100+0.5)/100的值为

(A)198(B)199.6(C)198.56(D)200

14.已知A$=“12345678”,则表达式Val(Left$(A $,4)+Mid$(a $,4,2))的值为

(A)123456(B)123445(C)8(D)6

15.Print DateAdd(“m”,1#1/30/2000#)语句显示的结果是

(A)00-2-29(B)00-2-28(C)00-2-30(D)00-1-31

16.表达式DateDiff(“y”,#12/30/1999#,#1/13/2000#)的结果是

(A)1(B)11(C)14(D)99

17.表达式Len(“123程序设计ABC”)的值是

(A)10(B)14(C)20(D)17

18.表达式LenB(“123程序设计ABC”)的值是

(A)10(B)14(C)20(D)17

二、填空题

1.Trim(“□□ASCII□□”)的结果 (1) ;

RTrim(“□□ASCII□□”)的结果 (2) ;

LTrim(“□□ASCII□□”)的结果 (3) ;

注“□”表示空格。

2.整型变量x中存放了一个二位数,要将二位数交换位置,例如,13变成31,实现的表达式是 (4) 。

3.数学表达式sin15°+-ln(3x)的VB算术表达式为 (5) 。

4.数学表达式的VB算术表达式为 (6) 。

5.表示x是5的倍数或是9的倍数的逻辑表达式为 (7) 。

6.已知a=3.5,b=5.0,c=2.5,d=True,则表达式:a>=0 AND a+c>b+3 OR NOT d 的值是 (8) 。

7.Int(-3.5)、Int(3.5)、Fix(-3.5)、Fix(3.5)、Round(-3.5)、Round(3.5)的值分别是 (9) 、 (10) 、 (11) 、 (12) 、 (13) 、(14) 。

8.表达式Ucase(Mid(“abcdefgh”,3,4))的值是 (15) 。

9.在直角坐标系中,x、y是坐标系中任意点的位置,用x与y表示在第一或第三象限的表达式是 (16)。

10.要以××××年××月××日形式显示当前机器内日期的Format函数表达式为 (17) 。

11.假定2008年奥运会于2008年10月5日在北京召开,计算距今天有多少天的函数表达式是 (18) 。

12..计算离你毕业还有多少个星期的函数表达式是 (19) 。

13.表示s字符变量是字母字符(大小写字母不区分)的逻辑表达式为(20) 。

14.将数字字符串转换成数值,用 (21) 函数,判断是否是数字字符串,用 (22) 函数,取字符串中的某几个字符,用 (23) 函数。

15.Mid(“什么是ASCII编码”。5,6)的结果 (24) 。

16.InStr(7,“什么ASCII是ASCII编码”,“ASCII”)的结果 (25) ;InStr(“什么ASCII是ASCII编码”,“ASCII”)的结果 (26) 。

17.在VB中,1234、123456&、1.2346E+5、1.2346D+5这4个常数分别表示(27) 、 (28) 、 (29) 、 (30) 类型。

18.Visual Basic提供的标准数据类型,整型类型声明时,其类型关键字是(31) ;其类型符是 (32) 。

参考答案

一、选择题

1.B

2.C

3.A

4.D

5.B

6.A

7.D

8.B

9.B 10.C 11.D 12.B 13.C 14.B 15.A 16.C 17.A 18.C

二、填空题

1.(1) ASCII 去除两边的空格;(2)□□ASCII 去除右边的空格;(3)ASCII□□去除左边的空格;

2.(4)(x Mod 10)*10+x\10

利用x mod 10和x\10运算可将一个二位数分离出来,要连接起来,通过乘10再加个位数。VB中由于Mod运算比乘法“*”运算级别低,必须加括号改变优先级。

3.(5)Sin(15*3.14/180)+Sqr(x+Exp(3))/Abs(x-y)-Log(3*x)

Sin( )的自变量是弧度,ln(3x)不要写成Log(3 x),3x是非法的自变量名。

4.(6)(a+b)/(1/(c+5)-c*d/2)

不要忘记加括号改变运算次序。

5.(7)x mod 5=0 OR x mod 9=0 如果写成 x mod 5 =0 AND x mod 9=0则表示x既是5的倍数又是9的倍数。

6.(8)False 按照运算符的优先级别来判断。

7.(9)-4 (10)3 Int(x)函数取不大于x的整数。(11)-3 (12)3 Fix(x)函数取除小数部分。(13)-4 (14)4 Round(x)四舍五入取整。

8.(15)CDEF

9.(16)x>0 And y>0 Or x<0 And y<0

10.(17)Format(Date,“yyy年mm月dd日”)

11.(18)DateDiff(“d”,#10/5/2008#,Now)+1 Now和Date都是求当前机器内日期,不同之处在于Now函数除日期外还带回时间。

12.(19)DateDiff(“w”,Now,#7/3/2002#)

13.(20)Ucase(s) >=“A”And Ucase(s) <“Z”或者Lcase(s) >=“a”And Lcase(s) <=“z”

14.(21)Val使用Val函数转换时,若出现非数字字符,转换到此结束,函数返回在此前的数值。例如:Val(“12.3df”)返回12.3。

(22)IsNumeric 若自变量是数字字符,函数返回True,否则为False。(23)Mid

15.(24)SCII编码 Mid表示按字符取子串,在VB中,中文与西文字符都算一个字符。

16.(25) 9 表示从第7个字符开始找子串;

(26)3 默认表示从第1个字符开始找子串;

17. (27)整型 (28)长整型 (29)单精度型 (30)双精度型

18.(31)Integer (32)%

相关文档