当前位置:文档之家› 程序设计基础习题及参考答案

程序设计基础习题及参考答案

习题及参考答案1 单项选择题:(1)下列哪个符号是合法的变量名? ( )A .VB123B .AbsC .99JiD .x\y 答案:选择A 。

其他的:Abs 是Visual Basic 的关键字,99Ji 以数字开头,x\y 使用了整除运算符”\”,都是非法的。

(2)Visual Basic 中的数据也可以以十六进制或八进制表示,十六进制数据以( )符号开头,八进制数据以( )符号开头。

A.$EB.$HC.&OD.&H 答案:D C(3)如果X 是一个正实数,对X 的第三位小数四舍五入的表达式是 ( )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) 答案:选择B 。

x 是一个正实数,要保留n 位小数,第n+1位四舍五入的数字公式是: Int(x*10n+0.5)/10n因此,本题应该选择B 。

(4)数学式子10sin25°写成Visual Basic 表达式是 ( )A .10Sin25B .10* Sin(25)C .10*Sin(25°)D .10*Sin(25*3.14/180) 答案:选择D 。

其他的选项:A 、C 属于语法错误,B 中Sin(25)计算的是25弧度的正弦值,而不是sin25°的值,要将度数转换为弧度的公式是:弧度=度数*180/ 。

(5)下列哪组语句可以将变量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 答案:选择B 。

应该对每个选项内的赋值语句进行分析,判断其运行结果。

下面仅对B 选项的三条语句的作用分析如下:◆ A=A+B ‘将变量A 和变量B 相加后赋给变量A ,此时A 中存放的是和数◆ B=A-B ‘由于A 中存放的是和数,A-B 的值就是原先A 中的值,赋给变量B ,B 的值就是原先A 中的值◆ A=A-B ‘由于A 中存放的是和数,B 的值就是原先A 中的值,A-B 的值就是原先B中的值 ,赋给变量A ,A 的值就是原先B 中的值。

这样达到了交换目的。

实际上,在引用第三个变量的情况下,将变量A 、B 的值互换常用如下的语句: T=A:A=B:B=T(6)Visual Basic 中不存在下列哪一种数据类型? ( )A 字符串类型B 日期类型C 逻辑类型D 指针类型 答案:选择D 。

在Visual Basic 中不存在指针(地址)类型,而在C++等语言中有指针类型。

(7)把数值型转换为字符串型需要使用下列哪一个函数? ( )A ValB StrC AscD Chr答案:选择B。

(8)模拟方形骰子投掷的表达式是 ( )A Int(6*Rnd)B Int(1+6*Rnd)C Int(6*Rnd-1)D Int(7*Rnd-1)答案:选择B。

产生1~6 间的随机整数。

请分析A、C、D 各产生什么样的随机整数。

(9)表达式Right(“asdf”,2)+UCase(“as”)的值为 ( )A asasB asASC dfasD dfAS答案:选择D。

(10)关于语句行,下列说法正确的是 ( )A 一行只能写一个语句B 一个语句可以分多行书写C 每行的首字符必须大写 D长度不能超过255个字符答案:选择D。

在不使用续行符的情况下一条语句不可以分多行书写。

如果一条语句太长了,超过编辑窗口的宽度,你以不想使用滚动条时,可以将一条语句分多行书写,但是前行的行末必须使用续行符”_”(空格和下划线)。

例如下面这条语句,就分两行书写:Form1.Print “如果一条语句太长了,超过编辑窗口宽度,”& _“你以不想使用水平滚动条时,可以将一条语句多行书写。

”(11)如果希望用变量X来存放数据1234.5678912应将X定义为什么类型? ( )A.单精度实型B. 双精度实型C.长整型D.字符型答案:选择B。

因为实型数1234.5678912 的有效数字超过7位,应该使用双精度实型。

(12)设Str1,Str2是字符型变量,Str1="Visual Basic123",Str2="a",则下面表达式中结果为True的是 ( )A. Mid (Str1,5,1) = Str2B. Len(Str1)>2*Instr(Str1, "c")C.Right(Str1,3)="c12"D. Instr(Left(Str1,6),"a")+60>Asc(UCase(Str2))答案:选择A。

(13)表达式6+10 Mod 4*2+1的值是 ( )A 9B 11C 1D 3答案:选择A。

要注意表达式中运算符的优先级别,运算顺序是:①先算“*”:4*2=8;②再算”Mod”:10 Mod 8=2;③最后从左到右算两个“+” :6+2+1=9 结果是9(14)在窗体上使用方法Print Format(12.3456,”00000.00%”)将输出什么结果? ( )A.01234.56%B.1234.56%C.12.34%D.12.3400%答案:选择A。

