VBNET-程序设计教程.ppt_第1页
VBNET-程序设计教程.ppt_第2页
VBNET-程序设计教程.ppt_第3页
VBNET-程序设计教程.ppt_第4页
VBNET-程序设计教程.ppt_第5页
免费预览已结束,剩余290页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VisualBasic NET程序设计教程 华中农业大学理学院计算机系黄钰 2 教师 黄钰办公地点 逸夫楼A409Email yhuang Mobile3 学习目的 初步掌握windows应用编程的基本思想和方法 根据专业背景知识自行开发相关的应用程序 4 对于生科专业 生物信息学 Bioinformatics 综合计算机科学 信息技术和数学的理论和方法来研究生物信息的交叉学科 包括生物学数据的研究 存档 显示 处理和模拟 基因遗传和物理图谱的处理 核苷酸和氨基酸序列分析 新基因的发现和蛋白质结构的预测等 5 对于地信专业 1 空间数据获取 管理与处理 VB界面2 本专业课程大部分与计算机相关 VB程序设计是基础 6 对于园艺专业 遗传育种学 育种目标的制定 种质资源 植物的繁殖方式 引种 选择育种 计算机在遗传育种研究中有着广泛的应用 7 对于食工专业 食品研究中的计算机数据处理计算机在工程设计中的应用流体输送系统的设计 蒸发系统的设计计算等 8 第一章VB NET概述第二章面向对象的可视化编程基础第三章VB NET语言基础第四章基本的控制结构第五章数组第六章过程第七章常用控件和界面设计第十章VB NET数据库程序设计 目录 9 第一章VB NET基础 1 1VB NET概述1 2VB NET集成开发环境1 3实现问题的求解过程 本章目录 10 1 1VB NET概述 1 初期的程序设计高运行效率 少占用内存为目标2 结构化程序设计程序的可读性 可维护性为目标3 面向对象的程序设计降低程序的复杂性 提高软件的开发效率和改善工作界面为目标2002年正式发布VisualBasic NET 本章目录 11 1 1 2Microsoft NET概述 什么是 NET NET代表了一个集合 一个环境 一个编程的基本结构 作为一个平台来支持下一代的Internet NET也是一个用户环境 是一组基本的用户服务 可以作用于客户端 服务器或任何地方 对初学VB的人来说 可以这样认为 NET就是VisualStudio NET 本章目录 12 1 1 3VB NET特点 1引例例1 1简单的动画演示 一行文字 欢迎使用VB NET 在具有背景图案的窗体中上 下移动 移动方法有两种 单击手动按钮 移动5个像素单位 单击自动按钮 按定时器触发频率连续移动 当内容超出窗体范围时 进行反弹 例1 2蝴蝶飞 本章目录 13 提供了易学易用的应用程序集成开发环境具有面向对象的可视化设计工具事件驱动的编程机制支持结构化程序设计 具有面向对象程序设计语言的所有特征具有丰富的数据类型 功能强大的类库强大的数据库功能网络功能完备的帮助功能 VB NET功能特点 本章目录 14 1 2VB NET的集成开发环境 1 2 1进入VB NET 启动VisualStudio NET 起始页 选择 新建项目 打开项目 按钮 VisualBasic项目 Windows应用程序 本章目录 15 VB NET集成开发环境 本章目录 16 1 2 2主窗口 三种工作模式设计模式界面的设计和代码的编制运行模式运行应用程序中断模式暂时中断程序运行 调试程序2 菜单栏包括11个下拉菜单3 工具栏示例1 3 本章目录 17 1 2 3窗体设计 代码设计窗口 1 窗体设计器窗口建立VB NET应用程序的界面 一个应用程序可以有多个窗体 通过 项目 添加Windows窗体 命令增加新窗体 2 代码设计窗口专门用来进行代码设计 包括各种事件过程 过程和类等源程序代码的编写和修改 打开代码设计窗口的方法 多种 双击窗体 控件或单击代码窗口上方的选项卡组对应项 本章目录 18 1 2 4属性窗口 窗体和控件称为对象 每个对象用一组属性来描述其外部特征 如颜色 大小等 属性窗口用于显示和设置所选定的对象的属性 属性窗口由四部分组成 对象和名称空间列表框属性显示排列方式属性列表框属性含义说明 本章目录 19 1 2 5解决方案资源管理器窗口 项目一个独立的编程单位 包含窗体文件及其他一些相关文件 若干项目组成一个解决方案解决方案可以含有以下类型的文件 解决方案文件 sln 可包括用不同语言开发的项目项目文件 vbproj 由引用的组件和代码模块组成代码模块文件 vb 包括窗体文件 类模块或其他代码文件 本章目录 20 本章小节 VisualStudio NET一个支持下一代Internet的平台VB NET的三种工作模式设计模式 运行模式 中断模式组成 本章目录 解决方案 项目 组件和代码模块 项目 组件和代码模块 21 第二章面向对象的可视化编程基础 2 1VB NET对象的概念2 2建立简单的应用程序2 3窗体和基本控件2 4综合应用 本章目录 22 2 1VisualBasic对象的概念 2 1 1对象和类1 对象对象就是日常生活中的某个实在的物体例如 一个人 一辆汽车 一台电脑 对象都具有各自的特征 属性 行为 方法 人有身高 体重 听力等特征 也具有起立 行走 说话 踢足球等行为 在VB NET中 将反映对象的属性和行为封装在一起 是面向对象编程的基本元素 本章目录 23 2 类的概念 类同种对象的集合与抽象 是创建对象实例的模板 包含所创建对象的属性描述和行为特征的定义 例如 人类是具体人的抽象 每个人有不同的身高 体重等属性值和不同的行为 VB NET工具箱中的可视图标是VB NET系统设计好的标准控件类 通过将控件类实例化 得到真正的控件对象 在窗体上画一个控件 就将类转换为对象 创建了一个控件对象 简称控件 本章目录 24 例如 工具箱内的TextBox是类 它确定了TextBox的属性 方法和事件 窗体上显示的是两个TextBox对象 本章目录 25 属性 事件和方法构成对象的三要素1 属性存放对象的数据 决定对象外观及功能 例如 控件名称 文本 大小等属性 对象属性的设置方法 设计阶段利用属性窗口直接设置属性值程序运行时通过语句对象名 属性名 属性值例如 Button1 Text 确定 注意 若属性只能在设计阶段设置 在程序运行阶段不可改变 称为只读属性 2 1 2对象的属性 事件和方法 本章目录 26 2 1 3对象的建立和命名 1 对象的建立方法一 单击工具箱上的控件 在窗体上按住左键拖拉到所需要的大小后释放 方法二 双击工具箱上的控件 则立即在窗体出现一个默认大小的对象框 2 编辑对象先选中对象 单击对象 放大 缩小删除对象 27 3 对象的命名每一个对象都有自己的名字 每个窗体 控件对象在建立时VB系统给出了一个默认名 用户可通过属性窗口设置 名称 来给对象命名 命名的原则 必须以字母或汉字开头 随后可以是字母 汉字 数字 下划线连接而成 28 事件发生在对象上的事情同一事件 对不同的对象 会引发不同的反应 事件 本章目录 教师 铃声 讲课EndSub 学生 铃声 听讲接受知识EndSub VB NET为对象预先定义了一系列的事件 例如 单击Click 获取焦点GotFocus 按下键盘KeyPress等 其他人员 铃声 可不于响应EndSub 29 事件过程应用程序处理事件的步骤它针对某一对象并与该对象的一个事件相联系应用程序设计的主要工作就是为对象编写事件过程的代码 事件过程的形式如下 Sub对象名 事件 对象引用 事件信息 Handles事件处理程序 事件过程代码EndSub对象引用 指向引发事件的对象事件信息 与事件相关的信息 事件过程 本章目录 30 例2 0在命令按钮的Click事件过程 改变按钮的字体颜色 代码说明注意 在代码窗 自动产生事件过程的模板 不要修改模板的内容 只需键入过程的代码 一个动作可能同时发生多个事件 例如单击鼠标同时发生了 Click MouseDown MouseUp事件编程时 只要对需要的事件过程编码 无编码的事件为空事件 系统就不处理该事件过程 本章目录 31 事件驱动程序设计方式 程序执行的先后次序与程序设计者无关 取决于用户的操作 VB NET程序的执行步骤 启动应用程序 装载和显示窗体 窗体 或窗体上的控件 等待事件的发生 事件发生时 执行对应的事件过程 重复执行步骤 和 事件驱动程序设计 本章目录 32 方法 面向对象的程序设计语言 为程序设计人员提供了一种特殊的过程和函数 称为方法 方法是面向对象的 调用时一定要指明对象 对象方法的调用格式为 对象 方法 参数名表 若省略对象 表示当前对象 一般指窗体 例如 Textbox1 Focus此语句使Textbox1控件获得焦点 光标在本文框内闪烁 本章目录 33 2 2建立简单的应用程序 例2 1编写一个人民币与美圆兑换的程序 建立一个应用程序分为以下几步进行 1 建立用户界面的对象 2 对象属性的设置 3 对象事件过程及编程 4 保存和运行程序 本章目录 代码说明 34 对象事件过程及编程 代码窗口的对象列表框可显示窗体所有对象过程列表框列出所选中对象的所有事件例如 在按钮Button2的Click事件加入代码 SubButton2 Click ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesButton2 ClickTextBox1 Text Val TextBox3 Text Val TextBox2 Text EndSubVal 函数将数字字符转换成数值型 本章目录 35 保存程序和文件组成 程序存盘后将建立一个文件夹 包含如下内容 1 xxx sln项目关联 配置等的信息 2 xxx suo开发环境选项的信息 3 xxx vbproj项目文件 4 Form1 vb窗体文件 5 AssemblyInfo vb项目集合信息 系统自动建立 6 xxx exe可执行文件 在Bin文件夹 7 Bin文件夹可执行文件的默认路径 可用Application StartupPath 获得该路径 8 Debug文件夹存放程序调试产生的信息 本章目录 36 37 2 3窗体和基本控件 2 3 1通用属性属性设置两种方式 通过属性窗口设置在代码设计窗口通过代码来设置用代码设置时 需要用不同方式表示不同的类型 本章目录 38 2 3 1通用属性 1 Name所有对象都具有的属性 表示所创建的对象名称 在程序中通过对象名称来引用对象 不会显示在窗体上 2 Text用于在窗体上显示对象的文本TextBox控件的Text还可以获取输入信息 本章目录 39 3 控件布局属性控件布局由Location Size来实现 它们各有一对整数来表示 整数单位为像素 Location控件左上角位置 Size控件大小例如 命令按钮控件布局Button1 Location NewPoint 88 48 Button1 Size NewSize 80 32 也可用Left Top定位 用Width和Height来表示控件的宽度和高度 本章目录 等效的语句设置 Button1 Left 88Button1 Top 48Button1 Width 80Button1 Height 32 40 4 Font属性值是Font类的对象 一般通过Font属性对话框设置 若在程序代码中需要改变文本的外观 则应通过New创建Font对象来改变字体 例如 Label1 Font NewSystem Drawing Font Arial 10 本章目录 41 5 ForeColor BackColor颜色属性ForeColor控件正文前景色BackColor背景色例调色板 本章目录 42 6 Dock控件放置靠窗体边框的位置 属性值是DockStyle枚举类型 有六个枚举值 7 Enabled Visible控件的有效 可见性 本章目录 8 TabIndex按Tab键时 焦点在各个控件移动的顺序 43 2 3 2窗体 窗体是一块画布 是所有控件的容器 可以根据需要利用工具箱上的控件在窗体上画界面 1 主要属性 本章目录 44 窗体 属性 1 MaximizeBox MinimizeBox设置为True 窗体上有最大 小 化按钮 为False时无最大 小 化按钮 2 Icon ControlBox窗体图标 控制菜单ControlBox属性为True 窗体上有控制菜单框 为False时无控制菜单 系统将MaxButton和MinButton自动设置为False 3 BackgroundImage窗体背景图案 4 FormBorderStyle窗体的边框类型 本章目录 45 窗体 事件 最常用的事件有Click DoubleClick和LoadLoad事件窗体装入内存时触发 应用程序启动时自动执行该事件 常用来在启动时对属性和变量初始化 例2 2编写三个事件过程 要求如下 启动窗体 在标题栏显示 装入窗体 并将tongji bmp作为背景图平铺窗体 窗体边框为Fixed3D 单击窗体 标题栏显示对应的文字 装入tongji 2 bmp图片大小为264 256 要求图片正好充满窗体 双击窗体 标题栏显示对应的文字 窗体无最大化和最小化按钮 清除装入的图片 代码说明 本章目录 46 2 3 3标签 属性 标签用来显示文本信息 不能输入 除Name Font Size Location Enable等属性外 其它主要属性 1 Text TextAlign 设置显示的文本 文本的对齐方式 TextAlign属性是枚举类型 从1开始 提供标签控件上文本的9种对齐方式 本章目录 47 2 BackColor背景色 默认与窗体背景相同 若要以透明方式显示 需要设置Color枚举类型的Transparent 3 BorderStyle标签控件边框样式None控件周围没有边框 默认值 FixedSingle控件带有单边框Fixed3D控件带有立体边框 4 AutoSize控件是否能自动调整大小当值为False 保持控件原设计时的大小 正文若太长则显示其中的一部分 本章目录 48 5 Image ImageAlign设置控件的背景图案和图案对齐方式ImageAlign属性与TextAlign类似通过代码设置图案 标签名 Image Image FromFile 图片名 例2 3在4个标签中存放4个方向的 手指 图片 当单击某方向时 利用 Dock 属性定位第5个标签 并显示相关信息 代码说明 本章目录 49 2 3 4文本框 文本框是一个文本编辑区域 可以在该区域输入 编辑 修改和显示正文内容 1 Text显示或输入的正文内容 2 Maxlength设置文本框可输入的文字最大长度 默认值为32767 表示可以输入任意长字符串 注意 在VB NET中字符长度以字为单位 也就是一个西文字符与一个汉字都是一个字 长度为1 本章目录 50 3 MultiLine多行属性设置为True时 文本框可以输入或显示多行正文 同时具有文字处理器的自动换行功能 按Enter键可插入一空行 4 ScrollBars滚动条属性None无滚动条Horizontal水平滚动条Vertical垂直滚动条Both同时加水平和垂直滚动条当MultiLine为True时 ScrollBars才有效 本章目录 51 5 PassWordChar设置显示文本的替代符 例如 当设置为 则在文本框输入的内容均以 显示 而存储的值是用户输入的原文 一般用于设置口令的输入 6 ReadOnly指定文本控件是否可被编辑 默认值为False 可编辑 当设置为True时 文本控件相当于标签控件的作用 本章目录 52 7 文本内容进行选择操作SelectionStart选定的正文开始位置SelectionLength选定的正文长度SelectedText选定的正文内容例2 4利用属性实现对文本信息的拷贝 本章目录 代码说明 53 文本框 事件 1 TextChanged事件当Text属性值发生改变时引发该事件例在文本框每输入一个字符就引发一次事件 2 KeyPress事件按下并且释放键盘上的一个键时 引发焦点所在控件的KeyPress事件 所按键的值存放在参数e KeyChar中例对回车的判断Asc e KeyChar 13 本章目录 54 3 LostFocus事件对象失去焦点时发生LostFocus事件该事件主要是用来对数据进行验证和确认 常用于检查Text属性的内容 4 GotFocus事件GotFocus事件与LostFocus事件相反 当一个对象获得焦点时发生 本章目录 55 文本框 方法 文本框最有用的方法是Focus 把光标移到指定的文本框中 其形式如下 对象 Focus例2 5对输入的数据进行合法性检验 过滤不合法的数据 本章目录 代码说明 56 2 3 5命令按钮 用于程序运行时执行相应的事件1 属性 1 Text命令按钮上显示的文字 2 FlatStyle按钮的外观该属性有4个枚举值 Flat以平面显示按钮Popup鼠标在按钮上以Flat形式显示 否则以Standand显示Standand以三维效果显示 默认 System由操作系统决定外观形式 本章目录 57 命令按钮 3 BackGroundImage 4 TextAlign ImageAlign设置文本 图形在按钮上的对齐方式2 事件命令按钮一般接收Click事件 本章目录 58 InputBox函数打开一个对话框 等待用户输入 返回字符串类型的输入值 形式 InputBox 提示 标题 默认值 x坐标位置 y坐标位置 提示项不能省略 例2 6利用InputBox输入基本工资和营业额 按营业额的5 提成 计算实发工资并显示 数据输出和输入 本章目录 代码说明 59 MsgBox函数形式 变量 MsgBox 提示 按钮 标题 MsgBox过程形式 MsgBox提示 按钮 标题 MsgBox函数和MsgBox过程 本章目录 60 MsgBox按钮设置 本章目录 61 MsgBox所选按钮返回值 例2 7编一账号和密码输入的检验程序 当输入不正确 如账号为非数字字符 密码不正确等 显示有关信息 再输入 本章目录 代码说明 62 本章小节 类是同种对象的集合与抽象 包含所创建对象的属性描述和行为特征的定义 是创建对象实例的模板 对象三要素 属性 事件 方法属性的类型 窗体是所有控件的容器基本控件标签 文本框 命令按钮 本章目录 63 第三章VB NET语言基础 3 1变量 常量与数据类型3 2运算符和表达式3 3常用函数3 4程序结构和编码规则3 5综合应用 本章目录 64 3 1变量 常量和数据类型 例如表达式 3 14 2 r3 1 1变量概述变量在程序运行中其存储的值可以改变命名规则 必须以字母或汉字开头 由字母 汉字 数字或下划线组成 长度小于等于255个字符不能使用VB NET中的关键字 P42 VB NET不区分变量名的大小写 常量全部用大写字母表示 本章目录 65 3 1 2数据类型 本章目录 66 3 1 3变量声明 1 用Dim语句显式声明变量Dim变量名 As类型 初始值 As部分缺省 创建的变量为Object类型初始值子句 表示给声明的变量赋值一条Dim语句可同时定义多个变量 由逗号分隔 这时不能给变量赋初值 例如 Dimm n jAsInteger x yAsSingle kk为Object类型 本章目录 67 3 1 4常量 常量是在程序运行中不变的量 VB NET中有三种常量 直接常量其常数值直接反映了其类型符号常量用户声明 便于程序阅读或修改Const符号常量名 As类型 表达式系统常量系统提供许多内部常量和枚举例如 vbCrLf回车 换行组合符枚举如控件的颜色 边框线型等 本章目录 68 3 2运算符和表达式 运算符是表示实现某种运算的符号 VB NET中的运算符可分算术运算符 字符串运算符 关系运算符和逻辑运算符四类 本章目录 69 3 2 1算术运算符 P55 例 5 10mod10 9 3 2 2结果 注意 对算术运算符两边的操作数应是数值型 若是数字字符或逻辑型 则自动转换成数值类型后再运算 例如 30 True结果是31 True自动转为数值 1 False转为数值0False 10 4 结果是14 本章目录 70 字符串运算符 万能型 有条件 左右都是字符串 1 数值型 则进行算术加运算 2 一个为数字字符 另一个为数值 自动将数字字符转换为数值后进行算术加 3 一个为非数字字符 另一个为数值型 出错 操作结果操作结果 ab 123 ab123 ab 12出错 12 456 12456 12 456468 12 True 12True 12 True11注意 在变量后使用运算符 时 变量与 间应加一个空格 本章目录 71 关系运算符 关系运算符是双目运算符 作用是对两个操作数进行大小比较 若关系成立 则返回True 否则返回False 操作数可以是数值型 字符型 本章目录 72 1 字符串2 3 如果字符串1的第n位的ASCII码值小于字符串2的第n位的ASCII码值则输出结果 1表示字符串1 字符串2 4 如果每一位的ASCII码值都相等 而且长度相同 则输出结果 0表示字符串1 字符串2 5 如果字符串1是字符串2的前m位 例如abcd与abcdef比较 则字符串1 字符串2 73 逻辑运算符 逻辑运算符除Not是单目运算符外 其余都是双目运算符 作用是将操作数进行逻辑运算 结果是逻辑值True或False 本章目录 74 3 2 2表达式 1 组成变量 常量 函数 运算符和圆括号2 书写规则运算符不能相邻例a b是错误的 a b呢 乘号不能省略例x乘以y应写成 x y括号必须成对出现 均使用圆括号 表达式从左到右书写3 不同数据类型的转换运算结果的数据类型向精度高的数据类型靠Integer字符运算符 关系运算符 逻辑运算 本章目录 75 表达式书写举例 a b c d e f g或a b c d e f g 例逻辑表达式书写 选拔优秀生的条件为 年龄 Age 小于19岁 三门课总分 Total 高于285分 其中有一门为100分 如果其表达式写为 Age285And Mark1 100OrMark2 100OrMark3 100 如果取消括号有何问题 sin 45 3 14 180 exp 10 log 10 sqrt x y 1 本章目录 76 3 3常用函数 P465 3 3 1名称空间和类VB NET通过名称空间把类库划分为不同的组 将功能相近的类划到相同的名称空间 名称空间 可以方便地组织应用程序要使用的各个类 本章目录 77 3 3 1名称空间和类 2 基础类库中的名称空间和类 本章目录 78 名称空间的使用 引用名称空间的方法 项目引用新建一个项目时 VB NET根据所建项目类型 自动导入部分名称空间的引用直接引用给出名称空间的全名 就可访问其中的任一个类及其各项内容例使用Math类开方函数sqrt Label1 Text system Math sqrt 100 Imports语句导入在代码中就可直接使用名称空间的类或成员 导入语句的格式 Imports名称空间 本章目录 79 3 3 2数学函数 NET中的数学函数包含在Math类 使用前在模块的开头用语句ImportsSystem Math导入 本章目录 80 数学函数 Rnd函数返回0和1 包括0但不包括1 之间的双精度随机数 每次运行时 要产生不同序列的随机数 先执行Randomize语句 产生a b的之间的随机整数 Int Rnd b a 1 a 本章目录 81 3 3 3转换函数 本章目录 82 3 3 4字符串函数 System String类的成员 函数 本章目录 83 字符串函数 本章目录 注意 Left和Right函数必须加限定 Microsoft Visualbasic否则认为是控件的相应属性 84 3 3 5日期函数 本章目录 85 3 3 6Shell函数 Shell函数可调用各种应用程序 格式如下 Shell 命令字符串 1 命令字符串为要执行的应用程序名 包括路径 必须是可执行文件 exe bat 第二参数为枚举中选择的值 该枚举与要在其中运行程序的窗口样式相对应 如果省略Style 则Shell使用AppWinStyle MinimizedFocus 这将使程序以最小化启动并具有焦点 函数调用成功返回一个任务标识ID 不成功 则返回0 例i Shell C WINDOWS system32 calc exe 1 本章目录 86 3 4程序结构和编码规则 本章目录 87 程序结构和编码规则 编码规则 1 VB NET代码不区分字母的大小写关键字首字母自动转换成大写 其余字母转换成小写 2 语句书写自由一行上可书写多句语句 用冒号分隔 一行最多255个字符 单行语句可分若干行书写 在本行后加入续行符 空格和下划线 本章目录 88 3 5综合应用 例3 3模仿字处理软件中字符串替换功能和字幕滚动 设计思路 利用Shell函数调用winword exe执行Word程序观察其替换对话框 本例字符串替换功能实现方法 利用替换 Replace 函数实现标题显示 Form1 Caption Space n 显示文字 要产生滚动效果 可用时钟 Timer1 控件和Space函数 改变空格数达到自右向左滚动字幕效果 本章目录 89 本章小节 变量 在程序运行中其存储的值可以改变值类型变量 引用类型变量变量声明Dim变量名 As类型 初始值 运算符算术运算符 字符串运算符 关系运算符和逻辑运算符名称空间导入Imports名称空间数学函数使用ImportsSystem MathShell函数调用各种应用程序 本章目录 90 第四章基本的控制结构 4 1顺序结构4 2选择结构4 3循环结构4 4其它辅助控制语句4 5综合应用4 6程序调试 本章目录 91 4 1顺序结构 VB NET也具有结构化程序设计的三种结构顺序结构选择结构循环结构它们是程序设计的基础 本章目录 92 4 1 1赋值语句 形式 变量名 表达式计算右边表达式的值 然后赋给左边的变量 sngRate 0 1 sngRate为单精度变量 赋值0 1TextBox1 Text 清除文本框的内容TextBox1 Text 欢迎使用VB Net 本章目录 93 复合赋值语句 复合赋值运算符 其作用简化程序代码 语句形式 变量名复合赋值运算符表达式复合赋值运算符 例如 a b 4等价于a a b 4 本章目录 94 常用复合赋值语句 累加sum x等价于sum sum x计数n 1等价于n n 1显示多行信息利用 来实现例如 TextBox1 Text VB NET vbCrLfTextBox1 Text 程序设计教程 本章目录 95 赋值语句注意点 赋值语句不允许写成表达式 变量 赋值号左边的变量只能是变量或对象 属性 不能是常量 常数符号 表达式 下面均为错误的赋值语句 Now x y 左边是表达式 函数 5 sqrt s x y 左边是常量 本章目录 96 4 2选择结构 VB NET中提供了多种形式的条件语句来实现选择结构 有If条件语句和Select情况语句等 它们都是对条件进行判断 根据判断结果 选择执行不同的分支 本章目录 97 4 2 1If条件语句 1 If Then语句 单分支结构 IfThen语句块 可以是一句或多句语句 EndIf或IfThen表达式 关系表达式 逻辑表达式 算术表达式 该语句的作用是当表达式的值为True 执行Then后面的语句块 否则不做任何操作 本章目录 IF演示 98 单分支结构 例 已知两个数x和y 比较它们的大小 使得x大于y Ifx yThent xx yy tEndIf或Ifx yThent x x y y t简单If形式无EndIf时 只能是一句语句或语句间用冒号分隔 而且必须在一行上书写 本章目录 99 双分支结构 2 If Then Else语句If表达式Then语句块1Else语句块2EndIf或If表达式Then语句1Else语句2当表达式的值为True时 执行Then后面的语句块1 否则执行Else后面的语句块2 本章目录 100 双分支结构例 计算分段函数 单分支ifx 0theny cos x x 3 3 x结构实现Ifx0Theny sin x sqrt x x 1 Ifx0Then双分支y sin x sqr x x 1 Else结构实现y cos x x 3 3 xEndIf 本章目录 101 多分支结构 3 If Then ElseIf语句If表达式1Then语句块1ElseIf表达式2Then语句块2 Else语句块n 1 EndIf 作用 根据不同的表达式值确定执行哪个语句块 本章目录 102 例4 5已知变量ch中存放了一个字符 判断该字符是字母字符 数字字符还是其他字符 IfUCase ch A AndUCase ch 0 Andch 9 Then 数字字符MsgBox ch 是数字字符 Else 除上述字符以外的字符MsgBox ch 是其他字符 EndIf 不管有几个分支 依次判断 当某条件满足 执行相应的语句 其余分支不再执行 若条件都不满足 且有Else子句 则执行该语句块 否则什么也不执行 ElseIf不能写成ElseIf 多分支结构例 本章目录 注意问题 103 If语句的嵌套是指If或Else后面的语句块中又包含If语If表达式1ThenIf表达式2Then EndIf EndIf Ifx yThent x x y y tIfy zThent y y z z tIfx yThent x x y y tEndIfEndIf If语句的嵌套 例已知x y z三个数 使得x y z用一个IF语句和一个嵌套的IF语句实现 本章目录 104 4 2 2SelectCase语句 SelectCase变量或表达式Case表达式列表1语句块1Case表达式列表2语句块2 CaseElse语句块n 1 EndSelect 表达式列表与变量或表达式的类型必须相同 是下面4种形式之一 表达式例 A 一组用逗号分隔的枚举值2 4 6 8表达式1To表达式260To100Is关系运算符表达式Is 60 本章目录 105 SelectCase语句例 将例4 5改用SelectCase语句实现 SelectCasechCase a To z A To Z MsgBox ch 是字母字符 Case 0 To 9 MsgBox ch 是数字字符 CaseElseMsgBox ch 是其他字符 EndSelect多分支结构 用SelectCase语句比If Then ElseIf语句直观 程序可读性强 但不是所有的多分支结构均可用SelectCase语句代替If Then ElseIf语句 本章目录 106 SelectCase语句例 例4 7已知坐标点 x y 判断其落在哪个象限 代码一Ifx 0Andy 0ThenMsgBox 在第一象限 ElseIfx0ThenMsgBox 在第二象限 ElseIfx0Andy 0ThenMsgBox 在第四象限 EndIf 代码二SelectCasex yCasex 0Andy 0MsgBox 在第一象限 Casex0MsgBox 在第二象限 Casex0Andy 0MsgBox 在第四象限 EndSelect 代码二错误 1 SelectCase后不能出现多个变量 2 Case后不能出现变量及有关运算符 本章目录 107 4 2 3条件函数 1 IIf函数IIf 表达式 表达式为真时的值 表达式为假时的值 IIf函数是If Then Else结构的简洁表示例如 将x y中大的数 放入Tmax变量中 Tmax IIf x y x y 该语句与如下语句等价 Ifx yThenTmax xElseTmax y 本章目录 108 4 2 3条件函数 2 Choose函数Choose 整数表达式 选项列表 根据表达式的值i 返回选项列表中第i个选项 如果整数表达式的值越出选项范围时 返回Null 例根据Nop的值 得到 中的某运算符 Op Choose Nop 本章目录 DimnopAsInteger opAsCharRandomize nop Int Rnd 4 1 op Choose nop MsgBox nop nop op op 109 4 3循环结构 上机实验msgbox 计算机最擅长的功能之一就是按规定的条件 重复执行某些操作 VB NET中提供了两种类型的循环语句 ForNext循环DoLoop循环 本章目录 110 4 3 1For循环语句 For循环语句用于控制循环次数预知的循环结构 For循环变量 初值To终值 Step步长 语句块 ExitFor 语句块Next循环变量循环变量必须为数值型 循环次数 例4 9计算1 100的奇数和 本章目录 Dimi sum Fori 1To100Step2sum sum iNextiMsgBox sum 111 For循环语句 例4 10将可打印的ASCII码制成表格输出 本章目录 例判断输入的数是否为素数素数就是除1和本身以外 不能被其他任何整数整除的数 根据此定义 判别某数m是否为素数最简单的方法就是依次用i 2 m 1去除 只要有一个数能整除m m就不是素数 否则m是素数 112 思考题 打印以下图形 113 4 3 2Do Loop循环语句 Do循环用于控制循环次数未知的循环结构 形式1 Do While Until 语句块 ExitDo语句块 Loop形式1为先判断后执行 有可能一次也不执行 形式2为先执行后判断 至少执行一次 例 列出输入数在1 100间的所有倍数 形式2 Do语句块 ExitDo语句块 Loop While Until 本章目录 114 循环例题 例4 11我国有13亿人口 按人口年增长0 8 计算 多少年后我国人口超过26亿 解此问题两种方法 可根据公式 直接利用标准函数对数可求得 但求得的年数不为整数 也可利用循环求得 本章目录 115 循环例题 例4 12用辗转相除法求两自然数的最大公约数 求最大公约数的算法思想 1 对于两数m n 使得m n 2 m除以n得余数r 例m 14 n 6的最大公约数Ifm0 m nn rr mmodnLoopMsgBox 最大公约数 n 3 若r 0 则n为最大公约数 结束 否则执行 4 4 m n n r 再重复执行 2 本章目录 代码说明流程图 116 4 3 3循环的嵌套 在一个循环体内又包含了一个完整的循环结构称为循环的嵌套 循环嵌套对For循环语句和Do Loop语句均适用 例4 13打印九九乘法表 思考 打印上三角或下三角程序如何改动 本章目录 代码说明 117 循环的嵌套 一个循环体内又包含了一个完整的循环结构称为循环的嵌套 对于循环的嵌套 要注意以下事项 内循环变量与外循环变量不能同名 外循环必须完全包含内循环 不能交叉 118 Fori 1To10Forj 1To20 NextjNexti Fori 1To10Forj 1To20 NextiNextj 119 Fori 1To10Fori 1To20 NextiNexti Fori 1To10 NextiFori 1To10 Nexti 120 循环的嵌套 例 逻辑断案 例 谁做好事 121 4 4其他辅助控制语句 例4 14判断输入的数是否为素数素数就是除1和本身以外 不能被其他任何整数整除的数 根据此定义 判别某数m是否为素数最简单的方法就是依次用i 2 m 1去除 只要有一个数能整除m m就不是素数 否则m是素数 要求一定范围内的素数 只要将m作为外循环体变量 本章目录 122 例 求100以内的所有素数 Form 2to100Nextm Fori 2tom 1ifmmodi 0thenExitForEndifNextiifi mthenLabel1 text mEndif 123 4 4 2退出和结束语句 1 Exit语句VB中有多种形式的Exit语句 用于退出某种控制结构的执行 Exit的形式如下 ExitFor ExitDo ExitSub ExitFunction2 End语句独立的End语句用于结束一个程序的运行 它可以放在任何事件过程中 本章目录 124 4 5综合应用 1 自测四则运算例4 15由计算机自动产生四则运算题 并能判断答案的正确性 设计思路 1 通过随机函数Rnd产生试题的操作数和运算符 运算符 可对应编号1 4 产生表达式通过Form Load事件过程 2 需要有一个全局变量保存四则运算题的正确答案 用户答案可通过文本框输入 3 本题主要将随机函数 If语句 Select语句综合在一起使用 本章目录 代码说明 125 综合应用 级数求和 例4 16求自然对数e的近似值 其误差小于0 00001 近似公式 分析 本例涉及到程序设计中两个重要运算 累加和连乘i 累加是在原有和的基础上再加一个数 连乘则是在原有积的基础上再乘以一个数 该题先求i 再将1 i 进行累加 循环次数预先未知 可先设置一个循环次数很大的值 然后在循环体内判断是否到达精度 当然也可用DoWhile来实现 本章目录 代码说明 126 综合应用 试凑法 例4 17百元买百鸡 假定小鸡每只5角 公鸡每只2元 母鸡每只3元 编程求解购鸡方案 分析 1 设母鸡 公鸡 小鸡各为x y z 列出方程为 x y z 1003x 2y 0 5z 100三个未知数 两个方程 此题求若干个整数解 2 计算机求解此类问题 采用试凑法 也称为穷举法 来实现 即将可能出现的各种情况一一罗列测试 判断是否满足条件 采用循环结构来实现 本章目录 127 综合应用 递推法 递推 迭代 法基本思想是把一个复杂的计算过程转化为简单过程的多次重复 每次都从旧值的基础上递推出新值 并由新值代替旧值 例4 18小猴有桃若干 第一天吃掉一半多一个 第二天吃剩下桃子的一半多一个 以后每天都吃尚存桃子的一半多一个 到第7天只剩一个 问小猴原有桃多少 分析 用后一天的数推出前一天的桃子数 设第n天的桃子为xn 是前一天的桃子的二分之一减去1 迭代法类似的应用求高次方程的近似根 本章目录 128 在若干个数中求最大值 一般先假设一个较小的数为最大值的初值 若无法估计较小的值 则取第一个数为最大值的初值 然后将每一个数与最大值比较 若该数大于最大值 将该数替换为最大值 依次逐一比较 综合应用 求最大或最小值 129 例 随机产生10个100 200之间的数 求最大值 Dimx i maxx Int Rnd 101 100 max xTextBox1 Text x vbCrLfFori 1To9x Int Rnd 101 100 TextBox1 Text x vbCrLfIfx maxThenmax xNextiTextBox1 Text 最大值 max vbCrLf 130 例实际应用 求最短残料 有一根长度为321米的钢材料 要将它截取成两种规格a b的长度分别为17米和27米的短料 每种至少1段 问分隔成a b各多少段后 剩余的残料r最少 分析 该题利用 试凑法 通过二重循环求残料r的最小值 正数 残料不可能是负数 131 Dima b r ia ib r 321 最小值初值取钢材料的长度Forb 1To321 27 b最多的段数Fora 1To 321 b 27 17 a最多的段数t 321 b 27 a 17 当前的残料Ift 0Andt rThenr t 求最短的残料ia a 最短残料时a的段数ib b 最短残料时b的段数EndIfNextaNextbTextbox1 text a的段数为 ia b的段数为 ib 此时最短残料为 r 132 4 6程序调试 随着程序的复杂性提高 程序中的错误也伴随而来 对初学者 看到出现错误不要害怕 关键是如何改正错误 失败是成功之母 上机的目的 不光是为了验证你编写的程序的正确性 还要通过上机调试 学会查找和纠正错误的方法和能力 VB NET为调试程序提供了一组交互的 有效的调试工具 在此逐一介绍 本章目录 133 4 6 1错误类型 语法错误 运行时错误和逻辑错误三类 语法错误 本章目录 134 运行错误 指令代码执行了一非法操作引起的 例如 类型不匹配 试图打开一个不存在的文件等 程序会自动中断 并给出有关的错误信息 本章目录 135 逻辑错误 程序运行后 得不到所期望的结果 这说明程序存在逻辑错误 例如 运算符使用不正确 语句的次序不对 循环语句的起始 终值不正确等 通常 逻辑错误不会产生错误提示信息 故错误较难排除 需要程序员仔细地阅读分析程序 并具有调试程序的经验 本章目录 136 4 6 2调试和排错 VB NET的三种模式 1 设计模式 设计 可以进行程序的界面设计 属性设置 代码编写等 2 运行模式 运行 执行启动命令进入运行模式 在此阶段 可以查看程序代码 但不能修改 3 中断模式 Break 执行中断命令 进入中断模式 在中断模式下可以查看代码 修改代码 检查数据 本章目录 137 调试和排错 插入断点 鼠标指向所关心的变量 本章目录 138 PictureBox图片控件 设计阶段 在属性窗口装载图片删除图片 运行阶段 通过代码装载图片PictureBox1 image image fromfile 图片的完整路径 删除图片PictureBox1 image Nothing 本章目录 139 PictureBox图片控件 最重要属性 SizeModeAutoSizeCenterImageNormalStretchImage例 蝴蝶飞2 本章目录 140 定时器 定时器以一定的时间间隔产生Tick事件属性Enabled为False时定时器不产生Tick事件Interval触发Tick事件的时间间隔 单位ms事件定时器控件只有一个Tick事件产生Tick事件条件Enabled True Interval 0例设计一个倒计时应用程序例用一个定时器控制蝴蝶在窗体内的飞舞 本章目录 141 综合应用 例利用时钟和图像控件 模拟自动红绿灯分析 改变时钟的Interval属性来延迟不同颜色的灯 例如 红灯延迟2秒 则在切换到红灯后把Interval设置为2000 这样过2秒后发生Timer事件再切换到其它颜色的灯 用变量i控制红绿灯的自动切换 它的值在0 2之间循环变化 i为0时显示红灯 i为1时显示黄灯 i为2时显示绿灯 本章目录 142 第五章数组 5 1数组的概念5 2数组声明及初始化5 3重定义数组大小5 4数组的基本操作和排序5 5结构类型及其数组5 6综合应用 本章目录 143 5 1数组的概念 1 引例例5 1求100个学生的平均成绩 并统计高于平均分的人数 用简单变量和循环 求平均成绩程序段如下 aver 0Fori 1To100mark InputBox 输入学生成绩 aver aver markNextiaver aver 100由于循环体内变量mark只能放一个学生的成绩 无法统计高于平均分的人数 若用简单变量保存100个学生的成绩 则需定义1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论