《Visual Basic程序设计基础》教材习题参考答案第七章
- 格式:doc
- 大小:26.50 KB
- 文档页数:2
visualbasic程序设计教程第四版答案【篇一:visual_basic程序设计教程(第4版)_课后答案】一章习题参考答案一、填空题1、对象事件驱动2、编译运行模式解释运行模式二、简答题1、简述vb的特点。
答:①可视化的程序设计方法②面向对象的程序设计思想③事件驱动的编程机制④结构化的程序设计语言⑤高度的可扩充性⑥强大的数据库访问能力⑦支持动态数据交换⑧支持对象链接与嵌入2、简述vb的安装过程。
答:①向光驱中放入vb安装光盘;②计算机将运行自动安装程序,若没有,执行vb目录下的setup.exe;③根据提示逐一回答问题,并点击“下一步”;④点击“完成”;2、如何启动vb。
答:三种方法:①单击“开始”按钮,选择“程序”菜单下的“microsoft visual basic6.0 中文版”菜单项并单击;②双击桌面上的vb6.0快捷图标;③在“开始”菜单的运行对话框中输入命令来启动vb;第二章习题参考答案一、选择题:1-10、 dcacdbcbbc11-20、badcabbaab21-29、aacbbcddc二、填空题1.窗体、控件2.属性值3.属性窗口设置、代码窗口设置4.事件过程5.对象名、下划线、事件名6. form_click第三章习题参考答案一、选择题1、b2、c3、a4、b5、a6、c7、c二、填空题1、 11字符型、字节型、整型、长整型、单精度型、双精度型、货币型、逻辑型、日期型、对象型、变体型。
string、byte、integer、long、single、double、currency、boolean 、date、object、variant2、双引号(英文)、#3、 ascii、1、24、 public、通用、dim、static、private、static5、、+、+6、 now()、time、日期型三、解答题1、(3)2、(1 )3、(1)常量(关键字)(2)字符型常量(3)逻辑型常量(4)变量(5)字符串常量(6)变量(7)字符串常量(8)变量(9)日期型常量(题目应是#11/16/1999#)(10)数值型常量(单精度)4、315、(1)(1+y/x)/(1-y/x) (2)x^3+3*x*y/(2-y)(3)sqr(abs(a*b-c^3))(4)sqr(s*(s-a)*(s-b)*(s-c))6、7、(1)13 (2)17(3)#1999-11-12#(4)zxy123abc8、(1)19(2)8.16666666666667(3)5.25(4)29、(1)-4 (2)2 . 82842712474619(3)-3(4)49(5)”hello”(6)he7)16 (8)“-459.65” (9)510、(4)11、(2)12、(4)第四章习题参考答案一、选择题:1—7: daabbcd二、填空题1. 500.00%2.将字号扩大为原来的二倍3. b三、编程题(略)1.文本框、标签和命令按钮的名称分别为text1、label1、command1 private sub command1_click()label1.caption=text1.textcommand1.caption=text1.textend sub2.单价、数量、折扣和应付款对应的文本框的名称分别为:text1、text2、text3和text4,计算和清除命令按钮的名称分别为:command1和command2。
习题 11. 填空题(1) Visual Basic 是一种面向 的可视化程序设计语言,采取了 的编程机制。
(2) Visual Basic 的对象主要分为 和 两大类。
(3) 在 Visual Basic 中,用来描述一个对象外部特征的量称之为对象的 。
(4) 在 Visual Basic 中,设置或修改一个对象的属性的方法有两种,它们分别是: 和 。
(5) 在 Visual Basic 中,每个对象一般都能感知和接收多个不同的事件,并能对这些事件作出响应,其响应方式就是通过调用执行一个与之相对应的 来实现的。
(6) 在 Visual Basic 中,事件过程的名字由 、 和 所构成。
(7) 若用户单击了窗体 Form1,则此时将被执行的事件过程的名字应为:。
(8) Visual Basic 的集成开发环境主要由6个部分组成,它们分别是: 、 、 、 、 、 。
2.简答题(1) 简述Visual Basic 的特点(2) 什么是对象的属性、事件和方法?(3) Visual Basic 如何完成对用户操作的响应?(4) 什么是事件? 事件过程的一般格式是怎样的?如何编写对象的事件过程?习题 22.1 说明下列哪些是Visual Basic 合法的直接常量,并分别指出它们的类型。
100.0 %100 1E1 123D3 123,456 0100“ASDF” “1234.5” #2004/10/7# 100# π&O78 &H123 True T -1123! 345.54#2.2 下列数据哪些是变量,哪些是常量?是什么类型的常量?Name “name” False ff “11/16/99” cj“120” n #11/12/2004# 12.3452.3 下列符号中,哪些可以是Visual Basic 的合法变量名?A123 a12_3 123_a a,123 a 123 IntegerXYZ False Sin(x) 变量名 sinx π2.4 把下列数学表达式写成Visual Basic 表达式:(1)5||z y x ++ (2)6)1(xy +(3)xy y x 310+ (4)a acb b 242-+-(5)3211111r r r ++ (6)110ln 45sin 10++++y x e2.5 写出下列表达式的值:(1)123 + 23 Mod 10 \ 7 + Asc("A")(2)Int(68.555 * 100 + 0.5) / 100(3)#11/22/2004# - 10(4)"ZXY" & 123 & "abc"2.6 设a=7,b=3,c=4,求下列表达式的值:(1)a + 3 * c (2)a ^ 2 / 4(3)a / 2 + 3 \ 2 (4)a Mod 3 + b ^ 3 / c \ 52.7 写出下列函数的值:(1)Int(-3.14159) (2)Fix(-3.14159)(3)Sqr(Sqr(81)) (4)Len("Visual Basic 程序设计")(5)Int(Abs(99 - 100) / 2) (6)Sgn(7 * 3 + 2)(7)LCase("Hellow VB!") (8)Mid("Hellow VB!", 4, 3)(9)Left("Hellow VB!", 3) (10)Val("16个加23个")(11)Str(-459.55) (12)UCase("Visual Basic")2.8 选择题(1)可以同时删除字符串前导和尾部空格的函数是 。
《Visual Basic程序设计基础》教材习题参考答案第1章 Visual Basic 6.0程序设计概述一、判断题1.√2.√3.×说明:同类控件(如两个标签)相互重叠,设计时可以设置“置前”、“置后”属性。
4.√5.×6.√7.×8.√9.√10.×11.√12.√13.×14.√15.×16.√17.√18.√19.√20.√二、选择题1. C2. B 3.D 4.C 5.B 6.A 7.D 8.A 9.B 10.A 11.C 12.D三、填空题1.对象、事件2.属性、方法、事件3.控件、屏幕(Screen)4.对象5.Left、Top 6.属性、<对象名>.<属性名>=<表达式> 7.网格8.F o rm19.Load或Initialize或Resize或Activate(自动执行的先后顺序也按此排列)10.Activate、Deactivate四、程序设计题程序1.界面设计参看图10-1、10-2以及表10-1。
表10-1 实例2各控件的主要属性设置过程设计如下:Private sub Form_Click()Command2.Enabled = FalseEen SubPrivate Sub Command1_Click()Label2.Visible = FalseLabel1.Caption = Text1.Text + ": 欢迎使用" + Label1.CaptionText1.Visible = FalseCommand1.Enabled = False: Command2.Enabled = TrueEnd SubPrivate Sub Command2_Click()EndEnd Sub程序2.界面设计略,过程设计如下:Private Sub Command1_Click() '字体变大Form1.FontSize = Form1.FontSize + 3Form1.Cls: Print "欢迎使用VB"End SubPrivate Sub Command2_Click() '字体变小Form1.FontSize = Form1.FontSize - 3Form1.Cls: Print "欢迎使用VB"End SubPrivate Sub Command3_Click() '字体加粗Form1.FontBold = TrueForm1.Cls: Print "欢迎使用VB"End SubPrivate Sub Command4_Click() '字体不加粗Form1.FontBold = FalseForm1.Cls: Print "欢迎使用VB"End Sub运行时,不得连续、过多次单击“字体变小”按钮,因为当FontSize属性值小于0会产生适时错误。
C语言程序设计教程第七章课后习题参考答案P198 3 求主、副对角线元素之和#include#define M 4#define N 4int main(){int a[M][N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; int i,j,m=0,n=0;for(i=0;i<m;i++)< p="">{for(j=0;j<n;j++)< p="">{printf("%4d",a[i][j]);}printf("\n");}for(i=0;i<m;i++)< p="">{for(j=0;j<n;j++)< p="">{if(i==j)m+=a[i][j];}}printf("主对角线元素之和为:%d\n",m);for(i=0;i<m;i++)< p="">{for(j=0;j<n;j++)< p="">{if(i+j==3)n+=a[i][j];}}printf("副对角线元素之和为:%d\n",n); return 0;}P198 4数组逆序存放#includevoid input(int a[],int n);void reverse(int a[],int n);int main(){int a[5];int size=sizeof(a)/sizeof(int);input(a,size);reverse(a,size);printf("\n");return 0;}void input(int a[],int n){int i;printf("请输入%d个整数:\n",n);for(i=0;i<n;i++)< p="">{scanf("%d",&a[i]);}}void reverse(int a[],int n) {int i,t;for(i=0;i<="" p="">{t=a[i];a[i]=a[5-i-1];a[5-i-1]=t;}for(i=0;i<n;i++)< p=""> {printf("%-3d",a[i]);}}198 4数组逆序存放(2)#includevoid reverse(int a[],int n); void print(int a[],int n);int main(){int a[]={1,2,3,4,5,11,16,13}; int size=sizeof(a)/sizeof(int); print(a,size);reverse(a,size);printf("\n");return 0;}void print(int a[],int n){int i;printf("原:\n");for(i=0;i<n;i++)< p="">{printf("%-4d",a[i]);}printf("\n");}void reverse(int a[],int n){int t,i;printf("逆序:\n");for(i=0;i<="" p="">{t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}for(i=0;i<n;i++)< p="">{printf("%-4d",a[i]);}}P198 5对称矩阵#includevoid print(int a[][3],int rows,int cols); int fun(int a[][3],int rows,int clos); void main(){int a[3][3],i,j;printf("input:\n");for(i=0;i<3;i++){for(j=0;j<3;j++)scanf("%d",&a[i][j]);}print(a,3,3);if(fun(a,3,3)==0)printf("此矩阵是对称矩阵\n");elseprintf("此矩阵不是对称矩阵\n"); } void print(int a[][3],int rows,int cols) {int i,j;for(i=0;i<rows;i++)< p="">{for(j=0;j<cols;j++)< p="">printf("%-4d",a[i][j]);printf("\n");}}int fun(int a[][3],int rows,int clos) {int i,j,x=0;for(i=0;i<rows;i++)< p="">{for(j=0;j<clos;j++)< p="">{if(a[i][j]!=a[j][i]) x++;}}if(x>0) return 1;else return 0;}P198 5对称矩阵(2)#include#define M 3#define N 3void print(int a[][N],int m,int n); int yan(int a[][N],int m,int n); int main(){int a[][N]={1,2,3,4,5,6,7,8,9}; print(a,M,N);if(yan(a,M,N))printf("YES\n");elseprintf("NO\n");return 0;}void print(int a[][N],int m,int n) {int i,j;for(i=0;i<m;i++)< p="">{for(j=0;j<n;j++)< p="">{printf("%-4d",a[i][j]);}printf("\n");}}int yan(int a[][N],int m,int n){int i,j,x=0;for(i=0;i<m;i++)< p="">{for(j=0;j<n;j++)< p="">{if(a[i][j]!=a[j][i]) x++;}}if(x>0) //不是对称矩阵return 0;return 1;}P198 6矩阵求和#include#define M 3#define N 3void input(int a[][N],int m,int n);void sum(int a[][N],int b[][N],int m, int n); void print(int a[][N],int m,int n);int main(){int a[M][N];int b[M][N];printf("请输入%d*%d阶矩阵A:\n",M,N);input(a,M,N);print(a,M,N);printf("请输入%d*%d阶矩阵B:\n",M,N);input(b,M,N);print(b,M,N);printf("A+B=\n");sum(a,b,M,N);return 0;}void input(int a[][N],int m,int n){int i,j;for(i=0;i<m;i++)< p="">{for(j=0;j<n;j++)< p="">{scanf("%d",&a[i][j]);}}}void print(int a[][N],int m,int n){int i,j;for(i=0;i<m;i++)< p="">{for(j=0;j<n;j++)< p="">{printf("%4d",a[i][j]);}printf("\n");}}void sum(int a[][N],int b[][N],int m,int n) {int i,j;int c[M][N];for(i=0;i<m;i++)< p="">{for(j=0;j<n;j++)< p="">{c[i][j]=a[i][j]+b[i][j];}}print(c,M,N);}P198 7模拟骰子投掷#include#include#define N 10000int main(){int a[N],i;double x=0,y=0,z=0,l=0,m=0,n=0; for(i=0;i<n;i++)< p="">{a[i]=rand()%6+1;if(a[i]==1)x++;if(a[i]==2)y++;if(a[i]==3)z++;if(a[i]==4)l++;if(a[i]==5)m++;if(a[i]==6)n++;}printf("出现1的概率为:%lf\n",x/N); printf("出现2的概率为:%lf\n",y/N); printf("出现3的概率为:%lf\n",z/N); printf("出现4的概率为:%lf\n",l/N); printf("出现5的概率为:%lf\n",m/N); printf("出现6的概率为:%lf\n",n/N); return 0;}P67 1最大奇、偶数#include#define M 10int main(){int i,a[M];int max1=-1,max2=-1;for(i=0;i<m;i++)< p="">{printf("请输入第%d个正整数:",i+1); scanf("%d",&a[i]);}for(i=0;i<m;i++)< p="">{if(a[i]%2!=0){if(a[i]>max1)max1=a[i];}else{if(a[i]>max2)max2=a[i];}}if(max1==-1)printf("没有奇数\n");elseprintf("最大奇数是%d\n",max1); if(max2==-1)printf("没有偶数\n");elseprintf("最大偶数是%d\n",max2); return 0;}P69 3#includeint main(){int a[20];int p=0,n=0,i,j=0;double avg,sum=0;printf("请输入非0整数:"); while(1){scanf("%d",&a[j]);if(a[j]==0)break;j++;}for(i=0;i<j;i++)< p="">{sum=sum+a[i];}avg=sum/j;printf("平均数:%lf",avg);for(i=0;i<j;i++)< p="">{if(a[i]>0)p++;if(a[i]<0)n++;}printf("正数个数:%d 负数个数:%d\n",p,n); return 0;}P75 2冒泡排序#include#define N 10void bubble_sort(int a[],int n);void main(){int i, a[N]={1,3,6,8,9,2,11,12,14,7}; printf("原数组为:\n");for(i=0;i<n;i++)< p="">{printf("%4d",a[i]);}bubble_sort(a,N);printf("\n");}void bubble_sort(int a[],int n) {int i,j,tmp;for(i=0;i<n-1;i++)< p=""> {for(j=0;j<n-i-1;j++)< p=""> {if(a[j]>a[j+1]){tmp=a[j];a[j]=a[j+1];a[j+1]=tmp;}}}printf("\n");printf("排序后的数组为:\n"); for(i=0;i<n;i++)< p=""> {printf("%4d",a[i]);}}P76 3 成绩#includevoid input(int cla[50][3],int n); void print(int cla[50][3],int n);void sort(int cla[50][3],int n);void main(){int cla[50][3];int n;printf("请输入学生人数(小于50):\n"); scanf("%d",&n);if(n<=0 || n>=50)printf("error,请输入正确的人数。
<大学程序设计基础-Visual Basic>教材课后习题答案第1章一、选择题1 2 3 4 5 6 7B D BC B B D第2章一、选择题1 2 3 4 5 6 7 8 9 10B C B C B C A A A A11 12 13 14A B A A二、填空题1.rem或’ _ :2.“” # #3.5x2-3x-2sinA/34.3214565.300三、操作题1、程序段:Private Sub Command1_Click()Dim x As Integer, y As IntegerDim s As Long, c As Longx = Text1.Texty = Text2.Texts = x * yc = (x + y) * 2Label3.Caption = "长方形的面积为" + Str(s)Label4.Caption = "长方形的周长为" + Str(c)End Sub3、程序段:Private Sub Command1_Click()Text1.Text = "第一"End SubPrivate Sub Command2_Click()Text1.Text = "第二"End Sub4、程序代码:Private Sub Text1_Change()Text1.MaxLength = 10End Sub5、程序代码:Private Sub Text1_Click()Text1.SelStart = 0Text1.SelLength = Len(Text1.Text)End Sub第3章一、选择题1 2 3 4 5 6 7D A D B A D B二、填空题1. False2.B^2-4*a*c else三、操作题1.从键盘输入三个值,判断它们能否构成三角形的三个边。
如果能构成一个三角形,则计算三角形的面积。
绪论单元测试1.VB6.0包括三种版本,分别为学习版、专业版和企业版。
A:对B:错答案:A2.学习版是VB的基础版本,该版本包含了所有VB的标准控件及网格控件、数据绑定控件和Tab对象。
A:错B:对答案:B3.专业版是为专业编程者提供了一整套功能完备的开发工具。
A:错B:对答案:B4.企业版包含了专业版的全部功能,增加了自动化管理器、部件管理器、数据库管理工具、Microsoft Visual Source Safe面向工程版的控制系统等。
A:错B:对答案:B第一章测试1.下面选项中不能运行Visual Basic程序的操作是()A:按F5键B:从菜单栏运行菜单中选“全编译执行”菜单命令C:双击窗体D:单击“启动”按钮图标答案:C2.Visual Basic窗体设计器的主要功能是()A:画图B:编写源程序代码C:显示文字D:建立用户界面答案:D3.可视化编程的最大优点是()A:不需要编写大量代码来描述图形对象B:所见即所得C:具有标准工具箱D:一个工程文件由若干个窗体文件组成答案:A4.一个工程文件可包含多种类型的文件,()文件不包含其中。
A:窗体文件B:可执行文件C:资源文件D:工程文件答案:B5. Microsoft Visual Basic6.0包括三种版本,其中不包括()A:专业版B:企业版C:通用版D:学习版答案:C第二章测试1.在Visual Basic中,常量12#的数据类型是()A:长整型B:双精度浮点型C:字符串D:整型答案:B2. x是小于100的非负数,用正确的Visual Basic表达式是()A:0<=x OR x<100B:0C:0<=x<100D: x>=0 AND x<100答案:D3.不能正确表示条件“两个整型变量A和B之一为0,但不能同时为0”的布尔表达式是()A:A B=0 AND A<>BB: A B=0 AND (A=0 OR B=0)C:(A=0 OR B=0 )AND A<>BD: A=0 AND B<>0 OR A<>0AND B=0答案:B4.Boolean 类型的数据由()字节组成A:1B:2C:3D:4答案:B5.20.表达式X+1>X是()A:算术表达式B:关系表达式C:字符串表达式D:非法表达式答案:B第三章测试1. Inputbox()函数的返回值类型为()A:变体型B:字符型C:逻辑型D:数值型答案:B2.要使循环体至少执行一次,应使用()循环A:Do–Loop while|untilB:While-wendC:For-nextD:do[while|until]-loop答案:C3.程序的基本控制结构是()A:顺序结构、选择结构和循环结构B:For…Next结构、Do…loop结构C:单行结构和多行结构D:顺序结构、多分支结构和单分支结构答案:C4.以下Case语句中,能正确描述Y的绝对值大于7的是()A:Case -6 To 6B: Case Not(-6 To 6)C:Case Is<-6,Is>6D:Case Abs(Y)>6答案:B5.以下Case语句含有错误的是()A:Case Is>10 And Is<50B:Case Is>10C:Case 3,5,Is>10D:Case 0 To 10答案:A第四章测试1.如下数组声明语句,正确的是()A: Dim A[3,4] As IntigerB:Dim A(3 4) As IntegerC:Dim A(3,4) As StringD:Dim A(N,N) As Single答案:C2.如果有声明Option base 1, Dim arr(3,3),则该数组共有()个元素A:9B:16C:6D:4答案:A3.以下说法不正确的是()A:使用不带关键字Preserve的ReDim语句可以改变数组各维的上、下界B:使用不带关键字Preserve的ReDim语句可以对数组中的所有元素进行初始化C:使用不带关键字Preserve的ReDim语句可以重新定义数组的维数D:使用不带关键字Preserve的ReDim语句可以改变数组的数据类型答案:D4.下列有关控件数组的说法中,错误的是()A:控件数组由一组具有相同名称和相同类型的控件组成,不同类型的控件无法组成控件数组B:控件数组中每个元素的下标由控件的Index属性指定C:控件数组中的所有控件不得具有各自不同的属性设置值D:控件数组中的所有控件共享同一个事件过程答案:C5.已知有数组声明:Dim a(-1 to 3,2 to 5) as integer,引用数组元素,正确的是()A: a(-1,5)B:a(1)C: a(0,6)D:a[-1,2]答案:A第五章测试1.假定一个Visual Basic应用程序由一个窗体模块和一个标准模块构成。
第7章对话框与菜单程序设计一、判断题1.√2.√3.√4.×5.×6.×7.√8.√9.√10.√二、选择题1.D 2.A 3.C 4.C 5.B 6.D 7.A 8.B 9.D 10.B三、填空题1.窗体控制菜单、下拉式菜单、快捷菜单2.ShowFont3.打开文件、另存为、颜色、字体、打印对话框4.工程、部件5.CommonDialog1.Action =3、CommonDialog1.ShowColor6.提示信息、对话框类型、对话框标题7.Click8.工具9.代码窗口、Click 10.相同、正四、程序阅读题程序1. 显示提示信息为“5”、标题为“na的输出结果”、有一个“确定”按钮的消息框。
程序2. 显示提示信息为“您选择了第1项”、标题为“第一项”、有一个“确定”按钮的消息框。
五、程序填空题1.(1)Int(Rnd*100) (2)Str(i) (3)Exit For2.(1)False (2)Date (3)CommonDialog1.Color (4)m1六、程序设计题程序1.界面设计略,过程设计如下:Private Sub Command1_Click()CommonDialog1.ShowOpenList1.AddItem CommonDialog1.FileNameEnd Sub程序2.界面设计略,过程设计如下:Private Sub Command1_Click()CommonDialog1.ShowSaveList1.AddItem CommonDialog1.FileNameEnd Sub程序3.界面设计如图10-9、表10-2所示,过程设计如下:Private Sub Sqr_Click()Shape1.Shape = 1End SubPrivate Sub Rec_Click()Shape1.Shape = 0End SubPrivate Sub Oval_Click()Shape1.Shape = 2End SubPrivate Sub Circle_Click()Shape1.Shape = 3End SubPrivate Sub Rrec_Click()Shape1.Shape = 4End SubPrivate Sub RSqr_Click()Shape1.Shape = 5End SubPrivate Sub Shp_Click()Shape1.FillStyle = 2End SubPrivate Sub Shzh_Click()Shape1.FillStyle = 3End SubPrivate Sub Xiex_Click()Shape1.FillStyle = 4End SubPrivate Sub ShPJ_Click()Shape1.FillStyle = 6End SubPrivate Sub XJ_Click()Shape1.FillStyle = 7End SubPrivate Sub FillColor_Click()CommonDialog1.ShowColorShape1.FillColor = CommonDialog1.ColorEnd SubPrivate Sub Exit_Click()EndEnd Sub第8章文件一、判断题1.×2.√3.×4.√5.√6.×7.√8.×9.√10.√11.×12.×13.√14.×15.×二、选择题1.A 2.C 3.B 4.B 5.A 6.C 7.C 8.B 9.C 10.B 11.D 12.B 13.B三、填空题1.ChDir 2.FileLen 3.Change 4.EOF 5.Line Input四、程序阅读题程序1. y= 1 a= 1 程序2. NO. 1 3 程序3.y= 3 a= 2 NO. 2 4 窗体:36 25 16 9 4 1y= 6 a= 3 NO. 3 7 文件:1 4 9 16 25 36y= 10 a= 4 NO. 4 11程序4. 程序5. 1 程序6. 1窗体上显示内容:20 2 2 1 2文件中内容:4 6 8 10 12 3 3 3 1 2 34 4 4 45 5 5 5 5五、程序填空题1.(1)Dim n As Integer (2)"C:\windows\calc.exe"(3)Output (4)End2.(1)For Output As #2 (2)0 (3)"temp.dat" As "c:\a1.dat"3.(1)Open "e:\dataout.txt" For Output As #1(2)t1 Mod t2 = 0 (3)If flag Then (4)Print coun六、程序设计题程序1.界面设计如图10-10所示,过程设计如下:Dim fn As StringPrivate Sub Drive1_Change()Dir1.Path = Drive1.DriveEnd SubPrivate Sub Dir1_Change()File1.Path = Dir1.PathEnd SubPrivate Sub File1_Click()If Right(File1.Path, 1) = "\" Thenfn = File1.Path + File1.FileNameElsefn = File1.Path + "\" + File1.FileNameEnd IfEnd SubPrivate Sub Command1_Click()Dim yesno As Byteyesno = MsgBox("确认要删除吗?", vbYesNo, "删除文件")If yesno = vbYes Then Kill fnFile1.RefreshEnd Sub程序2.建立4个文本框控件依次输入姓名、出生年月、外语、计算机成绩,按“确认”按钮追加该记录到磁盘文件d:\student.dat。
Visual Basic程序设计教程(李杰主编清华大学出版社 2011.2)习题答案习题2参考答案2.2 单选题1、B2、C3、A4、D5、A6、B7、D8、C9、B 10、D2.3 填空题1、事件驱动2、Cancel3、Name4、Private Sub Form1_Click()5、运行程序6、代码窗口7、Text1.Text = "我是一个学生"8、LostFocus()事件9、Label1.Caption = "请输入用户名"Label1.ForeColor = vbGreen10、(Text1.Text)*22.4 事件练习题1、①该事件的对象是标签Label1,单击标签触发该事件。
②缺省Label1对象的代码是针对窗体,其余有Label1对象的代码是针对标签的。
③Label1.AutoSize = True语句使标签的大小自动随文字的多少而改变。
2、程序运行后,单击命令按钮,在Text1文本框显示"知音海外版",在Text2文本框显示"计算机世界"。
3、单击“显示文本框”命令按钮触发的事件过程Private Sub Command1_Click()Text1.Visible = TrueText1.ForeColor = vbRedText1.Text = "VB程序设计"End Sub单击“隐藏文本框”命令按钮触发的事件过程Private Sub Command2_Click()Text1.Visible = FalseEnd Sub习题3参考答案3.2 单选题1 C2 C3 D4 B5 B6 B7 B8 C9 D3.3填空题1.REM(或‘) _ :2 双引号(“”)#3 $ %4 UCASE()5.(log(1+d*d)-exp(2))^(5/2) [ 还有一种理解方式:(log(1+d*d)-e*e)^(5/2)]6. &O113 &H4B习题4参考答案4.2 单选题BDCBD4.3 填空题1.MsgBox("是否删除? ", vbOkCancel + vbQuestion, "删除")2.The Length of 12345=53. 变量或表达式4. 15. loop4.4 程序设计题1.Private Sub Command1_Click()If Text1.Text = "asdf" ThenMsgBox "密码正确!"ElseMsgBox "密码错误", vbRetryCancel, "错误"End IfEnd Sub2. < 题目中的“连续产生n*n个字母”应该改为“连续产生n个字母”> Private Sub Command1_Click()Dim n%, y%, i%n = Val(Text1.Text)If n > 10 Or n<=0 ThenMsgBox "数据超界!"Text1.Text=””Text1.SetFocusElsey = Int((90 - 65 + 1) * Rnd) + 65For i = 1 To nPrint Chr(y + i)Next iEnd IfEnd Sub3.Private Sub Form_Click()Dim a!, b!, c!, x1!, x21, d!a = Val(Text1.Text)b = Val(Text2.Text)c = Val(Text3.Text)d = b * b - 4 * a * cIf d >= 0 Thenx1 = (-b + Sqr(d)) / (2 * a)X2 = (-b - Sqr(d)) / (2 * a)Print x1; X2ElsePrint "没有实根"End IfEnd Sub4.Private Sub Form_Click()Dim i%, j%, s%, n%,q%n = InputBox("enter n:")q = 0For i = 1 To ns = 0For j = 1 To is = s + jNext jq = q + sNext iPrint qEnd Sub5.Private Sub Form_Click()Dim i%, j%, n%, k%n = 0For i = 1 To 3For j = 1 To 3For k = 1 To 3Print i & j & k,n = n + 1If n Mod 5 = 0 Then PrintNext kNext jNext iPrintPrint "n="; nEnd Sub6.Private Sub Form_Click()Dim i%, j%, n%, k%For i = 1 To 9For j = 0 To 9For k = 0 To 9n = i * 100 + j * 10 + kIf n = i ^ 3 + j ^ 3 + k ^ 3 Then Print n,Next kNext jNext iEnd Sub习题5参考答案5.2 单选题1 A2 B3 C4 C5 D6 D7 A8 C9 D 10 A 11 A 12 B 5.3 填空题1.False2.Caption3.0 ListCount-14.Print List1.List(3)5.Combo1.ReMoveItem 36.LargeChange7.Timer8.5009.Shape10.Borderstyle5.4 程序设计题1.Dim op1, op2, result As SingleDim operator As IntegerPrivate Sub Command1_Click(Index As Integer)If Index >= 0 And Index <= 10 ThenIf txt1.Text = "" Thentxt1.Text = CStr(Index + 1)Elsetxt1.Text = txt1.Text + CStr(Index + 1) End IfEnd IfIf Index >= 12 And Index <= 15 Thenop1 = CDbl(txt1.Text)operator = Indextxt1.Text = ""End IfIf Index = 11 Thenop2 = CDbl(txt1.Text)Select Case operatorCase 12result = op1 + op2Case 13result = op1 - op2Case 14result = op1 * op2Case 15result = op1 / op2End Selecttxt1.Text = CStr(result)End IfEnd SubPrivate Sub Command2_Click()op1 = 0op2 = 0result = 0txt1.Text = ""End SubPrivate Sub Command3_Click()EndEnd Sub2.Private Sub chkBold_Click()If chkBold.Value = vbChecked ThenTxt1.FontBold = TrueElseTxt1.FontBold = FalseEnd IfEnd SubPrivate Sub chkUnderline_Click()If chkUnderline.Value = vbChecked Then Txt1.FontUnderline = TrueElseTxt1.FontUnderline = FalseEnd IfEnd SubPrivate Sub Opt18_Click()Txt1.FontSize = 18End SubPrivate Sub Opt22_Click()Txt1.FontSize = 22End Sub3.Private Sub Form_Load()List1.AddItem "上海"List1.AddItem "北京"List1.AddItem "天津"List1.AddItem "广东"List1.AddItem "辽宁"List1.AddItem "陕西"List1.AddItem "河南"List1.AddItem "深圳"List1.AddItem "四川"List1.AddItem "重庆"End SubPrivate Sub List1_DblClick()For i = 0 To 9If List1.ListIndex = i ThenList2.AddItem List1.List(i)List1.RemoveItem iEnd IfNext iEnd Sub4.Private Sub Command1_Click()Timer1.Enabled=TrueTimer1.Tag=Text1.Text*60Frame1.Caption=“现在开始倒计时”End SubPrivate Sub Timer1_ Timer()Timer1.Tag=Timer1.Tag-1If m<0 ThenTimer1.Enabler=FalseMsgBox“预定的时间到了!”,0,“倒计时”Frame1.Caption=“请输入计时的分钟数:”Text1.Text=0Exit SubEnd Ifn1=Format(m Mod 60,“00”)n2=Format(m \ 60)Mod 60,“00:”)n3=Format(m \ 3600),“00:”)Text1.Text=n3&n2&n1End Sub习题6参考答案6.1单选题1.C2.C3.B4.B5.B6.D7.B8.B9.A 10.A6.2 填空题1.Option Base 12.变体类型3.preserve (注意:教材上面写成perserve, 教材错误)4.Variant变体类型5.96.相同,索引号7.1).通过复制粘贴的方式创建控件数组2).在设计时候添加多个同类型的类型控件,然后通过“属性”窗口将这些控件的名称改为相同,并把Index属性设为不同的下标值。
VB习题答案(1-4)习题1一、选择题1. 以下叙述中,错误的是_________。
(A)一个Visual Basic 应用程序可以含有多个标准模块文件(B)一个visual Basic 工程可以含有多个窗体文件(C)标准模块文件可以属于某个指定的窗体文件(D)标准模块文件的扩展名是.bas标准模块文件(.bas)不属于任何一个窗体文件。
参考答案为C。
2. 以下叙述中错误的是_________。
(A)一个工程可以包括多种类型的文件(B)Visual Basic应用程序既能以编译方式执行,也能以解释方式执行(C)程序运行后,在内存中只能驻留一个窗体(D)对于事件驱动型应用程序,每次运行时的执行顺序可以不一样内存中可以驻留多个窗体,当前窗体只能有一个。
参考答案为C。
3. Visual Basic的窗体设计器主要是用来___________。
(A)建立用户界面(B)添加图形、图像、数据等控件(C)编写程序源代码(D)设计窗体的布局参考答案为A。
4. Visual Basic是一种结构化高级程序设计语言,它采用的是_________驱动方式。
(A)键盘(B)鼠标(C)事件(D)函数参考答案为C。
5. Visual Basic程序设计语言属于_________。
(A)面向过程的语言(B)机器语言(C)面向对象的语言(D)汇编语言参考答案为C。
6. Visual Basic一共有设计、运行和中断三种模式,要使用调试工具应该_________。
(A)进入设计模式(B)进入运行模式(C)进入中断模式(D)不用进入任何模式VB中三种模式分别为:设计模式下可以进行界面设计和代码的编写;运行模式下执行代码,接受用户的操作;中断模式下可以修改代码,但不能改变界面,这个模式下通常进行代码调试,当运行出错时,默认转到该模式下进行调试。
参考答案为C。
7. 假定一个Visual Basic应用程序由一个窗体模块和一个标准模块构成。
第七章课后习题答案一、选择题二、填空题1、Eixt Function2、-2 -1 1.23456 -13、去掉4、2007-2-18 18 22:30:56 2 15、The Length of 12345 =56、m=20 n=10x=10 y=15m=20 n=10x=20 y=107、programmeuachnology8、0 10 Abs1(Num) 100 M=M:Abs1=S9、Len(A) N/2 Mid(A,N-I+1,1) Mid(A,N-I+1,1)三、综合题1、(1)-56(2)6(3)2008(4)0(5)122、(1)2.5(2)6.5(3)13、(1)Int(89*Rnd+11)(2)(x mod 10)*10+x\10(3)Round(X,2)(4)Right(String1 , 5)(5)Format(X,”###.##”)四、设计题1、Function s(a As Integer) As Singles = 0For i = 1 To as = s + 1 / iNext iEnd FunctionPrivate Sub Form_Click()Print "1+1/2+1/3+…+1/100="; s(100)End Sub2、Dim rPrivate Sub pd(a, b, c)If a + b > c And a + c > b And b + c > a ThenIf a ^ 2 + b ^ 2 = c ^ 2 Or a ^ 2 + c ^ 2 = b ^ 2 Or b ^ 2 + c ^ 2 = a ^ 2 Then r = "该三角形为直角三角形"Elser = "该三角形为普通三角形"Elser = "不能组成三角形"End IfEnd SubPrivate Sub Command1_Click()pd Val(Text1), Val(Text2), Val(Text3) Text4 = rEnd Sub3、Function zh(a)Select Case aCase 1zh = "一月January"Case 2zh = "二月February"Case 3zh = "三月March"Case 4zh = "四月April"Case 5zh = "五月May"Case 6zh = "六月June"Case 7zh = "七月July"Case 8zh = "八月August"Case 9zh = "九月September"Case 10zh = "十月October"Case 11zh = "十一月November"Case 12zh = "十二月December"Case Elsezh = "您输入的月份不对!"End SelectEnd FunctionPrivate Sub Command1_Click()a = InputBox("请输入月份数:", "输入") Print zh(Val(a))4、Private Sub Command1_Click()a = 0:b = 0:c = 0For i = 1 To Len(Text1)Select Case Mid(Text1, i, 1)Case "a" To "z", "A" To "Z"a = a + 1Case 0 To 9b = b + 1Case " "c = c + 1End SelectNext i5、Private Sub Command1_Click()a = InputBox("请输入一个0-1000的数字", "输入") s = 0If Val(a) < 0 Or Val(a) > 1000 ThenPrint "您输入的数字不在指定范围内!"ElseFor i = 1 To Len(Trim(a))s = s + Val(Mid(a, i, 1))NextPrint a; "的各位数字和是:"; sEnd IfEnd Sub6、Function maxmin(a, b, c, d)If d = 1 ThenIf a > b Then maxmin = a Else maxmin = bIf c > maxmin Then maxmin = cElseIf a < b Then maxmin = a Else maxmin = bIf c < maxmin Then maxmin = cEnd IfEnd FunctionPrivate Sub Command1_Click()Text4 = maxmin(Text1, Text2, Text3, 1)Text5 = maxmin(Text1, Text2, Text3, 0)End Sub7、Private Sub Form_Click()n = InputBox("请输入要打印的三角形图形行数:")Print n; "行对称三角形"For i = 1 To nFor k = 1 To 2 * i - 1Print Tab(2 * n - 1 - 2 * i + 2 * k); "* ";Next kPrintNext iFor i = n To 1 Step -1For j = 1 To n - iPrint " ";Next jFor k = 1 To 2 * i - 1Print "* ";Next kPrintNext iEnd Sub8、Private Sub Command1_Click()Dim r(8, 8) As IntegerDim max As IntegerFor i = 1 To 8For j = 1 To 8r(i, j) = Int(100 * Rnd() + 1)Print Tab(5 * j - 4); r(i, j);If r(i, j) > max Then max = r(i, j): x = i: y = jNext jPrintNext iPrint "最大值是:" & max & ",行号是:" & Str(x) & ",列号是:" & Str(y) End Sub。
《Visual Basic程序设计基础》教材习题参考答案第1章Visual Basic 6.0程序设计概述一、判断题1.√2.√3.×4.√5.×6.√7.×8.√9.√10.×11.√12.√13.×14.√15.×16.√17.√18.√19.√20.√二、选择题1. C2. B 3.D 4.C 5.B 6.A 7.D 8.A 9.B 10.A 11.C 12.D三、填空题1.对象、事件2.属性、方法、事件3.控件、屏幕(Screen)4.对象5.Left、Top 6.属性、<对象名>.<属性名>=<表达式> 7.网格8.F o rm19.Load或Initialize或Resize或Activate(自动执行的先后顺序也按此排列)10.Activate、Deactivate四、程序设计题程序1.界面设计参看图10-1、10-2以及表10-1。
表10-1 实例2各控件的主要属性设置过程设计如下:Private sub Form_Click()Command2.Enabled = FalseEen SubPrivate Sub Command1_Click()Label2.Visible = FalseLabel1.Caption = Text1.Text + ": 欢迎使用" + Label1.CaptionText1.Visible = FalseCommand1.Enabled = False: Command2.Enabled = TrueEnd SubPrivate Sub Command2_Click()EndEnd Sub程序2.界面设计略,过程设计如下:Private Sub Command1_Click() '字体变大Form1.FontSize = Form1.FontSize + 3Form1.Cls: Print "欢迎使用VB"End SubPrivate Sub Command2_Click() '字体变小Form1.FontSize = Form1.FontSize - 3Form1.Cls: Print "欢迎使用VB"End SubPrivate Sub Command3_Click() '字体加粗Form1.FontBold = TrueForm1.Cls: Print "欢迎使用VB"End SubPrivate Sub Command4_Click() '字体不加粗Form1.FontBold = FalseForm1.Cls: Print "欢迎使用VB"End Sub运行时,不得连续、过多次单击“字体变小”按钮,因为当FontSize属性值小于0会产生适时错误。
第7章对话框与菜单程序设计
一、判断题
1.√2.√3.√4.×5.×6.×7.√8.√9.√10.√
二、选择题
1.D 2.A 3.C 4.C 5.B 6.D 7.A 8.B 9.D 10.B
三、填空题
1.窗体控制菜单、下拉式菜单、快捷菜单2.ShowFont
3.打开文件、另存为、颜色、字体、打印对话框4.工程、部件
5.CommonDialog1.Action =3、CommonDialog1.ShowColor
6.提示信息、对话框类型、对话框标题7.Click
8.工具9.代码窗口、Click 10.相同、正
四、程序阅读题
程序1. 显示提示信息为“5”、标题为“na的输出结果”、有一个“确定”按钮的消息框。
程序2. 显示提示信息为“您选择了第1项”、标题为“第一项”、有一个“确定”按钮的消息框。
五、程序填空题
1.(1)Int(Rnd*100) (2)Str(i) (3)Exit For
2.(1)False (2)Date (3)CommonDialog1.Color (4)m1
六、程序设计题
程序1.界面设计略,过程设计如下:
Private Sub Command1_Click()
CommonDialog1.ShowOpen
List1.AddItem CommonDialog1.FileName
End Sub
程序2.界面设计略,过程设计如下:
Private Sub Command1_Click()
CommonDialog1.ShowSave
List1.AddItem CommonDialog1.FileName
End Sub
程序3.界面设计如图10-9、表10-2所示,过程设计如下:
Private Sub Sqr_Click()
Shape1.Shape = 1
End Sub
Private Sub Rec_Click()
Shape1.Shape = 0
End Sub
Private Sub Oval_Click()
Shape1.Shape = 2
End Sub
Private Sub Circle_Click()
Shape1.Shape = 3
End Sub
Private Sub Rrec_Click()
Shape1.Shape = 4
End Sub
Private Sub RSqr_Click()
Shape1.Shape = 5
End Sub
Private Sub Shp_Click()
Shape1.FillStyle = 2
End Sub
Private Sub Shzh_Click()
Shape1.FillStyle = 3
End Sub
Private Sub Xiex_Click()
Shape1.FillStyle = 4
End Sub
Private Sub ShPJ_Click()
Shape1.FillStyle = 6
End Sub
Private Sub XJ_Click()
Shape1.FillStyle = 7
End Sub
Private Sub FillColor_Click()
CommonDialog1.ShowColor
Shape1.FillColor = CommonDialog1.Color End Sub
Private Sub Exit_Click()
End
End Sub。