格式串”00000.00%”表示以百分数输出,整数部分4个字符,不足补零,小数部分两位,不足补零。

若使用格式串”####.00%“,则输出的是B。

(15)用于截去字符串左右空格的函数是: ( )A.Trim()B.Rtrim()C.Instr()D.Mid()答案:选择A 。

(16)Variant是一种特殊的数据类型,除了()和()类型外,可以包含任何种类的数据。

A.固定长度字符串B.字节C.实型D.单精度E.可变长度字符串F.整型G.货币H.自定义答案:A H(17)设有以下定义语句:Dim max, min As Single, d1,d2 As Double, abc As String*5则变量max 的类型是(),变量min 的类型是( ) ,变量d1的类型是( ),变量d2的类型是( ),变量abc 的类型是( )A. 可变类型B. 单精度型C. 双精度型D.字符串型答案:A B A C D(18)下列()是日期型常量。

A.”2/1/02”B.2/1/02C.#2/1/02#D.{2/1/02}答案:C(19)表达式”12”+”34”的值是()。

表达式”12”&”34”的值是()。

表达式12&34的值是()。

表达式12+34的值是()。

A.”1234”B.”12””34”C.”46”D.46答案:A A A D(20)表达式Int(Rnd(0)+1) + Int(Rnd(1)-1)的值是()A.1B.0C.-1D.2答案:B(21) Option Explicit语句不可以放在()A. 窗体模块的声明段中B. 标准模块的声明段中C. 类模块的声明段中D. 任何事件过程中答案:D(22)表达式”12”+”34”的值是()。

表达式”12”&”34”的值是()。

表达式12&34的值是()。

表达式12+34的值是()。

A.”1234”B.”12””34”C.”46”D.46答案:A A A D2下列数据中,哪些是变量?哪些是常量?A.Sum B.”ToTal” C.#10/10/99# D.Ture E.PIF.456.89 G.1E1 H.vbCrLf答案:变量有:A. Sum、E.PI; 常量有:B. ”ToTal”(字符常量)、C.#10/10/99#(日期常量)、D. Ture(布尔类型常量)、F. 456.89(数值常量)、G. 1E1(数值常量,科学计数法表示)、H. vbCrLf(系统常量,表示回车换行)3 在Visual Basic中,对于没有赋值的变量,系统默认值是什么?答案:对于不同类型的变量,在没有赋值的情况下,系统有不同的默认值:◆字符型变量:变长的字符串被初始化为一个零长度的字符串(“”) ,而定长的字符串则用空格填充。

◆数值型和货币型变量的默认值是零。

◆日期型变量的默认值是0:00:00。

◆逻辑型变量的默认值是False。

◆可变型变量的默认值是Empty。

4 分别写出下列表达式的值:A.2+2*3^2B.4>5C.#10/20/99#-10D.7/2E.9\4F.-15 Mod 4G.”Sum=” & 2001H.”abcd”+”1234”答案:每个表达式的值和类型如下:5 写出下列函数的值:A.Fix(-123.456)B.Int(-123.456)C.Sqr(Sqr(16))D.Exp(2\3)E.Int(Abs(13-24)/2+.5)F.Str(-345.67)G.Log(Cos(0)) H.Val(“32-23”)I.UCase(“Beijing-2008”)J.Right(“Beijing-2008”,4)K.Sgn(-4 Mod 3+1) L.Len(“Beijing-2008”)答案:每个函数的值和类型如下6 将下列数学表达式,改写成Visual Basic 表达式。

答案:每个数学表达式的Visual Basic 表达式如下 : A 的Visual Basic 表达式是:sqr(p*(p-a)*(p-b)*(p-c) B 的Visual Basic 表达式是:(3*x)/(6-x^3)/(x^3+5*x+3) C 的Visual Basic 表达式是:sqr(abs(b*b-4ac))D 的Visual Basic 表达式是:sin(2*x)+tan(3*x)^2/cos(x) 7 将下列Visual Basic 表达式,还原成数学表达式。

A.x^4/25+x*Abs(x*x-4*x)B.3/4/(B-4)*AC.Sin(42*3.14159/180)/Cos(3.14159/3)D.Log(x)/sqr(x*x+1) 答案:每个 Visual Basic 表达式所对应的数学表达式如下 :A.254x +x x x 42- B.443-B A C.0060cos 42sin D.1ln 2+x x8 根据所给条件,列出逻辑表达式。

(1) 闰年的条件是:年号(year)能被4整除,但不能被 100 整除;或者能被400整除。

xxtg x D AC B C x x x x B c p b p a p p A cos 32sin :4:3563:))()((:2233+-++----(2)一元二次方程ax2+bx+c=0 有实根的条件为a≠0 ,并且b2-4ac≥0。

相关主题