拜vb高手:vb计算机2级题目

3月15号要考2江苏2级考试,今天做了选择题,本以为没啥问题,做完后心就拔凉的啊!有好多基础的题目都搞不清爽,大家救命啊,我心里好急啊!有十道小选择,希望高手帮我解惑啊!... 3月15号要考2江苏2级考试,今天做了选择题,本以为没啥问题,做完后心就拔凉的啊!有好多基础的题目都搞不清爽,大家救命啊,我心里好急啊!有十道小选择,希望高手帮我解惑啊!如果题目看不清楚,请链接
http://hi.baidu.com/yisenwang/blog/item/a67574fbe17d0960024f566a.html

1.工程中没有说明类型的变量是不能使用的,不合法的。(错)
困惑:我用变量的时候都是先定义的,还有不经说明就能使用的?

2.定义常量:Private Const A as integer=235/2(对)
困惑:Public Const S As Boolean=True(错)跟上面难道有区别?

3.下列关于数组说法中错误的是--C (06年春)
B.数组形参可以是定长字符串类型
C.erase语句的作用是对已定义数组的值重新初始化
困惑:C不对吗?难道非要把对动态数组的释放空间的作用也提到才算对吗?难道答案错了?

4.定义sub子过程:Private Sub Sub1(S As String*8) (错) (06年春)
困惑:3题中的B选项是对的,数组的形参可用,难道单个String就不行?

5.固定大小数组也可以使用Redim语句改变其大小 (错)
困惑:固定大小数组是指静态数组吗?如果是,那是不是表示:静态数组一经定义或者赋值就无法改变。对于静态数组不是很了解,书上的解释不多。

6.使用ByRef说明的形式参数在形实结合时,总是按地址传递方式进行结合的。(错) (06年秋)
困惑:形参虽然数值上被传递,但是我专门看了个程序,形参在过程中的数值改变,而实参的数值也改变。如果按照数值传递的概念,那么实参不是应该维持不变的吗?

7.len函数数值比较:比较最大----C
dim a as integer,b as single,s as string*5,ch as string
a=32767 b=23.5 s=" A " ch="abcd"
A.len(a) B.len(b) C.len(s) D.len(ch)
困惑:对于len函数,我晓得是字符串长度,对于string好说。
可是integer,single怎么说字符串长度呀?怎么比较啊?

8.关于运算后的结果类型:
(1)123 + Fix(6.61) (2)57 + 5.5\2.5
(3)356 & 21 (4)"374" + 258 (5)4.5 Mod 1.5
困惑:这几个数到底啥类型啊?很多是根据运算,而不是结果判断类型
如果(5)是长整型啊,那说明4.5这样的小数是长整型?
还有一题是说lng为长整型变量,可以执行的语句lng=4*0.5*16384
不是说长整型和单精一起运算,结果为单精。难道0.5这样的小数真是长整型??

9.运行下面程序:
private sub command1_click()
dim a as integer,b as boolean,c as integer,d as integer
a = 20/3 ; b = True ; c = b ; d = a + c
debug.print a, d, a = a + c
end sub
窗口上会显示的结果是: 7 6 false
困惑:a=7说明被四舍五入了,按照原则,除法运算,结果应该是双精类型啊!怎么会进位呢?True=-1,那false=0是吗?

10.文件:单选:
1)打开随机文件时,参数Len的值可以任意设置
2)在一个过程中,一个文件号可能被用于打开不同的文件
困惑:提示说1是错的,2是对的。自己无法做出判断。
书上只说len子句不适用于二进制访问;当前使用的文件号必须是唯一的。
请帮忙分析下。

附加题,还是关于调用的表达,与上第4题类似。
程序中有两个过程private sub fun1(s as string)和
private sub fun2(a() as string*6),在调用过程中dim st(6) as string*6定义一个字符串数组。下面调用语句:
call fun1(st(3))和call fun1(st)正确
call fun2(st)和call fun2(st(6))错误
困惑:上面的4题中,说定长字符串可以用来做形参,为什么call fun2就错了?还有,第一句call fun1(st(3)),这数组只调用了前3个数吗?
请大家快呀,十万火急
展开
 我来答
百度网友6452b3628
推荐于2016-11-01 · TA获得超过1.7万个赞
知道大有可为答主
回答量:4881
采纳率:0%
帮助的人:5316万
展开全部
1,在没有Option Explicit时可以不定义就使用变量
2,Public Const S As Boolean=True并没有错,错的是你放错了地方,放到标准模块里是可以的。
3,Erase 语句是重新初始化大小固定的数组的元素,以及释放动态数组的存储空间,正如你所说。
4,Private Sub Sub1(S() As String * 8)这样才对,S是数组需要说明。
5,Dim s(3) As Integer'这是固定大小的
Dim d() As Integer'这是动态的
6,不多解释,自己理解吧
7,会返回其在内存中的长度,如integer类型的返回2
8,运算结果和运算过程中是不同的,最后结果会在转化
9,同8题原因差不多,False是0,True是-1
10,len值必须和记录的大小一致;文件号使用完毕(Close后),还可以再使用。
11,st是个字符串数组,剩下的自己理解
cwa9958
2008-02-28 · TA获得超过1884个赞
知道大有可为答主
回答量:2504
采纳率:0%
帮助的人:2001万
展开全部
11题
应该是这样的啊;
call fun1(st(3))和call fun2(st)正确
call fun1(st)和call fun2(st(6))错误
错误的是参数类型不符,
fun1(st(3)),这函数是调用了st(3)的数据(一个)

6.使用ByRef说明的形式参数在形实结合时,总是按地址传递方式进行结合的。这个应该是对的啊,是不是文字叙述的不对?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式