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

上传人:b****2 文档编号:2438335 上传时间:2023-05-03 格式:DOCX 页数:33 大小:63.77KB
下载 相关 举报
一VB基本知识及选择循环结构习题.docx_第1页
第1页 / 共33页
一VB基本知识及选择循环结构习题.docx_第2页
第2页 / 共33页
一VB基本知识及选择循环结构习题.docx_第3页
第3页 / 共33页
一VB基本知识及选择循环结构习题.docx_第4页
第4页 / 共33页
一VB基本知识及选择循环结构习题.docx_第5页
第5页 / 共33页
一VB基本知识及选择循环结构习题.docx_第6页
第6页 / 共33页
一VB基本知识及选择循环结构习题.docx_第7页
第7页 / 共33页
一VB基本知识及选择循环结构习题.docx_第8页
第8页 / 共33页
一VB基本知识及选择循环结构习题.docx_第9页
第9页 / 共33页
一VB基本知识及选择循环结构习题.docx_第10页
第10页 / 共33页
一VB基本知识及选择循环结构习题.docx_第11页
第11页 / 共33页
一VB基本知识及选择循环结构习题.docx_第12页
第12页 / 共33页
一VB基本知识及选择循环结构习题.docx_第13页
第13页 / 共33页
一VB基本知识及选择循环结构习题.docx_第14页
第14页 / 共33页
一VB基本知识及选择循环结构习题.docx_第15页
第15页 / 共33页
一VB基本知识及选择循环结构习题.docx_第16页
第16页 / 共33页
一VB基本知识及选择循环结构习题.docx_第17页
第17页 / 共33页
一VB基本知识及选择循环结构习题.docx_第18页
第18页 / 共33页
一VB基本知识及选择循环结构习题.docx_第19页
第19页 / 共33页
一VB基本知识及选择循环结构习题.docx_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

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

《一VB基本知识及选择循环结构习题.docx》由会员分享,可在线阅读,更多相关《一VB基本知识及选择循环结构习题.docx(33页珍藏版)》请在冰点文库上搜索。

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

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

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

一、基本概念题

(1)说明下列哪些是VisualBasic合法的直接常量,并分别指出它们的类型。

100.0%1001E1123D3123,4560100

“ASDF”“1234.5”#2004/10/7#100#π

&O78&H123TrueT-1123!

345.54#

答:

在VB中,直接常量是以直接明显的形式给出的数据。

根据数据类型的不同,直接常量分为:

字符串常量、数值常量、日期常量和布尔常量。

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

本题中,“ASDF”、“1234.5”是字符串常量;

数值常量是由数值、小数点和正负号所构成的数值。

在VisualBasic中除十进制数值常量外,还有八进制、十六进制数值常量。

八进制常量前加&O;十六进制常量前加&H。

本题中,100.0、1E1、123D3、0100、100#、&O78、&H123、-1123!

和345.54#均为数值常量。

日期常量用来表示某一天或某一天的具体时间。

在VisualBasic中,日期常量用两个“#”号加以界定。

本题中,#2004/10/7#是日期常量。

逻辑型常量只有True和False两个值,表示“真”和“假”。

本题中,True是逻辑常量。

本题中,%100、123,456、π、T不是合法的常量。

(2)下列数据哪些是变量,哪些是常量?

是什么类型的常量?

Name“name”Falseff“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)下列符号中,哪些可以是VisualBasic的合法变量名?

A123a12_3123_aa,123a123Integer

XYZFalseSin(x)变量名sinxπ

答:

变量命名的规则是:

必需以字母或汉字开头,其后可以是下划线、字母、汉字和数字,长度小于255个字符;不能使用VB的关键字。

本题中,合法的变量名是:

A123、a12_3、XYZ、变量名、sinx;不合法的变量名是:

123_a(不能用数字开头)、a,123(不能用逗号)、a123(不能有空格)、False、Sin(x)(VB的关键字)、π(不是英文字母)。

(4)把下列数学表达式写成VisualBasic表达式:

(1)

(2)

(3)

(4)

(5)

(6)

答:

(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+23Mod10\7+Asc("A")

(2)Int(68.555*100+0.4)/100

(3)#11/22/2004#-10

(4)"ZXY"&123&"abc"

答:

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

(1)式中整除运算符\优先级最高,故首先计算10\7=1;然后计算23Mod1=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)“&”运算符的作用是把字符串连接起来,如果遇到数值,则先把数值转换成字符串后再连接,所以表达式的值是"ZXY123abc"。

