VB复习编程总结.doc
《VB复习编程总结.doc》由会员分享,可在线阅读,更多相关《VB复习编程总结.doc(37页珍藏版)》请在咨信网上搜索。
1、VB复习一:基础知识 对象的有关概念l 1.对象Object:VB中常用的对象有:窗体、控件等。 2.对象的三要素 (1)属性Property:用来描述和反映对象外部特征的参数。 (2)方法Method:允许其他对象与之交互的方式,表明一个对象所具有的能力。 (3)事件Event:响应对象的动作称为事件,它发生在用户与应用程序交互时。如单击控件、鼠标移动、键盘按下等。 事件驱动EventDriven:VB为窗体和大多数控件都规定了一组事件,当应用程序被启动后,VB随时准备捕获各种事件。一旦发生了某个事件,VB就会执行与该事件相联系的事件过程;执行完后,VB等待下一个事件的发生。 VB程序的执行
2、步骤如下:l (1)启动应用程序,装载和显示窗体; (2)窗体(或窗体上的控件)等待事件的发生; (3)事件发生时,执行对应的事件过程; (4)重复执行步骤(2)和(3); (5)直到遇到END结束语句结束程序的运行;或按“结束”强行停止程序的运行。 VB集成开发环境l 1.主窗口 应用程序窗口,由标题栏、菜单栏和工具栏组成。 2.窗体(form)窗口 设计VB程序的界面。 3.代码(code)窗口 编辑窗体、标准模块中的代码。 4.属性(properties)窗口 所有窗体或控件的属性设置。 5.工程资源管理器(projectexpror)窗口 保存一个应用程序所有的文件。 6.工具箱(to
3、olbox)窗口 显示各种控件的制作工具,供用户在窗体上设计 建立VB程序的步骤l 1.建立用户界面的对象,并设置对象属性; 2.对象事件过程及编程; 3.程序运行和调试; 4.保存文件: 窗体frm格式和vb工程vbp格式 VB编码基础l 1.VB代码不区分字母的大小写 系统保留字自动转换每个单词的首字母大写; 用户自定义行以第一次为准。 2.语句书写自由 一行可书写几句语句,之间用冒号分隔; 一句语句可分若干行书写,用续行符_(空格+下画线)连接一行字符运算符关系运算符逻辑运算 说明: 1当一个表达式中出现多种运算符时,首先进行算术运算符,接着处理字符串连接运算符,然后处理比较运算符,最后
4、处理逻辑运算符,在各类运算中再按照相应的优先次序进行。 2可以用括号改变优先顺序,强令表达式的某些部分优先运行。括号内的运算总是优先于括号外的运算。对于多重括号,总是由内到外。 .表达式的书写中需注意的问题 (1)运算符不能相邻。例a+-b是错误的。 (2)乘号不能省略。例x乘以y应写成:x*y (3)括号必须成对出现,均使用圆括号。 (4)表达式从左到右在同一基准并排书写,不能出现上下标 (5)要注意各种运算符的优先级别,为保持运算顺序,在写表达式时需要适当添加括号(),若用到库函数必须按库函要求书写。 4.不同数据类型的转换 运算结果的数据类型向精度高的数据类型靠。 IntegerLong
5、SingleDouble0与int(N)相同,当N0时,int(N)与fix(N)-1相等。 例如:Fix(9.59)=9,Int(9.59)=9 Fix(-9.59)=-9,Int(-9.59)=-10 思考:如何实现四舍五入取整? (2)Asc(Abcd)值为:65(只取首字母的Ascii值) (3)Val(abc123)值为:0,Val(1.2sa10)值为1.2 注意:Val()函数只将最前面的数字字符转换为数值 常用方法 方法是面向对象的,故使用的形式为:对象.方法 Print方法 形式:对象.PrintSpc(n)|Tab(n)表达式列表;|, 作用:在对象上输出信息 对象:窗体、
6、图形框或打印机(Printer),省略对象在窗体上输出。 Spc(n)函数:插入n个空格,允许重复使用。 Tab(n)函数:左端开始右移动n列,允许重复使用。 ;(分号):光标定位上一个显示的字符后。 ,(逗号):光标定位在下一个打印区的开始位置处。 无;,时换行。 开始打印的位置缺省为打印对象的左上角0,0。 注意:Print方法在Form_Load事件过程中起作用,必须设置窗体的 AutoRedraw为True。 二:程序结构 顺序结构 VB程序设计采用结构化程序设计的思想。在VB中有3种基本的程序流程结构:顺序结构、选择结构和循环结构。所有的程序都可以看成是这三种结构或三种结构的组合。
7、顺序结构 所谓顺序结构,就是在程序运行过程中,按照语句的顺序逐条执行。顺序结构中主要的语句是赋值语句、输入输出语句及End语句等。赋值语句 赋值语句是最基本的语句之一,通过赋值语句,可以在程序中改变变量的值,或改变对象属性值。其语法格式为: 变量名=表达式 对象.属性=表达式 例如:A=Text1.Text B=0 Text1.Text=Text1.Text+Command1.Caption A=2=3结果为false(表达式2=3的值) sb=Round(Sqr(delt)/(2*a),7) 选择结构 1.IfThen语句(单分支结构) IfThen 语句块 EndIf 或IfThen 例:
8、已知两个数x和y,比较它们的大小,将大的数存在x中 IfxyThen t=x x=y y=t EndIf 或Ifx0Then x1=(-b+Sqr(b*b-4*a*c)/(2*a) x2=(-b-Sqr(b*b-4*a*c)/(2*a) Label4.Caption=方程有两实根,分别为:+Str(x1)+Str(x2) ElseIfb*b-4*a*c=0Then x2=(-b)/(2*a) Label4.Caption=方程有一根,为:+Str(x2) Else Label4.Caption=方程没有实根 EndIf EndSub 循环结构 循环结构语句 1For循环 FOR循环一般格式:
9、For循环变量初值to终值step步长 语句组(也被叫做循环体) next循环变量 例题:累加器s=1+3+5+7+9+19s=0 fori=1to20step2 s=s+i nexti prints 答案:100 注意1:初值和终值即可是整数,也可是小数 s=0 fori=1.2to4.9step0.2 s=s+1 nexti prints 答案:19 注意2:步长1时,可省略不写;步长值不能为0 例题:累乘器: s=1 fori=1to5 s=s*i nexti prints 答案:120 注意3:初值和终值大小 s=1 fori=5to1step2 s=s*i nexti prints
10、答案:1(因为循环条件不满足,循环语句没执行) 将步长改为2,答案为_ 练习:求1到100的和。 PrivateSubCommand1_Click() DimiAsInteger,sumAsInteger sum=0 Fori=1To100 sum=sum+i Nexti Printsum EndSub 累乘器:乘=1*2*3*100 PrivateSubCommand2_Click() DimiAsInteger,chengAsSingle cheng=1 Fori=1To10 cheng=cheng*i Nexti Printcheng EndSub 累加、累乘 累加、累乘是较常见的数值问
11、题。累加(累乘)是将多个数 相加(乘),所以一般采用循环结构来实现。在循环体中应有表 示累加(如sum=sum+x)或累乘(如t=t*i)的赋值语句。需要注 意的是,累加中用于存放和的变量一般赋初值为0,而累乘中用于 存放积的变量赋初值为1。 例题:阶乘求1!+2!+n!,n由键盘输入。 【分析】该题先求阶乘,再将阶乘值累加。循环次数由用户输入确定(即n的值)。 PrivateSubForm_Click() Dimsasdouble,tasdouble,nasinteger s=0 t=1 n=val(InputBox(“请输入n的值”) Fori=1ton t=t*i求i! s=s+t Ne
12、xti Print“1!+2!+”;n;”!=”;s EndSub 4037913 三:静态数组及声明 数组不是一种数据类型,而是一组相同类型的变量的集合,数组必须先声明后使用。 两类数组:静态(定长)数组、动态(可变长)数组 1.静态数组及声明 形式:Dim数组名(下标1,下标2)As类型 声明了数组的名、维数、大小、类型 维数:几个下标为几维数组,最多60维。 下标:下界To上界省略下界为0,必须为常数。 每一维大小:上界下界+1 数组大小:每一维大小的乘积 例:Dimmark(1to100)AsInteger 数组的基本操作 1.用循环数组元素进行赋值 Fori=1To10 iA(i)=
13、0 Nexti 2.用循环输出数组元素 Fori=1To10 printiA(i) NextI 四:穷举法 穷举法的基本思想是:对要解决的问题的所有可能情况一一检查,从中找到符合要求的答案。 例题: 百元买百鸡问题。假定公鸡每只5元,母鸡每只3元,小鸡1元钱3只。现在有100元钱要求买100只鸡,而且每一种鸡都要有,请编程列出所有可能的购鸡方案。 设公鸡、母鸡、小鸡各为x、y、z只,根据题目要求,列出方程为: x+y+y=100 3x+5y+z/3=100 三个未知数,两个方程,此题有若干个解,采用“穷举法”,把每一种情况都考虑到。 最简单三个未知数利用三重循环来实现。 PrivateSubC
14、ommand1_Click() Dimx,y,zAsInteger DimaAsInteger Forx=1To20 Fory=1To33 Forz=1To100 If5*x+3*y+z/3=100Andx+y+z=100Then Printx=;x; Printy=;y; Printz=;z EndIf Nextz Nexty Nextx Print EndSub 运行结果如下: 例题:求100-999之间的所有“水仙花数”。“水仙花数”是一个三位数,其各位数字的立方和等于该数本身。例如:153=13+53+33,153是一个水仙花数。 【分析】采用穷举法对指定范围内的每一个数进行判断它是否
15、为水仙花数。判断一个数是否为水仙花数的关键是如何将此数的各位数字分离出来。如对于数据153,可采用下面的方法分离其各位数字 (1)int(153/100),得到百位数字1。 (2)int(153-1*100)/10),得到十位数字5。 (3)153-1*100-5*10,得到个位数字3。 程序代码如下: PrivateSubForm_Click() Dimi%,a%,b%,c% Fori=100to999 a=i100 b=(i-a*100)10 c=i-a*100-b*10 Ifi=a*a*a+b*b*b+c*c*cThenPrinti; Nexti EndSub 运行结果如下: 15337
16、0371407选择结构 1ifThen语句 语句格式: (1)IfThen (2)IfThen EndIf 语句功能:当的值为True或非零时,执行Then 后面的语句(或语句块),否则不做任何操作,实现单分支 选择结构。 2IfThenElse语句 语句格式: (1)IfThenElse (2)IfThen Else EndIf 语句功能:当的值为True或非零时,执行Then后面的语句(语 句块),否则执行Else后面的语句(或语句块),实现双分支选择结构 例如:输入一个整数,判断其奇偶性。 程序代码如下: PrivateSubForm_Click() Dimxasinteger x=In
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 复习 编程 总结
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。