Visual_Basic_程序设计基础教程-课后习题答案

第一章程序与编程环境

一、填空题

1. 工程,Form_Load

2. 事件(触发)

3. 窗体,Name

4. CurrentX, CurrentY

5. maxButton, BorderStyle = 1 or 3 or 4 or 5

6. Alignment, 空缺,AutoSize

7. Style, LoadPicture

8. Line, Shape

9. 重画10. FillStyle ll. MultiLine, maxLength, Locked 12. Font

13. sub, 对象名,事件名14. 方法,Object.Method, text1.setfocus()

15. Name, minButtom, CurrentX(Y), Caption

16. Interval, Enable 17. timer, Interval, ms(毫秒)

18. Mouse Down, Click, LoastFocus

19. .Frm, .Frx, .bas. cls. Vbp 20. 注释, “Rem 语句”或者“’语句”

第二章数据的类型、表示以及运算

一、请指出下列哪些是VB的合法常量,并说明原因

(1)√(2)X 常量不能加类型说明符号改成123.4 (3)X与上题类似,如果是常量,则类型说明符放在后面(4)√等价于2E3 (5) √(6)√等于十进制的4113

(7)X 如果是16进制要写&符号(8)X 指数不能为小数(9)X 月份超过12,日超过31 (10)√(11)√(12)√等价于上一题(13)X 8进制数每一位不能超过8 (14)√(15)X 变量,常量要为基本数据类型的值(16)√

二、找出合法变量

(1)√(2)√如果与控件Label1同在一个应用程序里面,该变量会屏蔽掉控件Label1

(3) X 保留字(4)√(5)X 变量不能以数字开头(6)变量不能有小数点

(7)√(8)√数组变量(9)X保留字(10)√可以,但rnd()不可以,rnd()是函数 (11) √(12)√(13)√(14)X ’符号表示注释(15)X 这是表达式,不是变量(16)X 同上,是表达式

三、指出下列数据x,y,z的声明是否正确,如果正确请指明其类型

(1)√ x--long, y—variant, z—integer

(2) √ x—long, y—long, z—integer

(3) √ x—double, y—double, z—integer

(4) X 变量x &中间不能有空格

(5)√自动转换成字符串

(6)X 变量声明不能直接赋值

(7)√

(8)√自动转换成字符串

(9)X 常量不能把函数写上去

(10)√

四、写出下列表达式的结果

(1)1 (2) 1 (3)false (4) ab12 (5)123 (6)出错,加法表达式中如果有一个是数值类型,则“+”表示加号,而不是字符的链接符号(7)False (8)true (9) true (10) false 默认转换成相同类型(数值),建议这里把2改成D试试

(P.S. 布尔类型TRUE = -1, FALSE = 0;

优先顺序:^(乘方)→-(求负)→*、/→\(整除)→MOD→+、-)

五、写出下列函数的结果

(1)3 (2)2 (3)-2 (4)0 (5)2 (6)23 (7)23 (8)1 (9)1 (10)21 日期差分函数,参数“m”为两年月份之差

六、写出满足以下条件的表达式

(1)fix(rnd()*90)+10 (2)chr(fix(rnd()*26)+65) (3) (A mod 100)\10

(4) A mod B<>0 (5)A>“A”and A<“Z”(6) AC AND B>C

(8) (A>C AND BC) (9) A+B>C AND B+C>A AND C+A>B

(10)A=“及格”XOR B=“及格”(11)Round(A/B,2) (12) Len(A)<>0 或 Len(A)>0

(13) “A10?”(14) Len(A)>=3

七、填空题

1. “”, # #

2. x>=10 and x<20

3. (y mod 3=0) or (y mod 7 =0)

4. sin(x)^2 + (1/2)*sqr(x^2-y^2)

5. 16

6. T, F

7. SIN(ATN(1))

8. Randomize

9. (c>chr(97) and cchr(57))

10. vbCrLf 11. CInt(), 0

12. 从第12个月开始,循环一年12个月

