VB复习资料.doc_第1页
VB复习资料.doc_第2页
VB复习资料.doc_第3页
VB复习资料.doc_第4页
VB复习资料.doc_第5页
已阅读5页,还剩146页未读 继续免费阅读

下载本文档

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

文档简介

以下资料请同学们自行打印或相互复印,下学期讲课要用。另外:暑期内请同学们将强化训练教材上的题目和下面补充的题目做一下(上机题至少要做完前30套),一开学我们将组织考试,考试的成绩计入强化训练成绩,请各位同学认真复习,争取在9月份的考试中一次性通过。vb强化训练复习资料2009年7月2日visual basic程序设计基础知识要点(概念分析篇)知识点1:(1) 在工程资源管理器窗口中可以包含:工程文件、窗体模块文件、标准模块文件和类模块文件(其中可以包含许多各种文件类型)。(2) visual basic应用程序可以以解释方式执行和编译方式执行。 例题:(1)以下叙述中错误的是 a a在工程资源管理器窗口中只能包含一个工程文件及属于该工程的其他文件。 b以.bas为扩展名的文件是标准模块文件。 c窗体文件包含该窗体及其控件的属性。 d一个工程中可以有多个标准模块文件。(2)以下叙述中错误的是 c a打开一个工程文件时,系统自动装入与该工程有关的窗体、标准模块等文件。 b保存visual basic程序时,应分别保存窗体文件及工程文件。 cvisual basic应用程序只能以解释方式执行。 d事件可以由用户引发,也可以由系统引发。知识点2:(1) 窗体和各种控件的名称(name)是唯一的,用来标识一个窗体或控件的。而窗体和控件的标题是用来说明的,是可有可无的。(2) 各种控件之间有部分相同的属性,并不是拥有所有属性。控件有些属性只能在属性窗口中设置,但也有少数属性只能在代码状态设置。(3) form1.hide方法和unload form1方法的区别:第一个方法窗体消失并不存在于内存中;第二个方法窗体消失但仍存在于内存中。例题:(1)以下叙述中正确的是 a a窗体的name属性指定窗体的名称,用来标识一个窗体。 b窗体的name属性的值是显示在窗体标题栏中的文本。 c可以在运行期间改变对象的name属性的值。 d对象的name属性值可以为空。(2)以下叙述中错误的是 c avisual basic是事件驱动型可视化编辑工具。 bvisual basic应用程序不具有明显的开始和结束语句。 cvisual basic工具箱中的所有控件都具有width和height属性。 dvisual basic中控件的某些属性只能在运行时设置。知识点3:(1) 标签(label1):autosize的true属性可以自动调整标签的大小,而false属性不能。(2) 文本框(text1):1、maxlength属性表示文本框所能容纳的字符数。2、password属性表示口令输入,可以是“*”或“?”等。设置文本框输入字符为“*”:text1.password=”*”,还原文本框字符:text1.password=”,3、scrollbars属性是表示文本框有垂直或水平滚动条,但是需要和多行属性multiline结合一起使用。4、sellength属性是表示选中文本框中字符的个数:text1.sellength。selstart属性是表示选中文本框中字符或光标之前的字符数:text1.selstrart。seltext属性是表示选中文本框中的字符:text1. seltext。5、文本的主要事件是change事件:(标签内容随文本框内容变化而变化)private sub text1_change() label1.caption=text1.textend sub 6、文本框的方法只有一个:text1.setfocus 例题:(1) 能够获得一个文本框中被选取文本的内容的属性是 c atext b. sellength c. seltext d. selstrart(2) 在窗体上画一个文本框(其名称为text1)和标签(其名称为label1)。要求程序运行后,如果在文本框中输入字符,则立即在标签中显示相同的内容。以下可以实现上述操作的事件过程是 a aprivate sub text1_change() b. private sub text1_click() label1.caption=text1.text label1.caption=text1.text end sub end subcprivate sub label1_change() d. private sub label1_click() label1.caption=text1.text label1.caption=text1.text end sub (3)命令按钮(command1): 1、default属性:当一个命令按钮的default属性为true时,按回车键和单击该命令按钮的效果相同。 2、cancel属性:当一个命令按钮的cancel属性为true时,按esc键和单击该命令按钮的效果相同。(4)单选按钮和复选框(option1和check1): 1、单选按钮:value属性的值是true(选中)和false(未选中),option1.value=true等同于option1.value用法。 2、复选框:value属性的值是0(未选中)、1(选中)和2(表示暂时不可用)。check1.value=false可以用,但check1.value=true不可用(因为true只能转化数值1而不是1)。(5)列表框(list1): 1、list属性是一个数组型属性:list1.list(索引),索引可以是数字0、1,list1.listindex,变量i(list1.text等同于list1.list(list1.listindex))。 2、multselect属性:用来设置一次可以多选表项数。multselect属性值为0时,每次只能选择一项;multselect属性值为1时,可以同时选择多个项目;multselect属性值为2时,可以用辅助键shift或ctrl选择多个项目。 3、常用方法:additem方法表示添加的是一个项目,而removeitem方法表示通过删除索引的方式删除项目。removeitem 索引 索引可以是数字0、1,list1.listindex,变量i。 (6)组合框(combo1): 1、style属性:style属性值为0时,表示下拉式组合框;style属性值为1时,表示下简单组合框;style属性值为2时,表示下拉式列表框。其他功能类似列表框(list1)。 (7)图片框和图像框(picture1和image1): 1、图片框(picture1):autosize属性值为true时,表示图片框大小随图片大小改变而改变;autosize属性值为false时,表示图片框只能部分显示大图片。 2、图像框(image1):stretch属性为true时,图片大小随图像框的大小改变而改变;stretch属性为true时,图像框的大小随图片大小的改变而改变。3、两种图形类型都可以按照下面这个方法加载图片: picture1.picture=loadpicture(app.path & “图片名称.扩展名”) image1.picture=loadpicture(app.path & “图片名称.扩展名”) 如果要清楚图片: picture1.picture=loadpicture(“”) image1.picture=loadpicture(“”)注意:如果使用app.path方法需要先保存好窗体文件和工程文件到考生文件夹中。 (8)滚动条(hscroll1): 1、max和min属性是分别表示滚动条的最大和最小刻度,刻度值用value属性值来表示:hscroll1.value。 2、largechange和smallchange属性是分别表示移动滚动条上的左右箭头按钮的移动量和移动滚动条上滚动框的移动量。 3、scroll和change事件分别表示拖动滚动条上滚动框的操作和单击滚动条上箭头按钮的操作。 (9)计时器(timer1): 1、enabled属性:enabled属性值为true时,表示计时器可以走动;enabled属性值为false时,表示计时器停止走动; 2、interval属性:是表示计时器运动的时间间隔,单位为毫秒。1秒时间:timer1.interval=1000。 3、enabled和interval这两个属性一般情况下需要一起使用。知识点4: (1)visual basic常用函数的使用方法: 1、数学函数: 求平方根:sqr(n) 求自然对数log(n)lnn log78=loge8/loge7(注意非e为底的对数需要如此转换) 求以e为底的幂值,ex exexp(x) 1 n0 sqn(n)= 0 n=0 rad()-x=int(rnd*(上界下界+1)+下界(产生随机整数) 2、转换函数: str(x) 数值x转换成字符串 str(12.75)=” 12.75” 这样转换12.75之前会多出一位。如果使用cstr(12.75)=”12.75” 这样转换12.75之前不会多出一位。 val(x) 字符x转换成数值,但x要一定是数字字符才行,val(“12.75”)=12.75,如果是含有其他字符val(“12.7ab”)将无法转换。 chr(x) 返回以x为asccii代码值的字符 chr(97)= ”a”;asc(x) 给出字符x的asccii代码值 asc(“a”)=65 三种类型ascii代码值转换:asc(“0”)asc(“9”)-4857 asc(“a”)asc(“z”)-6590asc(“a”)asc(“z”)-97122特殊情况:asc(“abc”)=65 只求第一个字符“a”的ascii代码值 fix(x) 将数值型数据x的小数部分舍去 fix(12.8)=12 fix(-12.5)=-12;int(x) 取小于等于x的最大整数 当x0时,用法和fix一样;当x - (* /) mod (+ -) 关系运算符 = = like is 运算符优先级相同 逻辑运算符 运算符的优先级:not and or xor eqv 例题: (1) 表达式4 + 5 6 * 7 / 8 mod 9 的值是 b a4 b. 5 c. 6 d. 7 (2) a=3 b=2 c=1 求 print abc 的结果? 首先ab的结果是true,然后再print truec 此时true需要转换成-1再比较,print -11 结果是false,所以整个输出结果是false。知识点6: 1、交互函数的使用: inputbox函数: a=inputbox(提示信息,标题信息,默认值或输入框的值) 例题: (1) 执行下列语句后,将显示输入对话框,此时如果单击“确定”按钮,则变量strinput的内容是 c strinput=inputbox(请输入字符串,字符串对话框,字符串) a请输入字符串 b. 字符串对话框 c. 字符串 d. 空字符串 msgbox函数: msgbox “提示信息”, 按钮类型值+图标类型值+默认焦点值, “标题信息” a= msgbox “提示信息”, 按钮类型值+图标类型值+默认焦点值, “标题信息”;a的值根据单击什么按钮有关,a的值在1,7之间取值。比如:单击“确定”按钮,a=1。例题: (1)以上图形所表示的函数表达式为:msgbox 请输入查询的学生学号:, 3 + 32 + 256, 学生基本信息查询知识点7: 1、选择结构语句(if条件语句): 单分支条件语句: 格式: if 条件 then 语句块 end if (称if块语句) if 条件 then 只有一条语句 (称if条语句) 双分支条件语句: 格式:if 条件 then 语句块1 else 语句块2 end if 多分支条件语句 if 条件1 then 语句块1 elseif 条件2 then 语句块2 。 else 语句块n end if 其中,条件可以是:关系表达式(a5)、逻辑表达式(a5 and c4)、变量(i)或常数(0)。 例题: (1) 下列程序段的执行结果为 a x=5 y=-20 if not x0 then x=y-3 else y=x+3end ifprint x-y;y-xa. -3 3 b. 5 -8 c. 3 -3 d. 25 -25以上题中的“条件”主要是逻辑表达式。 (2) 下列程序段的执行结果为 b x=2 y=1 if x*y0 a. true b. false c. -1 d.1 以上题中的“条件”主要是关系表达式。(3) 下列程序段的执行结果为 c dim x as integer if x then print x else print x-1 a. 1 b. 0 c. -1 d.不确定 以上题中的“条件”主要是变量。2、选择结构语句(select case语句):select case 测试表达式 case 表达式列表1 语句块1 case 表达式列表2 语句块2 。 case else 语句块nend select注意:测试表达式的类型只能是数值数据或字符型,表达式列表的值只要第一个符合测试表达式值的要求,就结束select case语句;表达式列表可以是三种结构或三种混合结构:、1 to 10 、1,3,5,6,7,8 、is10 、1,2,5,7,is10 例题: (1) 在窗体上画一个名称为command1的命令按钮和两个名称分别为text1和text2的文本框,然后编写如下事件过程: private sub command1_click() n=text1.text select case n case 1 t 10 x=10 case 2,4,6 x=20 case is5)、逻辑表达式(a5 and c4)、变量(i)或常数(0)。执行过程:条件成立,变量的值就是“参数1”,否则变量的值就是“参数2”。 例题: (1) 设a=6,则执行语句:x=iif(a5,-1,0)后,x的值为 d a. 5 b. 6 c. 0 d. -1知识点8: 1、循环结构 for 循环变量=初值 to 终值 step 步长 循环体 if 条件 then 语句 exit for end if next 循环变量 do 循环体loop while 条件 注意:循环如果正常退出时(没有执行exit for语句),那么循环变量必须要大于终值或等于终值+步长。 do while 条件 循环体 loopdo 循环体loop until 条件 do until 条件 循环体 loop 注意:左边上下两种循环是先判断条件后执行循环体,右边上下两种循环是不管条件成立与否都至少执行一次;while循环是条件成立执行循环体,until循环是条件不成立执行循环体。例题: (1) 下列程序段的执行结果为 b s=0:t=0:u=0 for x=1 to 3 for y=1 to x for z=y to 3 s=s+1 next z t=t+1 next y u=u+1 next x print s;t;u a. 3 6 14 b. 14 6 3 c. 14 3 6 d. 16 4 3 分析: a组语句和b语句都在x循环内,并且是并列的,所以可以先计算b组语句,a组语句暂时不算,这样很容易求出u=u+1语句循环了三次,则u=3;c组语句和d语句都在y循环内,并且是并列的,所以可以先计算d组语句,c组语句暂时不算,这样也比较容易求出t=t+1语句循环了六次,则t=6;然后再结合答案很快就能得出答案是选b。知识点9: 1、数组: 数组的概念 等级考试主要考一维数组、二维数组和三维数组(三维的只需知道数组中可以存储多少数据即可)。数组的格式:a(2,3 to 7,-1 to 2),那它的存储空间大小计算:每一维用上界-下界+1计算,例如 (2-0+1)*(7-3+1)*(2-(-1)+1)=3*5*4=60。 数组的下标下界是根据语句option base n来决定:当n=0时,数组下标下界是从0开始;当n=1时,数组下标下界是从1开始。 数组分为:固定大小数组: dim a(10) as integer动态大小数组: dim a() as integer redim a(10) array函数用法:为一个变体型变量创建一个数组。 dim a as variant a=array(1,2,3,4,5) 因此:a(0)=1 a(1)=2 a(2)=3 a(3)=4 a(4)=5 注意:如果数组被定义为一下三种类型,(1) 数值型 (2) 字符型 (3)逻辑型 ,则它们初始化的数组元素数值分别为:0 、空字符串和false 。 例题: (1) 在窗体上画一个命令按钮(其name属性为command1),然后编写如下代码: private sub command1_click() dim a(4,4) as integer for i=1 to 4 for j=1 to 4 a(i,j)=(i-1)*3+j next j next i for i=3 to 4 for j=3 to 4 print a(j,i) next j print next i end sub 程序运行后,单击命令按钮,其输出结果为 d 。 a. 6 9 b. 7 10 c. 8 11 d. 9 12 7 10 8 11 9 12 10 13 分析: 对循环和数组结合的问题,往往要先看b组语句输出结果是什么,然后根据b组语句输出结果代入到a组语句中求结果。a(3,3) a(4,3)a(3,4) a(4,4) b组语句输出结果:9 1210 13 代入a组语句的结果: 知识点10: 1、过程与函数: 过程与函数的参数类型有:实参和形参;传递方式有:值传递和地址传递。 以下程序中,x,y为实参;a,b为形参 注意:实参要与形参的类型、个数要相同。 在形参a,b之前如果加上关键字byval,那么就是值传递;如果加上关键字byref或不加关键字,那么就是地址传递。 过程调用方式有两种:call swap(x,y)或swap x,y (swap是过程名) 注意:只有地址传递方式才能实现交换功能,值传递方式x,y的值不变。当有事件过程和通用过程一起运行时,先执行事件过程(command_click)。 例题: (1) 假定有如下的sub过程: sub s(x as single, byval y as single) t=x x=t/y y=t mod y end sub 在窗体上画一个命令按钮,其名称为command1,然后编写如下事件过程: private sub command1_click() dim a as single, b as single a=5:b=4 s a,b print a,b end sub 程序运行后,单击命令按钮,输出结果为_c_。 a. 5 4 b. 1 1 c. 1.25 4 d. 1.25 1 程序分析: 首先形参x是地址传递方式,当a传递给x时,因此a与x拥有一个共同存储空间,图形表示:;形参y是值传递方式,当b传递给y时,因此b与y是两个不同存储空间,图形表示:;那么在过程s中:运算x=t/y后,x=1.25,图形表示;因此a的值就是1.25;运算y=t mod y后,y=1,图形表示:,因为此时b和y存储空间不同,则不影响b的值,则还是4,因此print a,b的结果就是选择c答案。知识点11: 1、菜单和鼠标事件 菜单编辑器的使用: 注意:菜单中的标题可以为空,但不论是第几级菜单名称必须唯一,且不能为空。 鼠标事件(按下鼠标键事件过程) 主要事件有:form_mousedown 、 form_mouseup 和 form_mousemove。现在以某个为例说明: private sub form_mousedown(button as integer, shift as integer, x as single, y as single) end sub 上述事件过程不仅使用在窗体上(form_mousedown),还可以使用于大多数控件上,包括命令按钮(command1_mousedown)或文本框(text1_mousedown)等。 以上鼠标事件过程的参数,含义如下: (1)button 有值1、2和4,分别表示按下左键、右键和中建; (2)shift 表示shift、ctrl和alt键的状态,其值分别是1、2和4; (3)x,y 表示鼠标光标的坐标位置 弹出式菜单(菜单和鼠标事件的结合使用) private sub form_mousedown(button as integer, shift as integer, x as single, y as single) if button=1 then 按下鼠标左键 popupmenu file 通过popupmenu方法弹出菜单 end if file是一级菜单的名称 end sub 运行效果: 2、公共对话框(又称通用对话框) 通用对话框是我们考试中唯一一个控件箱中没有的控件,需要我们自己添加的,添加的方法是在“工程”菜单的“部件”项中选择“microsoft common dialog control 6.0”后,才会在控件箱中出现通用对话框图标。 通用对话框图形根据以上图形,相应的程序代码如下:注意:commondialog.filterindex = 索引 (索引是从1开始)知识点12: 1、文件 文件包括三种:顺序文件、随机文件和二进制文件 顺序访问:文件中数据是以ascii码存储的。 随机访问:文件长度记录是固定不变的,数据类型可以不同,数据以二进制方式存储在文件中,可以任意时候,任意地方访问。 二进制访问:必须知道数据是如何写入文件的。 如果源文件是字符类型,那么读写文件如下所示:读文件的格式: open app.path & 文件名(in.txt) for input as #文件号(#1) do while not eof(文件号) input #文件号,变量 loop close #文件号 写文件格式: open app.path & 文件名(out.txt) for output(append) as #文件号(#1) print #文件号,变量 close #文件号 注意:当写文件以output方式时,原来的文件内容将被覆盖;当写文件以append方式时,新的文件内容将被添加到文件尾部; 如果源文件是数值类型,那么读写文件如下所示: dim a(10) as integer open app.path & 文件名(in.txt) for input as #文件号(#1) for i=1 to 10 input #文件号,a(i) next i close #文件号 写文件格式: open app.path & 文件名(out.txt) for output(append) as #文件号(#1) for i=1 to 10print #文件号,a(i) next i close #文件号 例题: (1)在考生文件夹下有文件in5.txt,文件中有字符串“0&1%$s#2&3!45u6ydf7ff8|9er”。请在forml的窗体上画一个文本框,名称为text1,能显示多行;在画一个命令按钮,名称为cl,标题为“存盘”。编写适当的事件过程,使得在加载窗体时,把in5.txt文件的内容中数字字符显示在文本框里。然后单击“存盘”按钮,把文本框中的内容存到文件out5.txt中。如图所示: 根据题目要求,所编写程序如下: (2) 在考生文件下有文件in.txt,文件有10个数据:123 521 362 821 400 300 710 990 120 500. 请在forml的窗体上画一个文本框,名称为text1,能显示多行;在画一个命令按钮,名称为cl,标题为“存盘”。编写适当的事件过程,使得在加载窗体时,把in5.txt文件的内容显示在文本框里,然后统计10 个数的最大数、最小数和它们的和,并把最大数、最小数和它们的和写到“out.txt”文件中。如图所示:根据题目要求,所编写程序如下:visual basic程序设计基础知识要点(程序设计篇)全国计算机等级考试中常用的程序编程部分:一、 求最大数、最小数、求和以及求平均数二、 求阶层三、 求最大公约数四、 求素数五、 求水仙花数(拆数法)六、 排序(选择排序、直接插入排序和冒泡排序)七、 字符操作1、 字符串取反(反向输出字符串)2、 判断字符串中的某个字符是否为字母3、 统计每类字符的个数八、 矩阵求法(二维数组)九、 文件读写操作1、 字符型读写操作2、 数值型读写操作 九大问题具体例子分析: 一、求最大数、最小数、求和以及求平均数 例题:随机产生10个两位整数,并存入数据a中,然后分别求10个元素中的最大数、最小数、求10个元素之和以及它们的平均数。 private sub command1_click() dim a(10) as integer, i as integer, max as integer, min as integer dim sum as integer, avg as single sum=0 for i= 1 to 10 a(i)=int(rnd*90)+10 产生1099之间的随机整数 next i max=a(1):min=a(1) 假设最大数和最小数 for i= 1 to 10 if maxa(i) then 求最小数 min=a(i) end if sum=sum+a(i) 求和 next i avg=sum/10 求平均数 print “最大数:”;max;“最小数:”;min;“和:”;sum;“平均数:”;avg end sub 二、求阶层 例题:求10!. private sub command1_click() dim sum as long, i as integer sum=1for i= 1 to 10 sum=sum*i next i print “10!=”;sum end sub 三、求最大公约数

温馨提示

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

评论

0/150

提交评论