• 沒有找到結果。

(1)数据类型可分为值类型和引用类型,值类型数据执行效率较高,数据在堆栈中分配;

引用类型执行效率较低,数据在托管堆中分配,堆栈中只分配指向堆的引用。如果数据中只是 值类型,则需要的堆栈空间较大;如果只有引用类型,则执行的效率较低,所以值类型和引用 类型都不可少。值类型又可进一步分为多个类型,它们之间存在收缩转换和扩大转换,一般扩 大转换是比较安全的转换,而收缩转换是不安全的,需要显式声明,可以使用类型关键字、

Ctype 方法和 Convert 类三种方法进行转换。值类型和引用类型之间的转换被称作装箱和拆箱。

(2)变量的值在程序运行过程中可以改变,而常量不可改变,它们遵守一套命名规则。

另外变量有自己的生命周期和作用域,与变量的声明位置有关。变量的生命周期和作用域是十 分重要的概念,需要很好地理解。

(3)运算符用于对操作数进行特定的运算,表达式是由运算符和操作数组成的式子,语 句是程序完成一次完整操作的基本单位。这些都是 Visual Basic 最基本的语法,应该熟练掌握。

(4)程序一般是顺序执行的,若要改变程序执行顺序,需要控制结构,控制结构可分为 顺序、选择和循环三个主要的控制结构,语句在三种结构中如何执行需要很好地掌握。

(5)任何编程语言都有一套编码规范,遵守代码规范编写程序是一个好的习惯,对后期 代码的维护和重构都有非常大的帮助。

(6)本书所有示范代码都是基于 Visual Studio 2005 开发的控制台应用程序或 Windows 应用程序,但是也要掌握在没有 Visual Studio 2005 的情况下的代码编写、编译和运行的方法。

习题

一、填空题

1.__________年 BASIC 语言问世,__________年 Visual Basic.NET 诞生。

2.Visual Basic 3.0 将__________数据库驱动集成到了 Visual Basic 中,Visual Basic 5.0 引

入__________的概念。Visual Basic 6.0 集成了__________,提供了一种访问数据库的全新方法。

3.使用 vbc.exe 编译.vb 文件时,/out 的作用是__________,/t 的作用是__________,/r 的作用是_____。

4.Visual Basic 源代码遵循最基本的顺序结构,语句从__________向__________,每行一 条,按序执行。

5.当代码较长时,可以将较长的打断为几行,此时可以使用续行符。续行符是指在行的 末尾同时键入__________。

6.若变量 str = "Hello Visual Basic.NET",则 Mid(str,6,3)= "Hell Word",str=__________。

7..vbproj 文件是__________文件,.sln 文件是__________文件。

8.程序代码有两种注释的方法,分别使用__________和__________。

9.基本控制结构有__________、__________、__________嵌套控制结构和其他结构。

10.“Const limit As Integer=33”代码中包含了__________和赋值两种语句。

二、选择题

1.在 Visual Studio.NET 中创建的 VB 项目,其项目文件 MyProject.vbproj 的存储格式为

( )。

A)一般 TXT 格式 B)二进制格式

C)HTML 格式 D)XML 格式

2.以下可以作为变量名的是( )。

A)a#B B)vara

C)14b D)?ccc

3.下面是一段 For…Next 循环语句:

Dim J As Integer

For J = 2 To 10 Step 2 Dim i As Integer = 0 i = i + J

Next J

程序运行结束 i 的值是( )。

A)30 B)10

C)20 D)40

4.以下能从字符串“Visual Basic.NET”中取出“Basic”字符串的函数是( )。

A)Left B)Mid

C)String D)Instr

5.以下不属于 Visual Basic.NET 系统的文件类型是( )。

A).cs B).vb

C).vbproj D).sln 文件 6.有如下一段程序:

Dim a As Integer = 5

Dim c As Integer = 4 Dim b As Integer = 3

Dim d As Integer = 2

Console.WriteLine("x=" & x.ToString()) 程序运行结果为( )。

C)Visual Basic.NET 中的 variant 类型不是值类型 D)System.Object 类型是一种最基本的值类型 12.关于引用类型,下列说法正确的是( )。

A)引用类型变量包含指向对象实例的引用或指针 B)两个或多个引用类型变量可以引用同一个对象 C)Visual Basic.NET 中的 Variant 类型是一种引用类型 D)引用类型比值类型更安全

13.在下列 Visual Basic.NET 类型中,选出所有的值类型( )。 A)Integer 类型 B)Char 类型

C)String 类型 D)Struct 类型

14.在 Visual Basic.NET 中,Integer 类型的变量在计算机中占用( )位。

A)16 位 B)32 位

C)64 位 D)与具体的计算机系统相关

15.Visual Basic.NET 中,取字符串“this is a test”的第一个字符,并将其赋值给字符变 量 ch。下列代码( )组正确(假设已经定义变量 ch)。

A)ch = Char(Mid("this is a test",0,1)) B)ch = CChar(Mid("this is a test",0,1)) C)ch = Char(Mid("this is a test",1,1)) D)ch = CChar(Mid("this is a test",1,1))

16.Visual Basic.NET 编译器开关 Option Strict On 的作用是( )。 A)在使用变量之前必须声明

