一、VB基本知识及选择、循环结构习题 下载本文

一、VB基本知识及选择、循环结构习题

一、基本概念题

(1) 说明下列哪些是Visual Basic合法的直接常量,并分别指出它们的类型。 100.0 0 1E1 123D3 123,456 0100 “ASDF” “1234.5” #2004/10/7# 100# π

&O78 &H123 True T -1123! 345.54#

答:在VB中,直接常量是以直接明显的形式给出的数据。根据数据类型的不同,直接常量分为:字符串常量、数值常量、日期常量和布尔常量。

字符串常量是由一对半角双引号“””加以界定的字符序列,该字符序列可以是任何能被计算机处理的字符。本题中,“ASDF” 、 “1234.5”是字符串常量;

数值常量是由数值、小数点和正负号所构成的数值。在Visual Basic中除十进制数值常量外,还有八进制、十六进制数值常量。八进制常量前加&O;十六进制常量前加&H。本题中,100.0、1E1、123D3、0100、100#、&O78 、&H123、-1123!和345.54#均为数值常量。

日期常量用来表示某一天或某一天的具体时间。在Visual Basic中,日期常量用两个“#”号加以界定。本题中,#2004/10/7#是日期常量。

逻辑型常量只有True和False两个值,表示“真”和“假”。本题中,True是逻辑常量。 本题中,%100、123,456、π、T不是合法的常量。

(2)下列数据哪些是变量,哪些是常量?是什么类型的常量?

Name “name” False ff “11/16/99” cj “120” n #11/12/2004# 12.345 答:“name、” “11/16/99、” “120”是字符串常量;12.345是数值常量;#11/12/2004#是日期常量;False是逻辑常量。Name、ff、cj、n是变量。 (3) 下列符号中,哪些可以是Visual Basic的合法变量名?

A123 a12_3 123_a a,123 a 123 Integer XYZ False Sin(x) 变量名 sinx π

答:变量命名的规则是:必需以字母或汉字开头,其后可以是下划线、字母、汉字和数字,长度小于255个字符;不能使用VB的关键字。本题中,合法的变量名是:A123、 a12_3、XYZ、变量名、sinx;不合法的变量名是:123_a(不能用数字开头)、a,123(不能用逗号)、a 123(不能有空格)、False、Sin(x)(VB的关键字)、π(不是英文字母)。 (4)把下列数学表达式写成Visual Basic表达式:

56|x?y|?z(1?xy)(1) (2)

10x?3y?b?b2?4acxy2a(3) (4) 110111?e?ln10sin45???x?y?1rr2r3 (6)

(5)1

答:(1) abs(x+y)+z^5

(2) (1+x*y)^6

(3) (10*x+Sqr(3*y))/(x*y) (4)(-b+Sqr(b*b-4*a*c))/(2*a) (5) 1/(1/r1+1/r2+1/r3)

(6) Sin(3.14159*45/180)+(Exp(10)+log(10))/Sqr(x+y+1)

(5)写出下列表达式的值:

(1)123 + 23 Mod 10 \\ 7 + Asc(\(2)Int(68.555 * 100 + 0.4) / 100 (3)#11/22/2004# - 10 (4)\

答:VB中计算表达式的值时,首先要考虑的是运算符的优先级。

(1)式中整除运算符\\优先级最高,故首先计算10\\7=1;然后计算23 Mod 1=0;所以整个表达式的值=123+0+65=188。

(2)式中Int(68.555*100+0.4)=Int(6855.9)/100=6855/100=68.55。注意Int()函数取整时,参数如果是整数,略去小数部分;参数是负数时,取不大于参数的最大整数。

(3)式中的10表示天数,故表达式的值是2004-11-12。

(4)“&”运算符的作用是把字符串连接起来,如果遇到数值,则先把数值转换成字符串后再连接,所以表达式的值是\。 (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 \\ 5 答:

(1)式=7+3*4=19; (2)式=7*7/4=12.25;

(3)式=7/2+3\\2=3.5+1=4.5;

(4)式=1+27\\4/5=1+6.75\\5=1+6\\5=2; (7)写出下列函数的值:

(1)Int(-3.14159) (2)Fix(-3.14159)

(3)Sqr(Sqr(81)) (4)Len(\程序设计\(5)Int(Abs(99 - 100) / 2) (6)Sgn(7 * 3 + 2)

(7)LCase(\ (8)Mid(\(9)Left(\ (10)Val(\个加23个\(11)Str(-459.55) (12)UCase(\答:

(1)Int(-3.14159)=-4; (2)Fix(-3.14159)=-3; (3)Sqr(Sqr(81))=3

(4)Len(\程序设计\(5)Int(Abs(99 - 100) / 2)=0; (6)Sgn(7 * 3 + 2)=1;

(7)LCase(\ (8)Mid(\ (9)Left(\ (10)Val(\个加23个\(11)Str(-459.55)=”-459.55”;

(12)UCase(\=”VISAUL BASIC”;

二、 选择题

(1)可以同时删除字符串前导和尾部空格的函数是 。 A. Ltrim B. Rtrim C. Trim D. Mid

(2)函数Int(Rnd(1) * 10)是在哪个范围产生随机整数 。 A. (0,1) B. (0,9) C. (1,10) D. (1,9) (3)数学式子sin25o写成Visual Basic表达式是 。

A.Sin25 B. Sin(25) C. Sin(25o) D. Sin(25*3.14/180) (4)表达式16/4 – 2^3 * 8/4 Mod 5\\2的值是 。

A. 14 B. 4 C. 20 D. 2

(5)数学关系式3?x?10表示成正确的VB表达式为 。 A. 3<= x <10 B. x >= 3 And x<10 C. x>=3 Or x<10 D. 3<= x And <10

(6)已知A=”12345678”,则表达式Val(Left(a, 4) + Mid(a, 4, 2))的值是 。 A. 123456 B. 123445 C. 8 D. 6 (7)表达式Len(\程序设计ABC\的值是 。 A. 10 B. 14 C. 20 D. 17 (8)下面正确的赋值语句是 。

A. x+y=30 B. y=3π*r*r C. y=x+30 D. 3y=x+1

(9)为了给x,y,z三个变量赋初值1,正确的赋值语句是 。 A. x=1: y=1: z=1 B. x=1, y=1, z=1 C. x=y=z=1 D. x,y,z=1

(10)赋值语句g = 123 + Mid(\执行后,变量g中的值是 。 A. “12334” B. 123 C. 12334 D. 157 (11)表达式Not(a+b=c-d)是_______。

A. 逻辑表达式 B. 字符表达式 C. 算术表达式 D. 关系表达式 (12)如果x是一个正实数,对x的第3位小数四舍五入的表达式是 。 A. 0.01 * Int(x + 0.005) B. 0.01 * Int(100 * (x + 0.005)) C. 0.01 * Int(100 * (x + 0.05)) D. 0.01 * Int(x + 0.05) (13)下列哪组语句可以将变量a,b的值互换 。

A. a=b: b=a B. a=a+b: b=a-b: a=a-b C. a=c: c=b: b=a D. a=(a+b)/2: b=(a-b)/2 (14)下列四个字符串进行比较,最小的是 。

A. “9977” B. “B123” C. “Basic” D. “DATA” (15)下列逻辑表达式中,其值为True的是 。

A. “b” > “ABC” B. “THAT” > “THE” C. 9 > “H” D. “A” > “a” (16)表达式a+b=c是 。

A. 赋值表达式 B. 字符表达式 C. 算术表达式 D. 关系表达式 (17)在下列表达式中,非法的是 。

A. a=b+c B. a>b+c C. a≠b>c D. a

A. 整数 B. 字符串 C. 逻辑值 D. 日期 (20)用语句Dim A(-3 to 5) As Long定义的数组元素个数是 。 A. 7 B. 8 C. 9 D.10 答:

(1)选C。Trim函数可以出去字符串两端的空格,而Ltrim、Rtrim则分别出去字串左端或右端的空格。

(2)选B。Rnd函数返回一个0~1(不包括1)的单精度小数,乘以10后用Int函数取整,得到的数应在0~9之间。

(3)选D。VB中,所有三角函数的参数必须用弧度代入计算,反三角函数的返回值是弧度。

(4)选B。因为16/4 – 2^3 * 8/4 Mod 5\\2=4-8*8/4 Mod 2=4-16 Mod 2=4-0=4。