13. ab, cd0 14. Variant, String, Integer

15. Now() 16. DateDif(#2011-5-1#,now(), “m”)

八、请指明下列程序运行后,各个变量的值

(1) 3 5

(2) 120

(3) False

(4) -3

九、分析下面程序中的错误并修改,使其能够完成指定的功能

(1)Print 20000+0&+20000

或 Print 20000&+20000&

(2) 改1:

A=x

A= a+a

B=x

B=2*b

改2:

A=a+x+x

B=2*(x+b)

第三章程序界面与基本输入输出

一、填空题

1.Textbox, Inputbox, Label, Textbox, Msgbox, Print

2. “,” , “;” , CurrentX, CurrentY

3. Print

4. AutoSize, Stretch

5. Textbox, Label, Textbox, True

6. Text1=””, Picture1.cls

7. Integer, String

8. Textbox, Check , Option, Combo, List

9. .setFocus, 失去焦点

10. Min, Max, Scroll, Change

11. TabIndex

12. Enabled, Visible

第4章控制结构

一、判断题

1.X

2. X

3. √

4. X 循环体中改变其值

5.√

二、填空题

1. 顺序,选择,循环

2. “A”,”E”, chr(97), “A” to “Z”, Is>0, Else

3. 死循环

4. 设置计数器

5. True/False, 0/1

6. 0, ListCount-1

三、读程序填空

1. 88 及格

2. Print x; “是偶数”

Print x; “是奇数”

3.i= Instr(st, “”)

right(st, len(st)-i)

I = Instr(st, “The”)

Left(st, i-1) & right(st, len(st)-i-3)

不用填任何东西(这里是旧版书的过程返回)

4.is < 0 “无定义”

0 to 1 (log(x)/log(2))^2

Is >1 sqr(log(x)/log(2))

5.40 ,17

6.*f

Abs(x2-x1)<0.00001

7. while m<>n

Print m (或n)

第5章数组和自定义类型

一、简答题

1.Option Base 1, 只能取0或1

2.很多情况

3.动态数组可重定义,静态数组不可以;动态数组可以用变量,静态数组不可以用变

4.不能,Preserve关键字保留数组原有的内容,但是只能够改变数组的最后一维

5.将用引号分隔的字符串塞进数组;UBound(), LBound()在不确定数组上下界情况下

可使用或写出的程序更通用

6.8字节

7.6个元素;[0,2] [3,4]

8.这里较为特殊的是List框的Text属性,就是List框所选的内容

9.组合框=文本框+列表框;组合框可以输入,列表框不可以;组合框无多选,列表

框可以

10.自定义类型还没有在内存中分配变量,而自定义变量则是在内存中分配了变量。

(P84)5.6

二、指出下列有关数组语句的错误

1.Dim a%(10) 或Dim a(10) as Integer

2.下界溢出,边界顺序颠倒

3.多维数组立面的每一维上界不能为负数

4.Option Base 1

5.静态数组,下标不能是常量

6.动态数组重定义只能与声明时的类型相同

7.动态数组没有重定义就直接使用

8.静态数组不可以重定义

9.动态数组用Preserve关键字重定义,只能改变数组的最后一维的大小

10.用Array赋值,只能是动态数组

11.数组a的类型为字符串,应改为:a$()

12.数组重1开始,越界

三、写出下面程序的输出结果

(1)输出: 1

4

9

16

25

36

49 (2)输出:

1 2 3

2 3 1

3 2 3 (3)输出:

6 12 (4)输出:

25 (5)输出:

1 2 3

4 6

9 (6)输出:

21

四、程序填空

(1)①Rnd()*90+10 ②i+1 to 30 ③a(i)=a(j) ④I mod 2<>0 (2)①Rnd()*90+10 ②arr(i)>50 ③sum+arr(i)

(3)①39 to 1 step -1 ② 1 to 40 ③mod

(4)①Preserve a(n+1) ②a(i+1)=a(i) ③a(i+1)=m

(5)①10 ②10 ③a((i-1)*10+j)

(6)①A(i,j) ②A(5-i+1, 5-j+1) ③A(5-i+1,5-j+1) = temp 第6章过程

一、简答题

1.函数有返回值,过程没有

2.形参为定义函数(过程)时的参数;实参为运行函数(过程)时的实际参数

3.ByVal创建副本,ByRef不创建副本

4.数组只能传地址

5.局部、模块级、全局

6.静态:生命周期是全局的局部变量,生命周期比普通局部变量要长

二、指出下列有关过程声明语句的错误

1.X 将保留字Sub作为函数名。改正:Function sub1%()

2.X 生命重复,参数名与函数名一样,编译器分不清哪个是参数,哪个是函数返回

值。改正:Function f%(para%)

3.X 过程不应该有返回值。改正:Sub f()

4.X 数组必须为按地址传递,过程不应该有返回值。改正:Sub f(a%())

5.数组参数必须传首地址。改正:Sub f(a%())

三、写出单击命令按钮后下面程序运行结果

1.输出:

2 34

2.输出:

25

3

3.输出:

A=4 b=6 c=6

A=8 b=6 c=6 4.输出:

3

5

7

4

5

5.输出:

3 12 3 6.输出:

2 4 6 8

四、程序填空

1.①flag = -1 ②y + flag * t ③t <= 0.0000001 ④n as Integer ⑤n, x-1

2. ①n \ 2 ②b(n-i+1) ③a(), 10

3. ①IsP = True②m mod i = 0 ③P1 and P2 ④IsP(i)

(P.S. 这里漏了一段程序IsP()函数)

Public Function IsP(m%) as Boolean

Dim i%

IsP = True

For I =2 to Int(sqr(m))

If m mod I = 0 Then IsP = False

Next i

End Function

4.①Tag ②t = a(0) ③UBound(A)-1 ④a(j) = t

⑤t = A(UBound(A)) ⑥LBound(A)+1 step -1 ⑦a(j) = t

第7章外存数据的访问

一、填空题

(1)Output

(2)打开text.txt读入内存

(3)Open “c:\test.doc” for Input as #1

Open “c:\test.doc” for Append as #1

(4)Open fr & “\” & “test.txt” for Input as #1

(5)FreeFile()

(6)Close, Kill, FileCopy

(7)Kill “c:\*.bat”

(8)FileCopy “C:\Form1.frm”, “C:\复件Form1.frm”

(9)“””, “#”, (无), “,”

二、读程序填空

(1)①Text = “End”②Write #1, Text (带格式) 或Print #1, Text (不带格式)

(2)①k<5 ②s=s+input(1,#1) ③s

(3)①for Input as #1 ②Input(Lof(1),#1) ③Close #1

④for Output as #1 ⑤Print #1, “Begin”⑥Print #1, s

三、简答题

(1)顺序读写、随机读写

(2)对应文件(外存)的一个缓冲区(内存)句柄,读写文件入口,不可省略

(3)Wirte 有格式,Print 无格式

(4)可以

(5)用Close关闭文件,将缓冲区数据写入文件

第8章对话框与菜单的设计

一、填空题

1. 预定义对话框,通用对话框,自定义对话框

2. CommonDialog

3. ShowOpen, ShowSave, ShowColor, ShowFont, ShowPrint, ShowHelp

4. “-”

5. 5

6. Hide, Unload

7. ShowModel 8. ShowColor

二、判断题

1. √

2. X

3.X

4.X

5. √

三、读程序填空

1. ①showSave ②CommonDialog1.Filename

③now(), CommonDialog1.Filename

2. ①“窗体文件|*.frm|VB工程文件|*.vbp”

②1

3. ①Form2.Text1 ②Unload Form2

第9章绘图

一、填空题

1. ScaleHeight, ScaleWidth

2. DrawWidth

3. B, F

4. 300, 520

二、判断题

1. √

2. √

3. X

4. √

5. √

6. √

7. √

相关推荐