B)变量声明语句中不能省略 as 子句 C)禁止对变量进行任何形式的类型窄转换 D)禁止对变量进行任何形式的类型转换 17.下列( )属于合法的变量名。

A)$money B)@Email C)_Home D)Integer

18.在过程 showMyOfficeInfo 中,表示地址的局部变量应起名为( )。 A)Dim myAddress as String B)Dim MyAddress as String C)Dim aksdiqieqew as String D)Dim @myAddress as String 19.在 Visual Basic.NET 的过程 MySub 中,下列变量声明语句( )正确。

A)Dim x,y,z as Integer B)Dim x as Integer,y as String,z as Decimal C)Private temp as Long D)Public temp as Long

20.下列( )Visual Basic.NET 类型之间的转换属于收缩转换。

A)Integer→Long B)Data→String C)Double→String D)Double→Long 21.执行下列语句后,控制台输出结果为( )。

Dim res as Integer = CType("123.45",Integer) Console.Writeln(res)

A)123 B)12345

C)0 D)res

22.执行下列语句后,变量 x 的值为( )。 Dim x as Integer = 0

x = 3^2

A)0 B)5

C)6 D)9

23.执行下列语句后,变量 x 的值为( )。 Dim x as Integer = 0

x = 3/2

A)0 B)1

C)2 D)3

24.下列布尔表达式的值为( )。

True and False OrElse True and True

A)True B)False

C)OrElse D)AndAlso

25.下列( )语句可以完成判断 n1/n2 是否等于 m 的任务(n1,n2,m 都是整数), 并且在 n2 等于 0 时也能正常运行。

A)If n1/n2=m Then OK=True B)If n2<>0 Then OK=(n1/n2=m)

C)If n2<>0 AndAlso n1/n2=m Then OK=True D)If n2<>0 And n1/n2=m Then OK=True

26.在 Select-Case 语句中,当 Case 变量 x 取值为 0<x<100 时,在控制台上输出"OK"。

则该段 Case 子句应该选择( )。

A) Case 1..99

Console.WriteIn("OK") B) Case 1 to 99

Console.WriteIn("OK") C) Case 1,99

Console.WriteIn("OK") D) Case 0<x<100

Console.WriteIn("OK")

27.执行下列语句后,整型变量 counter 的值是( )。 For counter =0 to 4

counter +=1 Next Counter

A)3 B)4

C)5 D)6

28.在设计循环语句时,若有以下要求:

①在执行循环之前先测试条件表达式 expression;

②让代码循环执行到该条件表达式的值取“真”。 则应使用下列( )Do Loop 循环语句。

A)Do Until expression Loop

B)Do

Loop Until expression C)Do While expression

Loop D)Do

Loop While expression

29.执行下列代码后,字符串 firstName 的值是( )。 Dim firstName as String = "Tom"

Dim secondName as String = firstName if secondName is firstName then secondName &= "Jerry"

end if

A)Tom B)Jerry

C)TomJerry D)JerryTom 三、判断题

1.下划线“_”在 Visual Basic.NET 中用作注释引导标志符。 ( ) 2.在 Visual Basic.NET 中,下列语句是合法的。 ( ) Dim x as Object

x=100

x="this ia a test"

3.在 Visual Basic.NET 中,一个布尔型变量占用的内存位数为 16 位。 ( ) 4.如果在模块文件 MyMoudle.VB 中第 1、2 行设置编译器开关如下:

Option Strict Off Option Explicit On

则该文件中的下列过程定义是合法的。 ( )

Public Sub hey() Dim x, y x = 100 y = "hello"

End Sub

5.编译器开关设置为 Option Strict On,语句 Const pi = 3.1415926 是正确的常量声明。

( )

6.如下这段代码的语法是正确的。 ( )

Dim i as Integer = 100

If i Then

MessageBox.Show("i is not Zero") End if

7.如下所示的这段代码结果是 OK。 ( )

Dim t as Boolean = True DIm f as Boolean = False if f=t Then

Console.Writeln("OK") else

Console.Writeln("WRONG") End if

8.执行如下代码后,x 是 False。 ( ) Dim x as Boolean = True

x = False<True

9.具有相同优先顺序的运算符将按照它们在表达式中出现的顺序从右至左进行计算。

( ) 10.Visual Basic 语言有一套命名约定,但在程序开发时可以不遵守。 ( ) 四、简答题

1.简述开发 Visual Basic.NET 应用程序的基本步骤。

2.简述 Visual Basic.NET 的程序组成。

3.简述变量的命名规则。

4.简述值类型和引用类型的区别。

五、操作题

1.使用递归算法编写如下程序:对于任意给定的实数 X 和整数 k>0,计算 Xk。 2.编写一个函数,求任意整数数组的最大元素。

3.编写一个程序,完成以下要求:

(1)提示用户输入任意的 3 个小数。

(2)显示这三个小数。

(3)将这三个小数相加,并显示其结果。

(4)将结果按四舍五入方法转换成整数并显示。

4.开发一个控制台程序,使之能够读取从键盘录入的“Hello Visual Basic.NET”字符串,

并能在屏幕上显示。

5.使用记事本编写一段代码,并使用 vbc.exe 命令编译、执行。

相關文件