(6)设a=7,b=3,c=4,求下列表达式的值:

(1)a+3*c

(2)a^2/4

(3)a/2+3\2(4)aMod3+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("VisualBasic程序设计")

(5)Int(Abs(99-100)/2)(6)Sgn(7*3+2)

(7)LCase("HellowVB!

")(8)Mid("HellowVB!

",4,3)

(9)Left("HellowVB!

",3)(10)Val("16个加23个")

(11)Str(-459.55)(12)UCase("VisualBasic")

答:

(1)Int(-3.14159)=-4;

(2)Fix(-3.14159)=-3;

(3)Sqr(Sqr(81))=3

(4)Len("VisualBasic程序设计")=16;

(5)Int(Abs(99-100)/2)=0;

(6)Sgn(7*3+2)=1;

(7)LCase("HellowVB!

")=”hellowvb”;

(8)Mid("HellowVB!

",4,3)=”low”;

(9)Left("HellowVB!

",3)=”Hel”;

(10)Val("16个加23个")=16;

(11)Str(-459.55)=”-459.55”;

(12)UCase("VisualBasic")=”VISAULBASIC”;

二、选择题

(1)可以同时删除字符串前导和尾部空格的函数是。

A.LtrimB.RtrimC.TrimD.Mid

(2)函数Int(Rnd

(1)*10)是在哪个范围产生随机整数。

A.(0,1)B.(0,9)C.(1,10)D.(1,9)

(3)数学式子sin25º写成VisualBasic表达式是。

A.Sin25B.Sin(25)C.Sin(25º)D.Sin(25*3.14/180)

(4)表达式16/4–2^3*8/4Mod5\2的值是。

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

(5)数学关系式

表示成正确的VB表达式为。

A.3<=x<10B.x>=3Andx<10

C.x>=3Orx<10D.3<=xAnd<10

(6)已知A=”12345678”,则表达式Val(Left(a,4)+Mid(a,4,2))的值是。

A.123456B.123445C.8D.6

(7)表达式Len("123程序设计ABC")的值是。

A.10B.14C.20D.17

(8)下面正确的赋值语句是。

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

(9)为了给x,y,z三个变量赋初值1,正确的赋值语句是。

A.x=1:

y=1:

z=1B.x=1,y=1,z=1C.x=y=z=1D.x,y,z=1

(10)赋值语句g=123+Mid("123456",3,2)执行后,变量g中的值是。

A.“12334”B.123C.12334D.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=aB.a=a+b:

b=a-b:

a=a-b

C.a=c:

c=b:

b=aD.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+cB.a>b+cC.a≠b>cD.a

(18)语句PrintFormat(“HELLO”,“<”)的输出结果是    。

 A.HELLOB.helloC.HeD.he

(19)MsgBox函数的返回值的类型是    。

A.整数     B.字符串      C.逻辑值   D.日期

(20)用语句DimA(-3to5)AsLong定义的数组元素个数是。

A.7B.8C.9D.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/4Mod5\2=4-8*8/4Mod2=4-16Mod2=4-0=4。

(5)选B。

表示变量x大于等于3而且小于9,应注意这里不能使用数学式子的习惯用法。

(6)选B。

Left(a,4)的值是”1234”,Mid(a,4,2)的值是”34”,两字符串连接后再由Val函数转变为数值123445。

(7)选A。

在VB中,西文字符、中文字符和数字都是一个字符长度,字符串长度就等于字符的个数。

(8)选C。

赋值号左边只能是变量,不能是表达式,故A是错误的;B、D中的均有不合法的变量名。

(9)选A。

选项B、D语法错误,选项C是一关系表达式。

(10)选D。

数值型数据与字符串相加时,如果字符串是数字,VB把字符串转变为数值后,再相加;字符串不是数字时,系统提示出错。

(11)选A。

由逻辑运算符组成的表达式是逻辑表达式。

(12)选B。

(13)选B。

(14)选A。

字符串的比较是按字符的ASCII码值从左到右一一比较,先大为大。

(15)选A。

(16)选D。

表达式a+b=c是关系表达式,如果a+b的值等于c,则表达式的值为True,否则为False。

(17)选C。

VB中的不等号只能用<>。

(18)选B。

在格式输出函数中,“<”是强制小写符号。

(19)选A。

MsgBox函数的返回值的类型是一整型数,记录了用户在消息框中选择了哪一个按钮。

(20)选C。

定义的数组元素个数是9,数组元素的下标分别是:

-3,-2,-1,0,1,2,3,4,5。

三、判断题

(1)VB6.0中&H12是8进制的数值常数。

(2)设A="123",B=123,则A+B的结果为246,A-B的结果为0。

(3)已知A$="87654321",则表达式Val(Left$(A$,4)+Mid$(A$,4,2))的值是:

876554。

(4)Rnd函数产生的是(0,1)之间不包括0、1的随机小数。

(5)表示x是5的倍数或是9的倍数的逻辑表达式为:

xMod5=0ORxMod9=0。

(6)Len("等级考试")和LenB("等级考试")的结果相同。

(7)VB6.0中字符串常量是用双引号或单引号括起来的字符串。

(8)PrintInStr("VisualBasic","I")的结果为0。

(9)固定数组中的数组元素个数一旦定义好后,在程序运行过程中不再会发生变化,并且数组中数组元素的值也不会变化。

(10)数组元素的下标可以是常数、变量或表达式。

(11)在For…Next循环中,其中Step步长可以是正数,也可以是负数。

(12)在Do…Loop[While|Until]循环中,While关键字或Until关键字必须选择其中之一。

(13)在For...Next循环中,ExitFor子句是可选项,它可以放置在循环体语句中的任何位置。

(14)动态数组在定义时已被分配存储空间。

(15)在VB6.0中,OptionBase语句的参数只能是0或1。

答:

(1)错。

&H12是16进制的数值常数,8进制数常数的前缀是&O。

(2)对。

数值型数据与字符串相加时,如果字符串是数字,VB把字符串转变为数值后,再相加。

(3)对。

Left$(A$,4)的返回值是“8765”,Mid$(A$,4,2)的返回值是“54”,两个字符串相加后,再由Val函数转换成876554。

(4)错。

Rnd函数产生的是(0,1)之间的随机小数,包括0,但不包括1。

(5)对。

一个数是另一个数的倍数时,相除余数为零。

(6)错。

Len函数的返回值是字符个数,LenB函数的返回值是字符串所占用的字节数。

(7)错。

VB6.0中字符串常量只能是用双引号括起来的字符串。

(8)对。

InStr函数的返回值是乙字串在甲字串中的位置,如果甲字串中不包含乙字串,则函数返回值是0。

(9)错。

固定数组中的数组元素个数一旦定义好后,在程序运行过程中不再会发生变化,但数组元素的值是可以变化的。

(10)对。

(11)对。

(12)错。

While关键字和Until关键字可以同时省略,表示无条件循环。

此时,循环体中应有ExitDo子句。

(13)对。

(14)错。

动态数组在定义时没有被分配存储空间。

(15)对。

四、程序阅读题

(2)执行下面程序段后,变量x的值为       。

DimxAsInteger

x=5

Fori=1To20Step3

      x=x+i\5

Nexti

答:

变量x的值为16。

因为循环体共执行Int((20-1)/3+1)=7次,前两次循环x的值不变;第3次循环后x的值为6;第4、5次循环,x的值每次加2;第6、7次循环x的值每次加3;故循环结束后x的值为16。

 (3)执行下面程序后,输出的结果是       。

     PrivateSubForm_Click()

DimxAsInteger

Fori=1To3

     Forj=1Toi

     Fork=jTo3

      x=x+1

     Nextk

     Nextj

Nexti

Printx

EndSub

答:

输出结果是x=14。

这是一个3重循环,最内层的循环体共执行14次,每次加1。

 (4)执行下面程序后,输出的结果是       。

PrivateSubForm_Click()

DimxAsInteger

x=0

DoWhilex<50

      x=(x+2)*(x+3)

      n=n+1

Loop

Print"x=";x;"n=";n

EndSub

答:

输出结果是x=72n=2。

本程序执行循环2次,第1次循环,x的值为6,n值为1;第2次循环,x的值为72,n值为2。

x大于50时,循环终止。

 (5)执行下面程序后,输出的结果是       。

     PrivateSubForm_Click()

DimxAsInteger,aAsInteger

x=0

Forj=1To5

a=a+j

   Nextj

    x=j

    Printx,a

EndSub

答:

输出结果是615。

变量x中保存的是循环变量j的终止值6。

循环体执行了5次,故a的值是15。

 (6)以下程序的循环次数是        。

Forj=8To35Step3

     Printj;

Nextj

答:

循环体共执行Int((35-8)/3+1)=10次。

 (7)执行下面程序输入4后,程序输出的结果是       。

PrivateSubForm_Click()

x=InputBox(x)

Ifx^2<15Theny=1/x

Ifx^2>15Theny=x^2+1

Printy

EndSub

答:

输出结果是17。

因为x^2=16>15,故程序执行y=x^2+1=17。

 (8)执行下面程序后,输出的结果是       。

PrivateSubForm_Click()

DimsumAsInteger

sum%=19

sum=2.23

Printsum%;sum

EndSub

答:

输出结果是22。

程序中变量sum被定义成整型变量,所以赋与实数值时,系统会把小数部分除去。

%是类型符号,也是表示整型。

 (9)执行下面程序后,输出的结果是       。

PrivateSubForm_Click()

a=100

     Do

s=s+a

a=a+1

LoopUntila>100

Printa

EndSub

答:

输出结果是101。

程序中使用的是后测型循环结构。

循环体执行1此后,变量a的值变为101,满足循环结束条件,故循环终止。

(10)执行下面程序后,输出的结果是       。

PrivateSubForm_Click()

a="ABCD"

b="efgh"

c=LCase(a)

d=UCase(b)

Printc+d

EndSub

答:

输出结果是"abcdEFGH"。

LCase()函数的作用是把字符串中的大写字母转换成小写;UCase()函数的作用是把字符串中的大写字母转换成大写。

(11)执行下面程序后,输出的结果是       。

PrivateSubForm_Click()

x=2:

y=4:

z=6

x=y:

y=z:

z=x

Printx;y;z

EndSub

答:

输出结果是464。

应注意的是本程序无法实现3个变量值的互换。

(12)执行下面程序后,输出的结果是       。

PrivateSubForm_Click()

DimcountAsInteger

count=0

Whilecount<20

count=count+1

Wend

Printcount

EndSub

答:

输出结果是20。

程序中的循环体执行20次,当count的值为20时,不再满足循条件,程序执行循环结构后面的打印语句。

(13)执行下面程序后,输出的结果是       。

PrivateSubForm_Click()

a="*":

b="$"

Fork=1To3

x=Str(Len(a)+k)&b

Printx;

Nextk

EndSub

答:

输出结果是"2$""3$""4$"。

程序循环执行时,Len(a)的返回值始终是1,Str(Len(a)+k)的值分别是2、3、4。

字符串连接符&把两个字符连接在一起。

(14)执行下面程序后,输出的结果是       。

PrivateSubForm_Click()

k=0:

a=0

DoWhilek<70

k=k+2

k=k*k+k

a=a+k

Loop

Printa

EndSub

答:

输出结果是78。

程序中的循环体可以被执行两次。

第1次执行后变量k、a的值均为6,第2次循环后,k的值是72,a的值是78。

(15)执行下面程序后,输出的结果是       。

PrivateSubForm_Click()

DimM(10)AsLong,N(10)AsLong

i=3

Fort=1To5

M(t)=t

N(i)=2*i+t

Nextt

PrintN(i);M(i)

EndSub

答:

输出结果是113。

本程序中的循环体执行5次,但由于变量i的值保持不变,故只对M(t)和N(3)进行赋值。

循环结束后,N(3)的值是11,M(3)的值是3。

(16)执行下面程序后,输出的结果是       。

PrivateSubForm_Click()

Dima()

a=Array(1,2,3,4)

j=1

Fori=3To0Step-1

s=s+a(i)*j

j=j*10

Nexti

Prints

EndSub

答:

输出结果是1234。

程序中的循环体执行4次,变量s的值为4+30+200+1000=1234。

(17)执行下面程序后,输出的结果是       。

PrivateSubForm_Click()

DimM(10)

Fork=1To10

M(k)=11-k

Nextk

x=6

PrintM(2+M(x))

EndSub

答:

输出结果是4。

循环执行完成后数组M的值为(10,9,,8,7,6,5,4,3,2,1)。

M(6)的值是5,故M(2+5)=M(7)的值是4。

(18)执行下面程序后,输出的结果是       。

PrivateSubForm_Click()

Dima(10)AsInteger,p(3)AsInteger

k=5

Fori=1To10

a(i)=i

Nexti

Fori=1To3

p(i)=a(i*i)

Nexti

Fori=1To3

k=k+p(i)*2

Nexti

Printk

EndSub

答:

输出结果是33。

前两个循环执行完成后数组a的值为(1,2,3,4,5,6,7,8,9,10),数组p的值为(1,3,9)。

第3个循环执行后,k=5+1×2+4×2+9×2=33。

(19)执行下面程序后,输出的结果是       。

PrivateSubForm_Click()

Dima(10,10)AsInteger

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2