【VB开源代码栏目提醒】:网学会员--在 VB开源代码编辑为广大网友搜集整理了:第2章 VB NET程序设计基础 - 大学课件绩等信息,祝愿广大网友取得需要的信息,参考学习。
VB.NET程序设计实验指导 第 1 页 共 9 页 第2章
VB.NET程序设计基础 2.1 知识要点 1. 数据类型 不同数据的存储方式、运算方式等均不同所以在使用前必须将它们区分开来。
这里重点要求掌握常用标准数据类型。
自定义类型即结构作为简单了解。
各种数据类型详看教材p29表2-1。
重点要求掌握的有整型Integer、单精度型Single、字符串型String、布尔型Boolean、日期时间型Date。
特别注意String型一定要加双引号Date型一定要加双号。
2. 变量和常量 变量和常量的大部分操作都类似。
可以总结为 1 两个要素数据类型和命名规则 变量常量名只能由字母、汉字、数字和下划线组成不能以数字开头不区分大小写。
2 两个操作声明和赋值 变量用Dim语句声明常量用Const语句声明。
赋值均用赋值语句注意理解运算符 可同时声明多个 可在声明的同时赋值。
3 一个概念作用域——难点 作用域就是变量常量“管辖”的范围。
按作用能力从大到小分为 ① 块范围变量常量在类似If条件语句、循环语句详看教材第3章中声明的只在条件语句循环语句范围内起作用的。
② 局部变量常量最常见的一种类型。
是在某一sub过程内声明的。
其中用Static声明的静态局部变量又是一个难点。
请参看教材p33例2.1来理解其和普通变量的区别。
③ 模块级变量常量在模块的声明段即Public Class Form1的下一行用Dim声明。
可在模块的各个过程使用。
④ 全局变量常量在模块的声明段即Public Class Form1的下一行或在标准模块中用Public声明。
可在各模块中使用。
VB.NET程序设计实验指导 第 2 页 共 9 页 3. 运算符和表达式 1 算术运算符区分各运算符跟数学中运算符在书写上的不同分清整除运算符和取余运算符Mod分清优先级。
2 连接运算符在实际编程中推荐使用连接运算符连接运算符在某些情况下不能得到期望的结果。
3 关系运算符区分各运算符跟数学中运算符在书写上的不同理解非数字类字符串在比较大小时是采用比较ASCII码。
4 逻辑运算符重点掌握Not、And和Or三个分清优先级。
注以上顺序即为各类运算符优先级次序括号可提升优先级。
4. 函数
系统内置函数的数量非常庞大不可能都记住而且也没这个必要。
只要记住一些
常用的其它函数可等需要时再
查询获得。
有几个函数可先重点掌握Rnd 、Int 、Mid 、Val 、Len 、CInt 、Format 。
5. 数据输入 1 使用具有输入功能的控件例如TextBox、ListBox等。
2 使用InputBox函数。
注意几点InputBox函数的返回值默认为String型单击“确定”返回输入内容单击“取消”返回空字符串每次只能返回一个值。
6. 数据输出 1 使用具有显示功能的控件例如Label等。
2 使用MsgBox函数。
注意几点参数Buttons可定制消息框的外观单击按钮不同返回值不同可结合条件语句做出不同反应。
3 使用MessageBox.Show方法。
注意其参数的个数和顺序和MsgBox函数不同。
4 使用Debug.Write不包括换行符或Debug.WriteLine包括换行符方法。
此方法可在“即时”窗口显示结果。
“即时”窗口可通过“调试菜单窗口即时”打开。
缺点是必须在VS.NET环境下才能看到输出结果。
7.
代码书写规则 1 不区分大小写。
2 通常一行只写一条语句。
VB.NET程序设计实验指导 第 3 页 共 9 页 3 如果一行写多条语句要用冒号隔开。
4 如果一条语句一行写不下需要换行则在换行的地方输入一个空格加一个下划线 _即续行符。
5 用单引号添加注释。
注意不要添加在续行符后面。
6
代码应适当缩进增加可读性。
2.2 习题参考答案 一、选择题 1. C 分析True是逻辑真值属于
VB.NET关键字不能作为变量名。
2. B 分析Char字符型Short短整型Decimal十进制数型。
Logical在英文中是逻辑的意思在某些程序语言中代表逻辑布尔型。
但是
VB.
NET中逻辑布尔型用Boolean表示。
3. D 分析Integer占4字节Double占8字节Date占8字节Byte占1字节。
4. A 分析And是逻辑运算符逻辑运算符在所有类型运算符中优先级最低。
四个选项的优先级次序是/、、、And。
5. B 分析在窗体模块中声明的全局变量其它窗体应通过“窗体名.变量”的方式引用。
若是要直接通过变量名引用则需要在标准模块中声明。
6. A 分析And必须两边均为真结果才为真Or只要两边有一边为真结果就为真Not是单目运算符参与运算的只有一个表达式Xor是两边相异则结果为真。
7. D 分析根据公式IntUpperBound – LowerBound 1 Rnd LowerBound可知LowerBound是10。
再根据UpperBound – LowerBound 190可知UpperBound是99。
8. C
VB.NET程序
设计实验指导 第 4 页 共 9 页 分析在Debug.WriteLine 语句中的xx1是一个关系表达式程序会输出这个表达式的结果x显然不等于x1所以结果为Flase。
注意这里xx1并不是赋值语句。
9. B 分析Space2的返回值是“ ”只有两个空格的字符串Mid“ShangHai”6的返回值是“Hai”通过连接运算符将三个字符串连接起来后的结果是“Hello Hai”再用Len求“Hello Hai”的长度为11。
10. B 分析注释可根据情况添加不是必须有的因此A选项错误注释不能放在续行符后面因此B选项错误注释内容以单引号引导因此D选项错误。
二、填空题 1. 冒号 2. Mod 3. 模块的“声明”段ReadOnly 4. 15.15 分析Val“.1415E2”结果是14.15Math.Sign10结果是1。
5. False 分析Asc“As”返回值是“A”的ASCII码Asc“And”返回值也是“A”的ASCII码因为Asc 函数返回的是首字符的ASCII码。
因此Asc“As” Asc“And”的返回值为False。
6. 项目名称 7. 050.00 8. False 9. i i 3 10. True 分析先计算a c、c b 2和b a c值分别是Flase、Flase和True再计算Not Flase Or False And True结果为True。
三、简答题 1. 常量的声明格式Const 常量名 As 数据类型 常量表达式。
VB.NET程序设计实验指导 第 5 页 共 9 页 例如在某个程序中需要多次使用2.345678这个数如果每次使用的时候都书写一次
程序看起来会繁琐一些。
如果声明一个常量例如NUM来代替2.345678程序看起来比较整齐可读性增强。
另外如果程序完成之后才发现2.345678这个数字有误应为3.345678我们只需要更改常量声明部分一个地方即可可维护性也提高了。
2. 静态局部变量和全局变量的区别 静态局部变量 全局变量 声明关键字 Static Public 声明位置 某一过程内 模块声明段或标准模块 作用域 过程内部 整个项目的所有模块 3. Debug.Write方法输出的数据不包括换行符Debug.WriteLine方法输出的数据包括换行符。
4.
代码书写规则不区分大小写一行写一句多句一行用冒号一句多行用续行符注释用单引号注意缩进。
5. 表达式的值 1 3 x 4 - 16 x 3 7 x 2 - 9 x 14 2 2 Math.Sin31 Math.PI / 180 Math.Sqrt17 / 3 x 2 17 y 2 3 Math.Log1020 Math.Exp2 x 6. 逻辑表达式 1 Math.AbsX 0 2 X Mod 4 0 And X Mod 6 0 3 Year1 Mod 400 0 Or Year1 Mod 4 0 And Year1 Mod 100 0 2.3 实训指导 实训1变量的作用域、输入输出函数的应用 一、 实训要求 创建一个名称为App1的项目保存在Practice2文件夹中要求 ① 在窗体上添加1个命令按钮通过模块级变量实现例2.1的功能即单击该按钮后通过文本框显示单击的次数。
② 在窗体上再添加1个命令按钮单击该按钮后先出现2个输入对话框输入数据并单击“确定”按钮之后可在消息框中显示求和结果。
VB.NET程序设计实验指导 第 6 页 共 9 页 二、 实训提示与说明 1. 关于①不用静态局部变量改用模块级变量你会发现也可以实现计数单击次数的功能。
2. 关于②程序运行后我们在InputBox中输入的是数字如15和34但实际上其返回值是字符串如“15”和“34”而“15”“34”的值是“1534”而不是我们想要的49。
这是因为当“”号两侧都是字符串时“”号是做字符串连接而不是数学加法。
因此我们在计算加法前可将从InputBox得到的“15”和“34”利用转换函数CInt或CSng转换成数字类型成为CInt15 CInt34。
参考
代码如下 3. 关于②避免输入非数字而报错的问题我们可采用IsNumeric判断函数判断输入的内容是否是数字。
判断语句参看教材p62的3.3.2节的内容。
4. 保存项目执行菜单“文件→ 全部保存”命令。
5. 运行程序按F5功能键。
6. 关闭程序执行菜单“文件→ 关闭项目”命令。
7. 打开项目执行菜单“文件→打开项目”命令打开所建立的App1项目。
三、拓展
问题 1. 关于①如果改用全局变量呢 2. 关于②如果不使用CSng转换函数其实也可以得到正确结果为什么 四、 参考
代码 Public Class Form1 Dim icount As Integer Private Sub Button1_ClickByVal sender As System.Object ByVal e As System.EventArgs Handles _ Button1.Click icount icount 1 TextBox1.Text icount End Sub
VB.NET程序设计实验指导 第 7 页 共 9 页 Private Sub Button2_ClickByVal sender As System.Object ByVal e As System.EventArgs Handles _ Button2.Click Dim x y As Object Dim sumxy As Single x InputBox请输入第一个数 输入 y InputBox请输入第二个数 输入 If IsNumericx And IsNumericy Then sumxy CSngx CSngy MsgBoxx y sumxy MsgBoxStyle.OkOnly 求和 Else MsgBox输入有误 MsgBoxStyle.OkOnly End If End Sub End Class 实训2熟悉IDE的常规操作方法 一、 实训要求 创建一个名称为App2的项目保存在Practice2文件夹中要求 ① 在窗体上添加1个命令按钮单击该按钮后可产生一个2位随机数并在即时窗口中输出如下图所示的信息。
② 在窗体上再添加1个命令按钮单击该按钮后可在即时窗口中输出如下图所示的图形。
VB.NET程序设计实验指导 第 8 页 共 9 页 Public Class Form1 Private Sub Button1_ClickByVal sender As System.Object ByVal e As System.EventArgs Handles _ Button1.Click Static i m As Integer Randomize m Int90 Rnd 10 i i 1 Debug.WriteLine第 i 次单击产生 m End Sub Private Sub Button2_ClickByVal sender As System.Object ByVal e As System.EventArgs Handles _ Button2.Click Debug.WriteLine Debug.WriteLine Debug.WriteLine Debug.WriteLine Debug.WriteLine End Sub End Class 二、实训提示与说明 1. 关于①产生随机整数可利用教材p46【说明】部分介绍的公式。
2. 关于②三角形图形的特点是第一行前面有n个空格第二行前面有n-1个空格第三行前面有n-2个空格。
三、拓展问题 1. 第3章控制结构
学习完成后请您再用新的方法输出三角形。
四、参考
代码 VB.NET程序设计实验指导 第 9 页 共 9 页 Public Class Form1 Private Sub Button1_ClickByVal sender As System.Object ByVal e As System.EventArgs Handles _ Button1.Click Dim p r n a As Single p InputBox请输入本金 r InputBox请输入利率 n 10 a p 1 r n MsgBox本息和为 Formata c End Class 实训3数学函数、格式化输出函数应用 一、实训要求 创建一个名称为App3的项目保存在Practice2文件夹中。
要求计算按年利率5计5000元在银行存10年的本息总和并带千位分隔符的货币式样在消息框中输出计算结果如下图所示。
二、实训提示与说明 1. 要显示带分隔符的货币样式需要使用Format函数。
三、拓展要求 1. 修改程序要求能对任意金额和任意利率计算10年本息和。
四、参考
代码