VB全册复习题.doc_第1页
VB全册复习题.doc_第2页
VB全册复习题.doc_第3页
VB全册复习题.doc_第4页
VB全册复习题.doc_第5页
已阅读5页,还剩151页未读 继续免费阅读

下载本文档

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

文档简介

计算机程序设计基础习题集计算机程序设计基础习题集 Visual Visual BasicBasic 6 06 0 版版 姓名 学号 专业 班级 沈阳药科大学计算机教研室 计算机程序设计基础习题集 目目 录录 习习 题题 一一 1 1 习题一习题一 参考答案参考答案 5 5 习习 题题 二二 6 6 习题二习题二 参考答案参考答案 9 9 习习 题题 三三 1010 习题三习题三 参考答案参考答案 1616 习习 题题 四四 1818 习题四习题四 参考答案参考答案 2424 习习 题题 五五 2626 习题五习题五 参考答案参考答案 3535 习习 题题 六六 3838 习题六习题六 参考答案参考答案 4848 习习 题题 七七 5252 习题七习题七 参考答案参考答案 5959 习习 题题 八八 6161 习题八习题八 参考答案参考答案 6666 习习 题题 九九 6767 习题九习题九 参考答案参考答案 7777 68K VISUAL68K VISUAL BASICBASIC 程序设计程序设计 试题试题 8080 70K 70K 计算机技术基础计算机技术基础 试卷试卷 20042004 年年 5 5 月月 8888 计算机技术基础计算机技术基础 试卷试卷 20042004 年年 6 6 月月 9898 计算机技术基础计算机技术基础 试卷试卷 20042004 年年 8 8 月月 109109 68K68K 试题试题 参考答案参考答案 118118 70K70K 20042004 年年 5 5 月 参考答案月 参考答案 121121 20042004 年年 6 6 月月 参考答案参考答案 125125 20042004 年年 8 8 月参考答案月参考答案 128128 计算机技术基础计算机技术基础 VB VB 试卷 试卷 B B 卷 卷 20052005 年年 7 7 月 月 131131 计算机程序设计基础习题集 1 习习 题题 一一 1 1 选择题 1 Visual Basic 是一种面向对象的可视化程序设计语言 它以结构化 Basic 语言为基础 采取了 的编程机制和运行机制 A 事件驱动 B 按过程顺序执行 C 从主程序开始执行 D 按模块顺序执行 2 在 VisualBasic 中最基本的对象是 它是应用程序的基石 是 其他控件最基本的容器 A 文本框 B 命令按钮 C 窗体 D 标签 3 多窗体程序是由多个窗体组成 在缺省情况下 VB 在应用程序执行时 总是把 指定为启动窗体 A 不包含任何控件的窗体 B 设计时的第一个窗体 C 包含控件最多的 D 命名为 Form1 的窗体 4 有程序代码如下 Textl Text Visual Basic 则 Textl Text 和 Visual Basic 分别代表 A 对象 值 属性 B 对象 方法 属性 C 对象 属性 值 D 属性 对象 值 5 Visual Basic 是一种面向对象的程序设计语言 不是面向对象 系统所包含的三要素 A 变量 B 事件 C 属性 D 方法 6 Visual Basic 的一个应用程序至少包含一个 文件 该文件存储 窗体上使用的所有控件对象和有关的 对象相应的 过 程和 代码 A 模块 方法 事件 程序 B 窗体 属性 事件 程序 C 窗体 程序 属性 事件 D 窗体 属性 事件 模块 7 以下不属于 Visual Basic 的工作模式是 模式 A 编译 B 设计 C 运行 D 中断 8 保存新建的工程时 默认文件夹是 A MyDocuments B VB98 C D Windows 9 要使 Print 方法在 Form Load 事件中起作用 要对窗体的 属性 进行设置 A BackColor B ForeColor C AutoRedraw D Caption 10 使标签控件显示时不覆盖其背景内容 要对 属性进行设置 A BackColor B BorderStyle C ForeColor D BackStyle 11 使命令按钮不可操作 要对 属性设置 A Enabled B Visible C BackColor D Caption 12 文本框没有 属性 A Enabled B Visible C BackColor D Caption 计算机程序设计基础习题集 2 13 不论何控件 共同具有的是 属性 A Text B Name C ForeColor D Caption 14 要使 Form1 窗体的标题栏显示 欢迎使用 VB 以下 语句是正 确的 A Forml Caption 欢迎使用 VB B Forml Caption 欢迎使用 VB C Forml Caption 欢迎使用 VB D Forml Caption 欢迎使用 VB 15 要使某控件在运行时不可见 应对 属性进行设置 A Enabled B Visible C BackColor D Caption 16 要使窗体在运行时不可改变窗体的大小和没有最大化和最小化按钮 只 要对下列 属性设置就有效 A MaxButton B BorderStyle C Width D MinButton 17 当运行程序时 系统自动执行启动窗体的 事件过程 A Load B Click C UnLoad D GotFocus 18 文本框的 ScrollBars 属性设置了非零值 却没有效果 原因是 A 文本框中没有内容 B 文本框的 MultiLine 属性为 False C 文本框的 MultiLine 属性为 True D 文本框的 Locked 属性为 True 19 要判断在文本框中是否按了 Enter 键 应利用文本框的 事件 A Change B KeyDown C Click D KeyPress 20 如果文本框的 Enabled 属性设为 False 则 A 文本框的文本将变成灰色 并且此时用户不能将光标置于文本框上 B 文本框的文本将变成灰色 用户仍然能将光标置于文本框上 但是 不能改变文本框中的内容 C 文本框的文本将变成灰色 用户仍然能改变文本框中的内容 D 文本框的文本正常显示 用户能将光标置于文本框上 但是不能改 变文本框中的内容 21 当需要上下文帮助时 选择问题中的对象类型 属性名称 保留字等关 键词 然后按 键 就可出现 MSDN 窗口及显示对应内容的帮助信 息 A Help B F10 C Esc D F1 22 在 Visual Basic 6 0 集成开发环境中 运行 Visual Basic 程序的快捷 键是 A F1 B F2 C F4 D F5 23 在 VisualBasic 6 0 中 下列 控件对象没有 Caption 属性 A 文本框 B 命令按钮 C 窗体 D 标签 计算机程序设计基础习题集 3 24 下列可以打开工程资源管理器的快捷键是 A Shift F7 B Ctrl G C Ctrl R D Ctrl N 25 有程序代码如下 Textl FontBold True 则 Textl FontBold 和 True 分别代表 A 对象 值 属性 B 对象 方法 属性 C 对象 属性 值 D 属性 对象 值 26 下列操作不能打开属性窗口的是 A 按 F4 键 B 在对象上右击 弹出快捷菜单 选择 属性窗口 命令 C 单击 属性窗口 按钮 在工具栏上 D 双击对象 27 在 Visual Basic 6 0 的 文件 菜单中 命令能够把新的或已 有的工程添加到当前打开的工程组中 A 新建工程 B 打开工程 C 保存工程 D 添加工程 28 在 Visual Basic 6 0 中 可以通过 模拟屏幕的小图像来布置 应用程序 A 窗体设计器 B 快捷菜单 C 立即窗口 D 窗体布局窗口 29 按下键盘上的键 对文本框中已有的内容进行编辑时 发现不起作用 可能是将 属性设置了 True A Enabled B Visible C locked D FontItalic 1 2 填空题 1 当进入 VB 集成环境 发现没有显示 工具箱 窗口 应选择 菜单的 选项 使 工具箱 窗口显示 2 要使新建工程时 在模块的 通用声明 段自动加入 Option Explicit 语句 应对 菜单的 的 选项卡进行相应选项的选 择 3 对象的属性是指 4 对象的方法是指 5 对于新建立的工程 如果想使窗体上的所有控件都具有相同的字体格式 可以利用 的 属性统一进行设置 6 将文本框的 ScrollBar 属性设置为 2 有垂直滚动条 但没有滚动条显 示 是由于 属性的值设置为了 False 的原因 7 当对命令按钮的 Picture 属性装入 bmp 图形文件后 选项按钮上并没有 显示所需的图形 原因是没有将 属性设置为 1 Graphical 8 某工程包括 Form1 Form2 两个窗体 默认启动窗体为 Form1 通过 菜单的 的 选项卡 可将启动窗体设置为 Form2 在程 序中若要显示 Forml 窗体 则执行 语句 9 在文本框中 通过 属性能获得当前插入点所在的位置 计算机程序设计基础习题集 4 10 按下键盘上的按键 对文本框中已有的内容进行编辑时 发现不起作用 可能的原因是将 属性的值设置为了 True 11 在窗体上已建立多个控件如 Text1 Label1 Command1 若要使程序一运 行焦点就定位在 Command1 控件上 应将 Command1 控件的 属 性设置值为 计算机程序设计基础习题集 5 习题一习题一 参考答案参考答案 1 1 选择题 1 A2 C3 B4 C5 A6 B7 A 8 B9 C 10 D11 A12 D13 B14 D 说明 这是关于字符 串常量的正确书写问题 A 错误在于中文双引号 B 错误在于单引号 C 错误 在于无引号 15 B16 B17 A18 B19 D 说明 在 KeyPress 事件中有一个参数 KeyAscII 该参数的值就是用户输入字符的 ASCII 编码 通过判断该值是否等于 13 就可以知道用户是否按下了回车键 20 A 21 D 22 D23 A24 C25 C26 D27 D28 D 29 C 1 2 填空题 1 视图 工具箱 2 工具 选项 编辑器 3 描述和反映对象特征的参数 4 在面向对象的程序设计语言中 为程序设计人员提供的一种可以直接调 用的特殊过程和函数 5 Form Font 6 MuhiLine 7 Style 8 工程 工程属性 通用 Form1 Show 9 SelStart 10 Locked 11 TabIndex 0 计算机程序设计基础习题集 6 习习 题题 二二 2 1 选择题 1 在一个语句内写多条语句时 每个语句之间用 符号分隔 A B C D 2 一句语句要在下一行继续写 用 符号作为续行符 A B C D 3 下面 是合法的变量名 A X yz B 123abc C integer D X Y 4 下面 是不合法的整常数 A 100 B 年是闰年 Else Print a 年不是闰年 End If End Sub 计算机程序设计基础习题集 20 习习 题题 四四 4 1 选择题 1 以下 是正确的 For Next 结构 A For x 1 To Step 10 B For x 3 To 3 Step 3 Next x Next x C For x 10 To 1 D For x 3 To 10 Step 3 re Next x Next y 2 下列循环能正常结束循环的是 A i 5 B i 1 Do Do i i 1 i i 2 Loop Until i 0 Loop Until i 10 C i 10 D i 6 Do Do i i 1 i i 2 Loop Until i 0 Loop Until i 1 3 下面程序段的运行结果为 For i 3 To 1 Step 1 Print Spc 5 i For j 1 To 2 i 1 Print Next j Print Next i A B C D 4 当在文本框输入 ABCD 四个字符时 窗体上显示的是 Private Sub Textl Change Print Textl Text End Sub A ABCD B A C AABABCABCD D A B AB C ABC D ABCD 5 哪个程序段不能分别正确显示 l 2 3 4 的值 计算机程序设计基础习题集 21 A For i 1 To 4 B For i 1 To 4 n 1 For j l To i For j 1 To i n 1 n n j n n j Next j Next j Print n Print n Next i Next i C n 1 D n 1 j 1 For j 1 To 4 Do While j1 8 下面程序段的运行结果为 For i 1 To 10 Step 4 i i 1 Next i Print i A 11 B 12 C 13 D 14 计算机程序设计基础习题集 22 9 下面程序段的循环次数为 For i 1 To 10 Step 4 i i 1 Next i Print i A 1 B 2 C 3 D 4 10 下面程序段的循环次数为 For i 1 To 10 Step 4 i i 1 If i 10 Then i i 4 Next i Print i A 1 B 2 C 3 D 4 11 VB 程序运行中出现死循环现象时 应按键盘上的 组合键中断程序 A Ctrl Break B Alt Break C Shift Break D Tab Break 12 当在文本框输入 ABCD 四个字符时 窗体上显示的是 Private Sub Text1 Change For i 1 to Len Text1 Text Print Mid Text1 Text i 1 Next i Print End Sub A ABCD B A C AABABCABCD D A B AB C ABC D ABCD 13 当单击命令按钮 command1 时 窗体上显示的是 private sub command1 click a 0 for i 1 to 2 for j 1 to 4 if j mod 20 then a a 1 end if a a 1 next j next i print a end sub 计算机程序设计基础习题集 23 A 11 B 12 C 13 D 14 14 用循环结构解决问题时 如果循环的次数已知 通常采用 当循环的 次数未知 需要判断条件是否成立来决定循环执行和退出时 通常采用 A For Next 循环 Do Loop 循环 B Do Loop 循环 For Next 循环 C For Next 循环 For Next 循环 D Do Loop 循环 Do Loop 循环 15 循环结构中 无论循环条件是否成立都会至少循环一次的循环是 A For Next 循环 B Do While Loop 循环 C Do Loop Until 循环 D Do Until Loop 循环 4 2 填空题 1 要使下列 For 语句循环执行 20 次 循环变量的初值应当是 For k To 5 Step 2 2 下面程序段显示 个 For i 1 To 5 For j 2 To i Print Next j Next i 3 下列第 40 句共执行了 次 第 41 句共执行了 次 30 For j 1 To 12 Step 3 40 For k 6 To 2 Step 2 41 Print j k 42 Next k 43 Next j 4 以下程序运行后 si sj sk i j k 的结果分别是 Private Sub Command1 Click si 0 sj 0 For i 1 To 2 For j 1 To i sk 0 For k j To 3 sk sk 1 Next k sj sj 1 Next j si si 1 计算机程序设计基础习题集 24 Next i Print si sj sk i j k End Sub 5 下面程序运行后输出的结果是 Private Sub Command1 Click For i 0 To 3 Print Tab 5 i 1 2 i 2 Format B i j Next j Print Next i End Sub A 1 2 3 B 1 C 1 4 7 D 1 2 3 4 5 6 4 5 2 4 6 4 6 7 8 9 7 8 9 3 6 9 9 9 下列程序段的执行结果是 计算机程序设计基础习题集 30 Dim M 10 For K 1 To 10 M K 11 K Next K X 6 Print M 2 M X A 2 B 3 C 4 D 5 10 下列程序段的执行结果是 Private Sub Command1 Click Dim arr 5 As Integer arr1 5 As Integer n 3 For i 1 To 5 arr i i arr1 n 2 n i Next Print arr1 n arr n End Sub A 3 11 B 3 15 C 11 3 D 15 3 11 在窗体上添加一个命令按钮 Command1 然后编写如下事件过程 该过程 的执行结果是 Option Base 1 Private Sub Command1 Click Dim a a Array 1 2 3 4 j 1 For i 4 To 1 Step 1 s s a i j j j 10 Next Print s End Sub A 4321 B 1234 C 34 D 12 12 在窗体上有一个命令按钮 Command1 然后编写如下事件过程 程序运行 后 单击按钮输出结果是 Private Sub Command1 Click Dim a 5 As String For i 1 To 5 a i Chr Asc A i 1 Next 计算机程序设计基础习题集 31 For Each b In a Print b Next End Sub A ABCDE B abcde C 1 2 3 4 5 D 出错信息 13 在程序的开始有 Option Base 0 则下面定义的数组中正好可以存放 1 个 4 3 矩阵 即只有 12 个元素 的是 A Dim a 2 To 0 2 As Integer B Dim a 3 2 As Integer C Dim a 1 To 4 1 To 3 As Integer D Dim a 4 3 As Integer 14 在窗体上有一个命令按钮 Command1 然后编写如下事件过程 程序运行 后 单击按钮输出结果是 Option Base 1 Private Sub Command1 Click Dim a 5 5 As Integer For i 1 To 5 For j 1 To 5 a i j i j 5 10 Next j Next i s 0 For i 1 To 5 s s a i i Next i Print s End Sub A 15 B 13 C 11 D 9 15 在窗体上画一个命令按钮 名为 Command1 然后编写如下事件过程 程 序运行后 单击按钮输入 2 3 其输出结果是 Private Sub Command1 Click Dim n As Integer Dim a b As Integer a InputBox Enter the first number b InputBox Enter the second number ReDim n a To b For k LBound n 1 To UBound n 1 n k k Print n k n k 计算机程序设计基础习题集 32 5 5 随机分数运行界面 Next k End Sub A n 2 1 B n 2 2 C n 2 2 D n 2 3 n 3 2 n 3 1 n 3 3 n 3 2 16 下列程序运行后输出结果是 Dim m 2 As Integer For i 1 To 2 m i 0 Next i k 2 For i 1 To k For j 1 To k m j m i 1 Print m k Next j Next i A 1 B 1 C 0 D 0 2221 2322 3433 5 2 填空题填空题 1 随机产生 6 位学生的分数 分数范围 1 100 存放在数组 a 中 以每 2 分 一个 显示 如图 5 1 所示 Private Sub Command1 Click Dim a 1 To 6 For i 1 To 6 a i Print Next i End Sub 2 在一维数组中利用移位的方法显示如图 5 2 所示的结果 Private Sub Form Click Dim a 1 To 7 For i 1 To 7 a i i Print a i Next i Print For i 1 To 7 图 5 2 移位显示数组 图 5 1 运行结果 计算机程序设计基础习题集 33 t For j 6 To 1 Step 1 Next j For j 1 To 7 Print a j Next j Print Next i End Sub 3 下面的程序是将输入的一个数插入到按递减的有序数列中 插入后使该序 列仍有序 Private Sub Form Click Dim a i n m a Array 19 17 15 13 11 9 7 5 3 1 n Ubound a ReDim m Val InputBox 输入欲插入的数 For i Ubound a 1 To 0 Step 1 If m a i Then If i 0 Then a i m Else Exit For End If Next i For i 0 To Ubound a Print a i Next i End Sub 4 冒泡法排序 在配套教材中已介绍选择法 冒泡法 合并法排序 上例使用插入法排序 冒泡法排序与选择法排序相似 选择法排序在每一轮排序时找最大 递减 次序 数的下标 出了内循环 一轮排序结束 再交换最大数的位置 而 冒泡法排序在每一轮排序时将相邻的数做比较 当次序不对就交换位置 出了内循环 最大数已冒出 计算机程序设计基础习题集 34 冒泡法递增顺序的程序如下 Private Sub Form Click Dim a n j i t a Array 19 5 15 7 11 9 23 6 3 1 n Ubound a For i 0 To n 1 For j 0 To n i 1 If a j a j 1 Then a j 1 t End If Next j Next i For i 0 To Ubound a Print a i Next i End Sub 为了提高效率 若在某一轮排序时 未发生位置交换 说明欲排序的序列 已有序 排序就可结束 只要在程序中增加一个逻辑变量来进行判断 程 序如下 Private Sub Form Click Dim a n m i Tag As Boolean a Array 1 5 6 7 4 13 23 26 31 51 n Ubound a For i 0 To n 1 Tag False For j 0 To n 1 i If a j a j 1 Then a j 1 t End If Next j If Next i For i 0 To Ubound a Print a i Next i End Sub 5 下面程序 随机产生 n 个 10 10 无序的随机数 存放到数组中 并显示 结果 将数组中相同的那些数删得只剩一个 并输出经过删除后的数组元 计算机程序设计基础习题集 35 素 如图 5 3 所示 图 5 3 产生随机数运行结果 Option Base 1 Private Sub Form Click Dim i j n m a r n InputBox 输入数组大小 ReDim a 1 To n Print 产生的数组 For i 1 To n r Rnd lf r 0 5 Then m 1 Else m 1 a i Print a i Next i m 1 Do While m n i Do While imaxl Then maxl a i j Next j a i 6 maxl Next i 求每门课程的平均分程序段如下 1 For j 0 To 5 2 aver 0 3 For i 0 To 4 4 aver aver a i j 5 Next i 6 b j aver 5 7 Next j 思考 若把第 2 句的 aver 0 移动到外循环语句即 1 句的前面 是否影响程序的 运行 是否影响程序的正确性 这和前面讲过累加时要在循环体外对求和清 零矛盾否 2 随机产生 25 个 1 9 的整数放入 5 5 的二维数组中并输出 统计出靠边元 素之和 计算机技术基础习题集 37 习题五习题五 参考答案参考答案 5 1 选择题 1 B A 不应出现方括号 C 静态数组定义时下标不能出现变量 D 下标之 间少逗号 2 B ReDim 语句可以反复使用 用以改变数组的维数和元素的个数 但 不能改变数组的类型 3 B 4 C A 一维数组 而且浪费了一个空间 B 数组有 4 行 4 列的方阵 浪费 了存储空间 D 声明的是 3 行 3 列的整型数组 不能存放题目中要求的实数 5 A 每一维的大小 上界 下界 1 多维数组的大小等于每一维的乘积 所以 该题是三维数组的大小为 4 5 6 120 6 D 因为当出了循环 循环控制变量 i 的值比数组上界 Ubound a 大 1 超出数组上界的范围 因此显示 下标越界 的出错信息 7 A 该题主要难点是除数组的第 1 行 第 1 列的 6 个元素与下标有关外 其他数组元素的下标又是数组元素 8 D 该题要点 通过 Array 函数对数组赋初值 将一维数组赋值给二维 数组 打印上三角方阵 9 C 最后程序要输出的是 M 2 M x 而 x 6 M x 的值为 5 所以 M 2 M x 的值就是 M 7 的值 即 4 10 C 该题要点 因为 i 的值从未改变过 所以执行 Print 语句后 即输 出 N 3 M 3 的值 11 B 12 A 掌握 Each 语句的用法是关键 13 B 定义数组时的区间设置要从小到大 14 A 15 C 该题考察动态数组赋初值及 Lbound Ubound 函数的用法 16 C 此程序采用的是嵌套的 For Next 语句结构 为数组 m 赋值 按 照步骤一步步推得结果 5 2 填空题 1 Int Rnd 100 1 产生 1 100 的随机分数 string a i 2 A i a i 2 a 7 最后元素移出 a j 1 a j 每个元素往右移 最左位置留出 a 1 t 3 Preserve a n 1 插入一个数 先使数组加一个元素 而且要保留 原数据 计算机技术基础习题集 38 a i 1 a i 找插入的位置 a i 1 m 新数据找到插入位置 插入到数组中 4 t a j a j a j 1 Tag True t a j a j a j 1 Not Tag Then Exit For 5 m int Rnd 11 m 1 从下一个元素开始比较是否有相同元素值 i To n 1 n n 1 Preserve a 1 To n 5 3 编程题 1 Dim a Dim b 1 To 6 Private Sub Command1 Click Dim max aver ReDim a 1 To 5 1 To 6 As Integer For i 1 To 5 For j 1 To 6 a i j Int Rnd 100 1 Next j i ReDim Preserve a 1 To 5 1 To 7 打印第一行行标题 For i 1 To 6 Print Tab 5 i 5 i Next i Print Tab 5 i 5 最高分 打印具体行内容 For i 1 To 5 max a i 1 Print 第 For j 1 To 6 If a i j max Then max a i j Print Tab 5 j 5 a i j Next j a i 7 max Print Tab 5 j 5 a i 7 计算机技术基础习题集 39 Next i Print 平均分 For j 1 To 6 求平均分 aver 0 For i 1 To 5 aver aver a i j Next i b j aver 5 Print Tab 5 j 5 b j Next j End Sub 2 Private Sub Command1 Click Dim a 5 5 As Integer sum For i 1 To 5 For j 1 To 5 a i j Int Rnd 9 1 Print a i j If i 1 Or i 5 Or j 1 Or j 5 Then sum sum a i j End If Next j Print Next i Print sum End Sub 计算机技术基础习题集 40 习习 题题 六六 6 1 选择题 1 VB 中使用的过程不包括以下 A 子程序过程 B 调用过程 C 函数过程 D 属性过程 2 中途退出子过程的执行 应该使用的语句是 A Exit Property B Exit Function C End D Exit Sub 3 VB 中过程被调用 在该过程代码执行结束时 都会有以下 关键 词 A End B Exit C Break D Continue 4 在过程定义中用 表示形参为传值形式 A Var B ByDef C ByVal D Value 5 在定义过程中用 表示形参为传址形式 A Var B ByDef C ByVal D Value 6 以下哪个为定义静态变量的关键字 A Dim B Public C Static D Const 7 在编写过程时 如果形参为数组名 则参数的传递形式应该是 A 传值 B 传址 C 二者均可 D 以上均不对 8 某过程 Fun 中形参是一个数组 编写过程 Fun 的代码时 如果想知道该 数组的下界 应该使用 函数 A UCase B Bound C LBound D UBound 9 若已编写了一个 Sort 子过程 在该工程中有多个窗体 为了方便地调用 Sort 子过程 应该将过程放在 中 A 窗体模块 B 标准模块 C 类模块 D 工程 10 在过程中定义的变量 若希望在离开该过程后 还能保存过程中局部变 量的值 则应使用 关键字在过程中定义局部变量 A Dim B Private C Public D Static 11 设有如下说明 Public Sub Fun n n 3 n 4 End Sub Private Sub Command1 Click Dim n m n 3 计算机技术基础习题集 41 m 4 调用 Fun 语句 End Sub 则在 Command1 Click 事件中有效的调用语句是 A Fun n m B Fun m C Fun 5 D Fun m 5 12 下面子过程语句说明合法的是 A Sub ff ByVal n B Sub ff n As Integer C Function ff ff D Function ff ByVal n 13 要想从子过程调用后返回两个结果 下面子过程语句说明合法的是 A Sub f1 ByVal n ByVal m B Sub fl n ByVal m C Sub f1 n m D Sub fl ByVal n m 14 下面过程运行后 点击 Command1 一次显示的结果是 Public Sub Fun n ByVal m n n Mod 10 m m 10 End Sub Private Sub Command1 Click Dim x y x 12 y 34 Call Fun x y Print x y End Sub A 2 34 B 12 34 C 2 3 D 12 3 15 如下程序 运行的结果是 Private Sub Command1 Click Print jsVal 3 7 End Sub Public Function jsVal x n If n 0 Then jsVal 1 Else If n Mod 2 1 Then jsVal x jsVal x n 2 Else jsVal jsVal x n 2 x 计算机技术基础习题集 42 End If End If End Function A 18 B 7 C 14 D 27 16 如下程序 单击 Command1 后的运行结果是 Dim a b c Public Sub p1 x y Dim c x 2 x y y 2 c x y End Sub Public Sub p2 x ByVal y Dim c x 2 x y y 2 c x y End Sub Private Sub Command1 Click a 2 b 4 c 6 Call p1 a b Print a a b b c c Call p2 a b Print a a b b c c End Sub A a 2 b 4 c 6 B a 4 b 6 c 10 a 4 b 6 c 10 a 8 b 8 c 16 C a 4 b 6 c 6 D a 4 b 6 c 14 a 8 b 6 c 6 a 8 b 8 c 6 17 如下程序 运行的结果是 Public Sub Proc a Static i Do a i a i a i 1 i i 1 Loop While i 2 End Sub Private Sub Command1 Click Dim m i x 10 For i 0 To 4 x i i 1 Next i For i 1 To 2 计算机技术基础习题集 43 Call Proc x Next i For i 0 To 4 Print x i Next i End Sub A 3 4 7 5 6 B 3 5 7 4 5 C 2 3 4 4 5 D 4 5 6 7 8 18 在窗体上画一个名称为 Command1 的命令按钮 编写以列程序 Private Sub Command1 Click Dim a As Integer Static b As Integer a a b b b 4 Cls Print a b End Sub 程序运行后 单击该命令按钮三次 屏幕上显示的值是 A 4 12 B 0 4 C 4 8 D 8 12 19 标准模块的文件扩展名是 A frm B cls C bas D vbp 20 声明全局变量的位置是 A 事件过程 B 函数过程 C 标准模块通用声明段 D 窗体模块通用声明段 21 实参出现的位置是 A 模块的通用声明段 B 过程的开始语句 C 过程的调用语句 D 过程的结束语句 22 下述实参中 可以进行按地址传递的是 A x 1 B Int x C x D x 23 局部变量也称作过程变量 其特点是 A 可以被模块中的任何过程使用 B 可以在被其所在过程中调用的子过程中使用 C 只能在建立它的过程中使用 D 静态变量不是局部变量 24 如果主程序与子程序中分别显式声明的局部变量名称相同 则说明 A 二者使用了相同的内存地址单元 B 二者使用了不同的内存地址单元 C 子程序运行时 主程序中的同名变量会被修改 D 子程序运行时 主程序中的同名变量会被释放 计算机技术基础习题集 44 25 单击一次窗体后 下列代码执行的结果是 Private Sub Form Click Call Test End Sub Private Sub Test Dim x As Integer y As Single x 2 8 If x 2 Then y x 4 ElseIf x 3 Then y x 3 ElseIf x 2 8 Then y x 2 Else y x End If Print y End Sub A 11 2 B 8 4 C 6 D 3 26 以下关于函数过程的叙述中 正确的是 A 如果不指明函数过程参数的类型 则该参数没有数据类型 B 函数过程的返回值可以有多个 C 当数组作为函数过程的参数时 既能以传值方式传递 也能以引用 方式传递 D 函数过程形参的类型与函数返回值的类型没有关系 27 Sub 过程与 Function 过程最根本的区别是 A Sub 过程的过程不能返回值 而 Function 过程能返回值 B Function 过程可以有形参 Sub 过程不可以 C Sub 过程可以使用 Call 语句直接使用过程名调用 而 Function 过 程不可以 D 两种过程参数的传递方式不同 28 有如下程序 Private Sub Command1 Click Dim a As Single Dim b As Single a 5 b 4 Call S a b End Sub Sub S x As Single y As Single 计算机技术基础习题集 45 t x x t y y t Mod y End Sub 在调试运行上述程序后 a 和 b 的值分别为 A 0 0 B 1 1 C 2 2 D 1 2 6 2 填空题 1 如下程序 运行的结果是 函数过程的功能是 Public Function f ByVal n ByVal r If n0 Then f f n r r Print n Mod r End If End Function Private Sub Command1 Click Print f 100 8 End Sub 2 如下程序 运行的结果是 函数过程的功能是 Public Function f m n Do While mn Do While m n m m n Loop Do While n m n n m Loop Loop f m End Function Private Sub Command1 Click Print f 24 18 End Sub 3 两质数的差为 2 称此对质数为质数对 下列程序是找出 100 以内的质数 对 并成对显示结果 其中 函数 IsP 判断参数 m 是否为质数 Public Function IsP m As Boolean Dim i For i 2 To Int Sqr m If Then IsP False Next i End Function Private Sub Command1 Click Dim i 计算机技术基础习题集 46 p1 IsP 3 For i 5 To 100 Step 2 P2 IsP i If Then Print i 2 i p1 Next i End Sub 4 编写一个子过程 DeleStr S1 S2 将字符串 S1 中出现的 S2 子字符串 删去 结果存放在 S1 中 主调程序通过本文本框输入字符串数据并调用 如图 6 1 所示 图 6 1 子过程如下 Private Sub DeleStr s1 As String ByVal s2 As String Dim i i ls2 Len s2 Do While i 0 s1 Left s1 i 1 i Loop End Sub Private Sub Command1 Click Dim ss1 As String ss1 Call DeleStr ss1 Text2 Text Text3 ss1 计算机技术基础习题集 47 End Sub 5 子过程 CountN 用来统计字符串中各数字字符 0 9 出现的个数 主调程序对在 Text1 框输入的文本 每次单击 统计 按钮 调用该子过 程 在 List1 框显示结果 如图 6 2 所示 图 6 2 Private Sub Command1 Click Dim n 9 As Integer i Call CountN n Text1 Text List1 Clear For i 0 To 9 If n i Then 字符 Dem End Sub Private Function Convert S As String As Long Dim n i SubC As String 1 p n Len S p 0 For i 1 To n SubC Select Case UCase SubC Case 0 To 9 p p 16 Val SubC Case A To Z p p 16 End Select Next i End Function 6 3 编程题 1 编写一个函数过程 isPrime ByVal m As Boolean 该函数实现的功能 是对任意整数判断其是否为素数 如果是素数 函数值为 True 否则 函数 值为 False 计算机技术基础习题集 49 2 编写一个子过程 SortReverse xx 该子过程完成的功能是将任意整 型数组就地逆置 所谓就地逆置是指在数组空间里实现翻转 3 编写一个函数过程 jsVal As Long 该函数实现的功能是计算所有四位 数中各个位置上的数字是 0 或 2 或 4 或 6 或 8 的数的和 4 编写一个子过程 Sort xx 该子过程完成的功能是将任意数组进行递 增排序 5 编写一个函数 CountSubtring ss sub 统计字符串 ss 中出现存放在 sub 中的单词次数 6 编写一个函数 CountWord ss 用于统计任意一英文语句中有多少个单词 计算机技术基础习题集 50 习题六习题六 参考答案参考答案 6 1 选择题 1 B 2 D 3 A 4 C 5 B 6 C 7 B 数组做为形参整体传输时 只能通过传址的形式完成 相当于传递数 组的起始位置 8 C UBound 数组名 维 计算某数组中某维的上界 LBound 数组名 维 计算某数组中的某维的下界 9 B 10 D Static 具有保值的特点 在过程体内不能用 Public Private 声 明 变量 11 B Fun 子过程中的形参 n 是地址传递 可以从实参中获得初值 也可 以把结果返回给主调程序 此时要求实参是变量 才能获得效果 而 A C D 调用时实参是表达式或常量 在 VB 中语法没有错 其他有的语言不 允许 但得不到子过程中操作的结果 12 D A 形参是数组 不允许为值传递 B 子过程名无值也无类型 n 不 能声明为整型 C 数名与形参名同名 13 C 14

温馨提示

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

评论

0/150

提交评论