[模拟] 二级Visual Basic语言程序设计模拟95
单项选择题
第1题:
在窗体上画一个名称为Textl的文本框,然后画.3个单选按钮,并用这3个单选按钮建立一个名为option1的控件数组,程序运行后,如果单击某个单选按钮,则文本框中的字体根据所选择的单选按钮切换,如图1所示。请选择适合空白处的语句____。
Private Sub Option 1——Click(Index As Integer)
Select Case
Case 0:a=“宋体”
Case 1:a:“黑体”
Case 2:a=“楷体GB2312”
End Select
Text1____=a
End Sub
A.Option Text
B.Index Text
C.Index.Font
D.Option Font
参考答案:C
本题考查控件数组。Optionl数组中每个元素的名字为Optionl,依靠不同的Index属性来区分不同的控件。变量a表示选择不同按钮后的不同字体,字体名属性为Font属性集的默认属性(FontName),这里可以直接使用Font属性。
第2题:
窗体上有一个名称为Command1的命令按钮,一个名称为Text1的文本框。编写如下程序:
Private Sub Command1_Click()
Dim X As Integer
x=Val(InputBox(“输入数据”))
Text1=Str(x+fun(X)+fun(X))
End Sub
Private Function fun(ByRef n As Integer)
If n Mod 3=0 Then
n=n+n
Else
n=n*n
End If
fun=n
End Function
对于上述程序,以下叙述中错误的是( )。
A.语句fun=n有错,因为n是整型,fun没有定义类型
B.运行程序,输入值为5时,文本框中显示655
C.运行程序,输入值为6时,文本框中显示42
D.ByRef表示参数按址传递
参考答案:A
过程fun的功能是将传入的值运算后返回,当传入数值为3的整数倍时返回该值的2倍,否则返回该值的平方。过程Fun的参数指定为ByRef方式,即按址传递,因此会影响实参的值。str函数是将数值转换为字符串。过程fun定义时没有指明返回类型因此默认为Variant类型,它可以表示任何值,因此A选项的说法不正确。
第3题:
现有如下语句:
x=IIf(a 〉50,Int(a\3),a Mod 2)
当a=52时,x的值是( )。
A.0
B.1
C.17
D.18
参考答案:C
首先计钎:h(a\3)即Int(52\3)=Int(17)=17,52 MOD 2结果为0。再计算IIf(52 〉50,17,0),52 〉50结果为Tme,所以IIF函数返回17,则x值为17,故选C。
第4题:
窗体上有两个名称分别为Text1、Text2的文本框,一个名称为Command1的命令按钮。设有如下的类型声明:
Type Person
name As String*8
majorAs String*20
End Type
当单击命令按钮时,将两个文本框中的内容写入一个随机文件Test.dat中。设文本框中的数据已正确地赋值给Person类型的变量p。则能够正确地把数据写入文件的程序段是()。
A.Open”c:\Test.dat”ForRandomAs#1 Put#1,1,p Close#1
B.Open”c:\Test.dat”For Random As#1 Get#1,1,p Close#1
C.Open”c:\Test.dat”For Random As#1 Len=Len(p) Put #1,1,p Close#1
D.Open”c:\Test.dat”For Random As#1 Len=Len(p) Get#1,1,p Close#1 参考答案:C
考查随机文件读写。以Random打开随机文件的格式为:Open 文件名For RandomAs#文件号 [Len=记录长度],该语句可以进行读写操作,写操作格式为:Put#文件号,[记录号],变量名,可以将一个记录变量的内容写到指定的记录位置处,如果忽略记录号,则表示在当前记录后的位置插入一条记录。读操作格式为:Get[#] 文件号,[记录号],变量名,如果忽略记录号,则读出当前记录后面的那一条记录。
第5题:
以下叙述中错误的是()。
A.一个工程中可以包含多个窗体文件
B.在一个窗体文件中用Private定义的通用过程能被其他窗体调用
C.全局变量必须在标准模块中定义
D.在设计VB程序时,窗体、标准模块、类模块等需要分别保存为不同类型的磁盘文件
参考答案:B
考查工程和窗体。VB中一个工程可以包含多个窗体或者多个标准模块、类模块等,这些文件的扩展名不同。标准模块中经常定义全局变量或者全局过程,在一个窗体中用Private定义的过程,作用域为整个窗体,而不是整个工程。
第6题:
以下叙述中错误的是____。
A.在工程资源管理器窗口中只能包含一个工程文件及属于该工程的其他文件
B.以.BAS为扩展名的文件是标准模块文件
C.窗体文件包含该窗体及其控件的属性
D.一个工程中可以含有多个标准模块文件
参考答案:A
第7题:
下列叙述中正确的是____。
A.一个逻辑数据结构只能有一种存储结构
B.数据的逻辑结构属于线性结构,存储结构属于非线性结构
C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率
D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的
效率
参考答案:D
第8题:
如果在Visual Basic集成环境中没有打开属性窗口,下列可以打开属性窗口的操作是______。
A.用鼠标双击窗体的任何部位
B.执行“工程”菜单中的“属性窗口”命令
C.按Ctrl+F4键
D.按F4键
参考答案:D
用鼠标双击窗体的任何部位会打开“代码窗口”,故A选项错误。在“视图”菜单中才有“属性窗口”命令,故B选项错误。按Ctrl+F4键关闭当前活动窗体窗口。故C选项错误。按F4会打开“属性窗口”。故D选项正确。 [知识点] [选项个数]4 [试题编号] [分数] [题目类型] [难度]
第9题:
下列队列的描述中,正确的是( )。
A.队列属于非线性表
B.队列在队尾删除数据
C.队列按“先进后出”进行数据操作
D.队列按“先进先出”进行数据操作
参考答案:D
队列是只允许在一端删除,在另一端插入的顺序表,允许删除的一端叫做队头,允许插入的一端叫做队尾。队列的操作数是依据先进先出的原则进行的。因此队列亦称作先进先出的线性表,或后进后出的线性表。
第10题:
设有如下通用过程:
Public Function f(x As Integer)
Dim y As Integer
x = 20
y = 2
f = x * y
End Function
在窗体上画一个命令按钮,其名称为Command1,然后编写如下事件过程:Private Sub Command1_Click()
Static x As Integer
x = 10
y = 5
y = f(x)
Print x; y
End Sub
程序运行后,如果单击命令按钮,则在窗体上显示的内容是()。
A.10 5
B.20 40
C.20 5
D.10 40
参考答案:B
过程f中形参变量x没有指定传递方式,则默认按地址传递,会影响实参值。而变量y在按钮事件过程和f过程中都是局部变量,因此只在本过程中起作用。因此执行y = f(x)后,x值在过程中被改变为20,而y被赋值为过程返回值40。因此程序窗体上会显示20和40,即选B)。
第11题:
下列不能打开代码窗口的操作是_________。
A.双击窗体
B.双击窗体上的某个控件
C.单击窗体
D.按F7键
参考答案:C
[知识点] [选项个数]4 [试题编号] [分数] [题目类型] [难度]
第12题:
在窗体上没有进行任何属性设置,然后编写如下事件过程,则程序运行结果是____。
Private Sub Form_Load0
For i=1 To 10
sum=sum+i
Next i
Print”Sum=”;sum
End Sub
A.在窗体上输出55
B.在窗体上输出sum=55
C.出错
D.窗体上不输出
参考答案:D
本题考查Load事件运行。当装入窗体事件触发时,通常用于对属性和变量初始化,一般不使用Print方法,若想Print方法在Form Load事件过程中起作用,必须设置窗体的AutoRedraw为True,否则Print方法不起作用。
第13题:
某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)( )。
A.3
B.4
C.6
D.7
参考答案:D
根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子结点总比度为2的结点多一个,所以本题中度为2的结点为1-1=0个,所以可以知道本题目中的二叉树的每一个结点都有一个分支,所以共7个结点共7层,即度为7。
第14题:
为了使模块尽可能独立,要求___。
A.内聚程度要尽量高,耦合程度要尽量强
B.内聚程度要尽量高,耦合程度要尽量弱
C.内聚程度要尽量低,耦合程度要尽量弱
D.内聚程度要尽量低,耦合程度要尽量强
参考答案:B
第15题:
窗体上有一个名称为Timer1的计时器控件,一个名称为shape1的形状控件,其Shape属性值为3(Cir—cle)。编写程序如F:
Privale Sub Form_LJmd()
shape1.Top=0
Tirnerl.Interval=100
End Sub
Private SubTimer1 Timer() Static X As Integer
shape1.Top=shape1.Top+100
X=X+l
If X M0d 10:0 Then
shape1.Top=0
End If
End Sub。
以下关于上述程序的叙述中,错误的是( )。
A.每执行一次Timer1_Timer事件过程,X的值都在原有基础上增加1
B.shape1每移动10次叫到起点,重新开始
C.窗体上的shape1由下而上移动
D.shape1每次移动100
参考答案:C
题目中变量X定义为Stalic,即每次进入Timer事件过程时,x都会保留上次的值,从而实现每执行一次Timer1_Titmer事件过程X的值都在原有的基础上增加。程序中判断调用Timer 事件过程10次后,重置shape1的top值为0,即回到起点。控件shape1的Top属性是距离窗体项的位置,数值越大距离越远,因此shape1会由上向下多动。
第16题:
以下关于窗体的叙述中,错误的是( )。
A.Hide方法能隐藏窗体,但窗体仍在内存中
B.使用Show方法显示窗体时,一定触发Load事件
C.移动或放大窗体时,会触发Paint事件
D.双击窗体时,会触发DblClick事件
参考答案:B
窗体的Load事件是把窗体装入工作区的事件,即装入内存,然后窗体才显示出来,使用Hide方法可以使窗体隐藏,但窗体仍在内存中,使用Show方法能使窗体显示出来。当窗体被移动或放大时,或者窗口移动时覆盖了一个窗体时,触发Paint事件。双击窗体时会触发窗体的DblClick事件。
第17题:
下面的数写成普通十进制数是()。8.6787E+8
A.86787000
B.867870000
C.8678700
D.8678700000
参考答案:B
浮点数也称为实型数或实数,是带有小数部分的数值。他由3部分组成:符号、指数及尾数。例如123.456E3或123.456E+3的单精度数,这其中的”123.456”部分为尾数部分、”E3”为指数部分(E为符号,3为指数),相当于123.456乘以10的3次幂。中是”E+8”,那么应该是乘以10的8次幂,所以选项B正确。第18题:
已知图片框Picture1中已装入一个图形,为了在不删除图片框的前提下,清除该图形,应采取的正确操作是______。
A.在设计阶段选择图片框Picture1,并按Delete键
B.在运行期间执行语句Picture1.Picture=LoadPicture("")
C.在运行期间执行语句Picture1.Picture=""
D.在设计阶段先选中图片框Picture1,再在属性窗口中选择Picture属性,最后按Enter键
参考答案:B
如果图片框已装入了一个图形,在不删除图片框的前提下要想清除该图形有两种方法。一是在设计阶段在图片框的属性窗口中删除图片框控件Picture属性行后边的"(Bitmap)",另一种方法是在程序运行阶段使用LoadPicture(" ")装一个空文件,这样也能清除图形。 [知识点] [选项个数]4 [试题编号] [分数] [题目类型] [难度]
第19题:
设窗体上有2个直线控件Line1和Line2,若使两条直线相连接,需满足的条
件是()。
A.Line1.X1 = Line2.X2 且 Line1.Y1 = Line2.Y2
B.Line1.X1 = Line2.Y1 且 Line1.Y1 = Line2.X1
C.Line1.X2 = Line2.X1 且 Line1.Y1 = Line2.Y2
D.Line1.X2 = Line2.X1 且 Line1.Y2 = Line2.Y2
参考答案:A
直线控件的X1、Y1和X2、Y2属性分别表示直线两个端点的坐标,即(X1,Y1)和
(X2,Y2)。如果要使两条直线相连,显然这两条直线的某一端点的坐标相同才行。因此本题需要Line1.X1 = Line2.X1且Line1.Y1 = Line2.Y1,或Line1.X1 =Line2.X2且Line1.Y1 = Line2.Y2,或Line1.X2 = Line2.X1且Line1.Y2 = Line2.Y1,或Line1.X2 = Line2.X2且Line1.Y2 = Line2.Y2。因此A)选项正确。
第20题:
下列排序方法中,最坏情况下比较次数最少的是()。
A.冒泡排序
B.简单选择排序
C.直接插入排序
D.堆排序
参考答案:D
冒泡排序、直接插入排序与简单选择排序法在最坏情况下均需要比较n(n-1)/2次,而堆排序在最坏情况下需要比较的次数是nlog2n,因此本题答案为D)。
第21题:
下列控件不支持MouseDown事件的是____。
A.HsrcollBar
https://www.doczj.com/doc/1510333425.html,mand Button
C.PictureBox
D.TextBox
参考答案:A
第22题:
窗体的MouseUp事件过程如下:
Private Sub Form_MouseUp(Button As Integer,Shift As Integer,X As Single,Y As Single)
……
End Sub
关于以上定义,以下叙述中错误的是()。
A.根据Shift参数,能够确定使用转换键的情况
B.根据X、Y参数可以确定触发此事件时鼠标的位置
C.Button 参数的值是在MouseUp事件发生时,系统自动产生的
D.MouseUp是鼠标向上移动时触发的事件
参考答案:D
MouseUp事件是鼠标松开时触发的事件过程,事件过程的Button参数值由系统产生,为被按下的键,Shift参数表示Shift、Ctrl和Alt键的状态,X、Y参数表示光标的当前位置。故选D)。
第23题:
以下过程定义中正确的过程首行是______。
A.Private Sub Proc(Optional a as Integer, b as Integer)
B.Private Sub Proc(a as Integer)as Integer
C.Private Sub Proc(a()As Integer)
D.Private Sub Proc(ByVal a()As Integer)
参考答案:C
A选项错误原因:Sub过程的第1个参数a用Optional 关键字声明,说明为可选参数,那么后面的参数b也必须是可选参数,用Optional声明。B选项错误原因:Sub过程无返回值,不用指明返回值数据类型。D选项错误原因:可以用ByVal关键字声明变量,不能声明数组。C选项正确。[知识点] [选项个数]4 [试题编号] [分数] [题目类型] [难度]
第24题:
在文本框中,要设置显示的文本颜色,应该设置()属性。
A.ForeColor
B.BackColor
C.FillColor
D.BackStyle
参考答案:A
考查文本框的常见属性。ForeColor为前景颜色属性:设置控件的前景颜色(即正文颜色),其值是一个16进制常数,用户也可以在调色板中直接选择所需颜色;BackColor为背景颜色属性;FillColor设置封闭图形的填充颜色;BackStyle 是背景样式属性。
第25题:
在窗体上画一个命令按钮,然后编写如下事件过程:
Pfivme Sub Command 1_Click()
x=0
do Unlil x=-1
a=InputBox(“请输入a的值”)
a=Val(a)
b=InputBox(“请输入b的值”)
b=Val(b)
x=InputBox(“请输入x的值”)
x=Val(x)
a=a+b+x
Loop
Print a
End Sub
程序运行后,单击命令按钮,依次在输入对话框中输入5、4、3、2、1、-1则输出结果是()。
A.2
B.3
C.14
D.15
参考答案:A
输出变量a的值,在每次循环时,都对变量a、b、x进行了赋初值,因此只要考虑最后一次循环即可。也就是当输入a=2,b=1,x=-1时的表达式”a=a+b+x”的值,也就是最后a的值为2,所以选项A正确。
第26题:
为了在按下回车键时执行某个命令按钮的事件过程,需要把该命令按钮的
( )属性设置为True。
A.Value
B.Cancel
C.Enabled
D.Default
参考答案:D
本题考查控件的常见属性。对于所有具有Cancel属性的控件,Cancel表示该控件是否当按下“.Esc”键时,执行某个事件过程。Enabled表示控件是否可以使用,命令按钮的默认属性为Default,表示当按下回车键的时候,执行某个命令按钮的事件过程。
第27题:
执行下面的程序段后,变量c的值为____。
a=29
b=33
Select Case b\10Case 0c=a*10+bCase 1 To 9c=a*100+b
Case 10 To 99
c=a*1000+b
End Select
Print c
A.29
B.2933
C.33
D.3329
参考答案:B
第28题:
设在工程文件中有一个标准模块,其中定义了如下记录类型:
Type Books
Name As String * 10
TelNum As String * 20
End Type
在窗体上画一个名为Command1的命令按钮,要求当执行事件过程
Command1_Click时,在顺序文件Person.txt中写入一条记录。下列能够完成
该操作的事件过程是()。
A.Private Sub Command1_Click() Dim B As Books Open "c:\Person.txt" For Output As #1
https://www.doczj.com/doc/1510333425.html, = InputBox("输入姓名") B.TelNum = InputBox("输入电话号码") Write #1,https://www.doczj.com/doc/1510333425.html,,B.TelNum Close #1 End Sub
B.Private Sub Command1_Click() Dim B As Books Open "c:\Person.txt"
For Input As #1 https://www.doczj.com/doc/1510333425.html, = InputBox("输入姓名") B.TelNum = InputBox("输入电话号码") Print #1,https://www.doczj.com/doc/1510333425.html,,B.TelNum Close #1 End Sub
C.Private Sub Command1_Click() Dim B As Books Open "c:\Person.txt" For Output As #1 https://www.doczj.com/doc/1510333425.html, = InputBox("输入姓名") B.TelNum = InputBox("输入电话号码") Write #1,B Close #1 End Sub
D.Private Sub Command1_Click() Open "c:\Person.txt" For Input As #1 Name = InputBox("输入姓名") TelNum = InputBox("输入电话号码") Print #1,Name,TelNum Close #1 End Sub
参考答案:A
数据文件的写操作分为3步,即打开文件、写入文件和关闭文件。首先,在顺序文件中打开文件的方式为:Open文件名 For Output As #文件号。因此排除B)、C)选项,只看A)、D)选项。其次,写入顺序文件Print #语句的格式为:Print #文件号,变量名,变量名…,Write语句的格式与Print语句的格式一样:Write #文件号,变量名,变量名。而记录类型变量不能整体引用,需要指明记录变量中的成员名,格式为:记录变量名.成员名,Books类型变量B成员Name和TelNum赋值和引用应该是https://www.doczj.com/doc/1510333425.html,、B.TelNum,因此A)选项正确。
第29题:
下列关于栈的叙述中正确的是( )。
A.在栈中只能插入数据,不能删除数据
B.在栈中只能删除数据,不能插入数据
C.栈是先进后出(FILO)的线性表
D.栈是先进先出(FIFO)的线性表
参考答案:C
栈是限定在一端进行插入与删除的线性表。栈是按照“先进后出”的或后进先出的原则组织数据的,因此,栈也被称为“先进后出”表或“后进先出”表。本题答案是C。
第30题:
下面是求最大公约数的函数的首部:
Function gcd(ByVal X As Integer,ByVal y As Integer)As Integer
若要输出8、12、16这3个数的最大公约数,下面正确的语句是
( )。
A.Print gcd(8,12),gcd(12,16),gcd(16,8)
B.Print gcd(8,12,16)
C.Print gcd(8),gcd(12),gcd(16)
D.Print gcd(8,gcd(12,16))
参考答案:D
调用函数过程时的实参数与函数过程的形参必须是类型、顺序、个数相同。本题中函数过税的形参有2个,调用时实参也要是2个,故排除选项B和C。选项A 虽然语法错误,但不符合题意。选项D正确的。调用函数过程中可以镶嵌调用。第31题:
与数学式子
对应的Visual Basic表达式是 ____
A.Sqr((a + b) / a * b)
B.Sqr((a + b) / a * b)
C.((a + b) / (a * b)) ^ 1 / 2
D.((a + b) / a * b) ^ (1 / 2)
参考答案:A
算术运算符优先级从高到低依次是乘方,取负,乘法和除法运算符,整除运算符,加法和减法运算符;数学函数的平方根(Square)函数是sqr(x),返回值为自变量x的平方根。从表达式上看首先a、b之和除以a、b的乘积,最后求其平方根。故首先将(a+b),然后是(a*b),接着是求商,即(a+b)/(a*b),最后求平方根,因为平方根的优先级比乘除法高,故应为Sqr((a + b) / a * b),故B 选项正确。A项中表达式与数学式不大对应,A项是先求a、b之和,接着除以a,再接着乘以b,这和题目意思不对应,故A项错误。平方根函数是sqr(x),故C项和D项错误。
第32题:
下列可作为Visual Basic变量名的是()。
A.A#A
B.constA
C.?xy
D.4A
参考答案:B
考查变量命名规则。VB中变量的命名应遵循以下规则:只能由字母、数字和下划线组成;第一个字符必须是英文字母;有效字符为255个;不能用关键字做变量名。
第33题:
Visual Basic控件一般都规定一个默认属性,在引用这样的属性时,只写对象名而不必给出属性名。默认属性为Caption的控件是______。
A.列表框(ListBox)
B.标签(Label)
C.文本框(TextBox)
D.组合框(ComboBox)
参考答案:B
标签主要用来显示文本信息,它所显示的内容只能用Caption属性来设置或修改,Caption为标签控件的默认属性,引用时可以只写标签控件的对象名。 [知识点] [选项个数]4 [试题编号] [分数] [题目类型] [难度]
第34题:
在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有____。
A.数据较低的冗余度
B.数据共享度高
C.特定的数据模型
D.专门的数据管理软件
参考答案:C
在文件系统中,相互独立的记录其内部结构的最简单形式是等长同格式记录的集合,易造成存储空间大量浪费,不方便使用。而在数据库系统中,数据是结构化的,这种结构化要求在描述数据时不仅描述数据本身,还要描述数据间的关系,这正是通过采用特定的数据模型来实现的。
第35题:
在窗体上画一个命令按钮(名称为Command1),并编写如下代码:Function Fun1(ByVal a As Integer,b As Integer)As Integer Dim t As Integer
t=a-b
b=t+a
Fun1:t+b
End Function
Private Sub Command1_Click()
Dim x As Integer
x=10
Print Fun1(Fun1(X,(Fun1(x,x-1))),X—1)
End Sub
程序运行后,单击命令按钮,输出结果是( )。
A.10
B.0
C.11
D.21
参考答案:B
本题是过程的嵌套调用,过程嵌套调用时要先计算最内层的过程,然后由里向外执行。因此Fun1(Fun1(x,(Fun1(x,x-1))),x-1)执行过程如下:先执行Fun1(x,x-1),由于形参a是按值传递,因此不会影响x的值,x=10,即Fun](10,9)。
t=1,b=1+10:11,则函数返回值为1+11=12。再执行Fun1(x,(Fun1(x,x-1))),由于内层过程返回12,因此又可写成Fun1(x,(12)),由于x仍为原值,因此过程即Fun1(10,12)。t=-2,b=-2+10=8,则函数返回值为-2+8=6。最后执行Fun1(Fun1(x,(Fun1(x,x-1))),x-1),即Fun1(6,x-1),由于x仍为原值,因此过程即为Fun1(6,9)。t=-3′b=-3+6=3,则函数返回值为-3+3=0。
第36题:
定义无符号整数类为UInt,下面可以作为类UInt实例化值的是( )。
A.-369
B.369
C.0.369
D.整数集合{1,2,3,4,5}
参考答案:B
只有B选项369可以用无符号整数来表示和存储。A选项-369有负号,选项C 0.369是小数,都不能用无符号整数类存储。选项D是一个整数集合,得用数组来存储。
第37题:
某二叉树中度为2的结点有10个,则该二叉树中有()个叶子结点。
A.9
B.10
C.11
D.12
参考答案:C
根据二叉树的性质3:对任何一棵二叉树,度为0的结点(即叶子结点)总是比度为2的结点多一个。
第38题:
设a、b都是自然数,为求a除以b的余数,某人编写了以下函数:
Function fun(a As Integer,b As Integer)
While a 〉b
a = a-b
Wend
fun = a
End Function
在调试时发现函数是错误的。为使函数能产生正确的返回值,应做的修改是()。
A.把a = a-b改为a = b-a
B.把 a = a-b 改为a = a\b
C.把While a 〉b 改为While a〈 b
D.把While a 〉b 改为While a 〉 = b
参考答案:D
程序中没有考虑余数为0的情况,也就是条件中应该考虑a = b,则a = a-b这种情况,这样才能正确得到余数0。因此程序中应该修改While的条件a 〉b为
a 〉 = b,D选项正确。
第39题:
窗体上有一个Text1文本框和一个Command1命令按钮。程序的功能是在文本框中输入密码后单击命令按钮则进行密码确认,若密码正确,弹出信息框显示"密码正确",若密码错误,弹出信息框显示"密码错误,请重新输入",但最多允许输出3次,若还不正确,则弹出信息框显示"密码错误,不能再输入",且命令按钮变为无效。某人编写了如下程序:
Private Sub Command1_Click()
Dim num As Integer
num = num + 1
If Text1.Text = "123456" Then
MsgBox "密码正确"
ElseIf num = 3 Then
Command1.Enabled = False
MsgBox "密码错误,不能再输入"
Else
MsgBox "密码错误,请重新输入"
End If
End Sub
调试时发现有错误需要修改,下面正确的修改方案是 ____
A.把ElseIf num = 3 Then 改为ElseIf num ﹥3 Then
B.把Command1.Enabled = False 改为Command1.Enabled = True
C.把Dim num As Integer 改为Static num As Integer
D.把num = num + 1 改为 num = num + 3
参考答案:C
变量,,dim定义的变量称为"自动变量",当引用Dim定义变量时,变量值会被重新设置(数值变量重新设置为0,字符串变量被设置为空)。也就是说,下次再使用此变量,其值为初始值;而static定义变量,每次运用该静态变量后,其值会继续保留,作为下一次引用时该变量的初始值。每次运行Command1_Click()后,num的值都需保留,故选择D项。
第40题:
为计算a"的值,某人编写了函数power如下:
Private Function power(a As Integer,n As Integer)As Long Dim s As Long
p=a
For k=1 To n
p=p*a
Next k
power=p
End Function
在调试时发现是错误的,例如Print power(5,4)的输出应该是625,但实际输出是3125。程序需要修改。下面的修改方案中有3个是正确的,错误的一个是______。
A.把For k=1 To n改为For k=2 To n
B.把p=p*a改为p=p^n
C.把For k=1 To n改为For k=1 To n-1
D.把p=a改为p=1
参考答案:B
程序中计算a"的算法有误,南于已经将a的值赋给了p,在后边的For循环中再乘n次a显然就多乘了一次a,因此,要改正此程序,或者将p=a改为p=1,或者将for k=1 to n改成for k=1 to n-1或for k=2 to n。而B选项将p=p*a 改为p=p^n将会导致p=p^n执行n次,得不到正确结果。
基本操作题
第41题:
在名称为Form1、标题为“鼠标光标形状”的窗体上添加一个文本框,名称为Text1。请通过属性窗口设置适当属性,使得程序运行时,鼠标在文本框中时,鼠标光标为箭头(Arrow)形状;在窗体中其他位置处,鼠标光标为十字(Cross)形状。
注意:存盘时必须存放在考生文件夹下,工程文件名保存为sjt1.vbp,窗体文件名保存为sjt1.frm。________
参考答案:
先将窗体的Caption属性设置为“鼠标光标形状”,然后再添加一个名称为Text1的文本框。通过对文本框和窗体的MousePointer属性的设置,使鼠标指针在文本框中时,鼠标光标为箭头(Arrow)形状;在窗体中其他位置处鼠标光标为十字(Cross)形状。[知识点]文本框的Name和MousePointer属性以及窗体的Caption和MousePointer属性。 [选项个数]0 [试题编号] [分数] [题目类型] [难度]
第42题:
(1)在名称为Form1、标题为“文本框练习”的窗体上添加一个名称为Text1 的文本框,设置属性,使其宽度为1600、初始文本内容为空、显示字号为“三号”,且最多只能输入 6 个字符。程序运行后的窗体如下图所示。
注意:存盘时必须存放在考生文
件夹下,工程文件名保存为sjt1.vbp,窗体文件名保存为sjt1.frm。(2)在名称为Form1 的窗体上,添加一个名称为Label1 的标签,其标题为“计算机等级考试”,显示为宋体12 号字,且能根据标题内容自动调整标签的大小,再添加两个名称分别为“Command1”、“Command2”,标题分别为“放大”、“还原”的命令按钮(如下图所示)。
要求:编写适当的事件过程,若单击“放大”按钮,则Label1 中所显示的标题内容自动增大两个字号;单击“还原”按钮,Label1 中所显示的标题内容自动恢复到12 号字。注意:要求程序中不得使用变量,每个事件过程中只能写一条语句。存盘时必须存放在考生文件夹下,工程文件名保存为sjt2.vbp,窗体文件名保存为sjt2.frm。_______
参考答案:
(1)步骤1 :建立界面,将窗体的Caption 属性设置为“文本框练习”。在窗体中添加一个文本框控件,将其名称、Text、MaxLength、Width、FontSize 属性分别设置为“Text1”、“”、“6”、“1600”、“三号”。步骤2 :调试并运行程序,关闭程序后按题目要求存盘。(2)步骤1 :建立界面,向窗体中添加一个标签控件,将其名称、Caption、AutoSize、FontSize、FontName 属性分别设置为“Label1”、“计算机等级考试”、“True”、“12 号”、“宋
体”。再向窗体中添加两个命令按钮,将其名称分别设置为“Command1”、“Command2”,Caption 属性分别设置为“放大”、“还原”。步骤2 :编写程序代码。Private Sub Command1_Click( ) Label1.FontSize = Label1.FontSize + 2 End Sub Private Sub Command2_Click( ) Label1.FontSize = 12 End Sub 步骤3 :调试并运行程序,关闭程序后按题目要求存盘。
简单应用题
综合应用题
第43题:
在考生文件夹中有一个工程文件sjt5.vbp,如图6所示。运行程序时,从文
件中读入矩阵数据并放入二维数组a中。单击“计算”按钮时,将统计矩阵两
个对角线的元素中能被3整除的个数,统计结果显示在标签lblFirst中;同时计算矩阵主对角线的元素之和,计算结果显示在标签lblSecond中。已给出了
部分程序,请编写“计算”命令按钮事件过程中的部分程序代码,以便完成上
述功能。
注意:不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名
存盘。程序调试通过后,必须执行程序,并用“计算”按钮进行计算,否则无
成 ____
参考答案:
矩阵主对角线上元素的特点:第一维下标与第二维下标相同;7*7矩砗次对角线上元素的特点:第一维下标与第二维下标之和为8。根据题意,可遥过一个For循环,将满足主对角线上元素特点的数组元素累加入变量Sum。再通过一个嵌套的For循环逐一判断满足两个对角线上的元素特点的元素能否被3整除,若某数组元素能被3整除,则记录个数的变量Counter增1。操作步骤:步骤1:打开考生文件夹下的本题工程文件sjt5.vbp,在代码编辑窗口的指定位置编写以下代码:参考代码: For k=1 To N Sum=Sum+a
第44题:
(1)在考生文件夹下有一个工程文件sjt3.vbp,运行情况如图2-23所示。程序的功能是计算表达式的值:z=(x-2)!+(x-3)!+(x-4)!+…+(x-N)! 其中的N和x 值通过键盘分别输入到两个文本框Text1、Text2中。单击名称为Command1、标题为”计算”的命令按钮,则计算表达式的值,并将计算结果显示在名称为Label1的标签中。在窗体文件中已经给出了全部控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的?改为正确内容。要求:程序调试通过后,必须按照如图2-23所示输入N=5,x=12,然后计算z的值,并将计算结果显示在标签Label1中,否则没有成绩。注意:不能修改程序的其他部分和控件属性。最后
把修改后的文件按原文件名存盘。(2)在考生文件夹下有一个工程文件sjt4.vbp。窗体上有名称为Label1的标签和名称为Timer1的计时器控件。该程序的功能是在名称为Label1的标签中循环显示不同的字符串。程序开始运行,在标签中显示”第一项”(如图2-24所示),且每隔1秒钟依次显示”第二项”、”第三项”、”第四项”,如此循环。在给出的窗体文件中已经有了全部控件和程序,但程序不完整,要求去掉程序中的注释符,把程序中的?改为正确的内容。注意:不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。
参考答案:
(1)步骤1:打开考生文件中的本题工程文件sjt3.vbp,在代码编辑窗口,去掉程序中的注释符”′“,将问号”?”改为正确的内容。参考代码: tmp=1 tmp=temp*i xn=tmp z= z+ xn(t) 步骤2:按〈 F5 〉键键运行程序,在第一个文本框中输入5,第两个文本框中输入12,然后单击”计算”按钮。步骤3:按要求将文件保存至考生文件夹中。 (2)步骤1:打开考生文件中的本题工程文件sjt4.vbp,在代码编辑窗口,去掉程序中的注释符”′“,将问号”?”改为正确的内容。参考代码: arr=Array(“第一项”,第二项”,”第三项”,”第四项”) Static i As Integer Label1.Caption=arr(i) i= 0 步骤2:按要求将文件保存至考生文件夹中。
综合应用题
第45题:
在考生文件夹中有一个工程文件sjt5.vbp,如图6所示。运行程序时,从文
件中读入矩阵数据并放入二维数组a中。单击“计算”按钮时,将统计矩阵两个对角线的元素中能被3整除的个数,统计结果显示在标签lblFirst中;同时计算矩阵主对角线的元素之和,计算结果显示在标签lblSecond中。
已给出了部分程序,请编写“计算”命令按钮事件过程中的部分程序代码,以便完成上述功能。
注意:不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。程序调试通过后,必须执行程序,并用“计算”按钮进行计算,否则无成绩。
实验1 简单汇编语言程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握简单汇编语言程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG 工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,汇编连接汇编源程序,并利用DEBUG 工具调试程序,验证程序的正确性。 1. 若X、Y、R、W 是存放8 位带符号数字节单元的地址,Z 是16 位字单元的 地址。试编写汇编程序,完成Z←((W-X) ÷5-Y)?(R+ 2) 。 2.试编写一个程序,测试某数是否是奇数。如该数是奇数,则把DL 的第0 位置1,否则将该位置0。 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。
实验2 分支及循环程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握分支程序和循环程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,汇编连接汇编源程序,并利用DEBUG工具调试程序,验证程序的正确性。 1.编写汇编程序,统计某存储区若干个数据中英文字母的个数,并将结果在屏幕上显示。 2.从键盘任意输入一组字符数据,请编写汇编程序将该组数据加密后在屏幕上显示。参考加密方法是:每个数乘以2。(说明:本题的加密方法,同学们可以自己拟定) 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。
实验3 子程序程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握子程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,并利用DEBUG工具调试程序,验证程序的正确性。 1.编程以十进制形式和十六进制形式显示AX的内容,并把两个显示功能分别封装成子程序dispDEC和dispHEX。 2.设在以EXAMSCORE为首地址的数据缓冲区依次存放某班10名同学5门功课的成绩,现要统计各位同学的总分,并将总分放在该学生单科成绩后的单元,并调用第1个程序封装好的子程序,以十进制方式显示统计情况,显示格式自行设计。请编程完成此功能。数据缓冲区参考数据定义如下: EXAMSCORE DB 01 ;学号 DB 89,76,54,77,99 ;单科成绩 DW ? ;该学生的总分 DB 02 ;学号 DB 79,88,64,97,92 ;单科成绩 DW ? ;该学生的总分 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。
《C语言程序设计》模拟试卷一 一、单项选择题(每题2分,共30分) 1、下列有关C语言的叙述中错误的是()。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被看作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是()。 A) MAIN B) _HJ C) 2ong D) LINE1 3、下列符号中用来表示C语言中的回车换行的是()。 A) \r B) \n C) \b D) \t 4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为()。 A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 1 5、已知ch为字符型变量,下面表达式中正确的是()。 A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ” 6、以下能正确定义一维数组的是()。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”; D) char a[5]={0,1,2,3,4,5}; 7、以下语句中能正确定义变量并赋初值的是()。 A) char c=65; B) float f=f+1.1; C) double x=12.3e3.6; D) int m=n=2.0; 8、在执行下列程序时输入:1357924,则程序的运行结果为()。 main( ) { int x, y; scanf(“%2d%2d”,&x,&y); printf(“%2d”,x*y); } A) 13 B) 1357 C) 74 D) 741 9、执行下列程序段后输出的结果是()。 x = 9; while (x > 7)
实验二 ARM汇编语言程序设计 一、实验目的 1.了解ARM汇编语言的基本框架,学会使用ARM的汇编语言编程 2.掌握ARM汇编指令 二、实验设备 1. EL-ARM-830教学实验箱,PentiumII以上的PC机,仿真器电缆。 2. PC操作系统WIN98或WIN2000或WINXP, ADS1.2集成开发环境,仿真器驱动程序。 三、汇编语言简介 1.ARM汇编的一些简要的书写规范 ARM汇编中,所有标号必须在一行的顶格书写,其后面不要添加“:”,而所有指令均不能顶格书写。ARM汇编对标识符的大小写敏感,书写标号及指令时字母大 小写要一致。在ARM汇编中,ARM指令、伪指令、寄存器名等可以全部大写或者全 部小写,但不要大小写混合使用。注释使用“;”号,注释的内容由“;”号起到此 行结束,注释可以在一行的顶格书写。 详细的汇编语句及规范请参照ARM汇编的相关书籍、文档。 2. ARM汇编语言程序的基本结构 在ARM汇编语言程序中,是以程序段为单位来组织代码。段是相对独立的指令或数据序列,具有特定的名称。段可以分为代码段的和数据段,代码段的内容为执 行代码,数据段存放代码运行时所需的数据。一个汇编程序至少应该有一个代码段,当程序较长时,可以分割为多个代码段和数据段,多个段在程序编译链接时最终形 成一个可执行文件。可执行映像文件通常由以下几部分构成: ◆ 一个或多个代码段,代码段为只读属性。 ◆ 零个或多个包含初始化数据的数据段,数据段的属性为可读写。 ◆ 零个或多个不包含初始化数据的数据段,数据段的属性为可读写。 链接器根据系统默认或用户设定的规则,将各个段安排在存储器中的相应位置。源程序中段之间的相邻关系与执行的映象文件中的段之间的相邻关系不一定 相同。 3. 简单的小例子 下面是一个代码段的小例子 AREA Init,CODE,READONLY ENTRY LDR R0, =0x3FF5000 LDR R1, 0x0f STR R1, [R0]
实验一基础汇编语言程序设计 实验目的 1.学习和了解TEC-XP十六位机监控命令的用法; 2.学习和了解TEC-XP十六位机的指令系统; 3.学习简单的TEC-XP十六位机汇编程序设计。 实验内容 1.使用监控程序的R命令显示/修改寄存器内容、D命令显示存储器内容、E命令修改存储器内容; 2.使用A命令写一小段汇编程序,U命令反汇编刚输入的程序,用G命令连续运行该程序,用T、P命令单步运行并观察程序单步执行情况。 3.学习联机使用TEC-XP教学试验系统和仿真终端软件。 实验要求 在使用该教学机之前,应先熟悉教学机的各个组成部分及其使用方法。 实验步骤 1.关闭电源,将大板上的COMl口与PC机的串口相连; 2.接通电源,在PC机上运行PCEC.EXE文件,设置所用PC机的串口为“l”或“2”,其它的设置一般不用改动,直接回车即可; 3.置控制开关为001110(连续、内存读指令、组合逻辑、16位、联机),开关拨向上方表示“1”,拨向下方表示“0”,“X”表示任意。其它实验相同; 4.按一下“RESET”按键,再按一下“START”’按键,主机上显示: 5.用R命令查看寄存器内容或修改寄存器的内容 1.用R命令查看寄存器或修改寄存器内容 1)在命令行提示符状态下输入: R↙;显示寄存器的内容 注:寄存器的内容在运行程序或执行命令后会发生变化。
2)在命令行提示符状态下输入: R R0↙;修改寄存器R0的内容,被修改的寄存器与所赋值之间可以无空格, 也可有—个或数个空格 主机显示: 寄存器原值:xxxx 在后面输入新的值0036 再用R命令显示寄存器内容,则R0的内容变为0036。 2.用D命令显示存储器内容 在命令行提示符状态下输入: D 2000↙ 会显示从2000H地址开始的连续128个字的内容; 连续使用不带参数的D命令,起始地址会自动加128(即80H)。
《汇编语言程序设计试题及答案》合集 汇编语言程序设计试题及答案 1.对于有符号的数来说,下列哪个值最大(D) A:0F8H B:11010011B C:82 D:123Q 2.下列有关汇编语言中标号的命名规则中,错误的是(D) A:通常由字母打头的字符、数字串组成 B:标号长度不能超过31个字符 C:?和$不能单独作为标号 D:.号不可位于标号首 3.8088/8086存储器分段,每个段不超过(D ) A.64K个字 B.32K个字节 C.1兆个字节 D.64K个字节 4.寻址指令MOV CX, [BX + DI + 20]使用的是哪一种寻址方式(B)A:寄存器寻址B:相对基址变址寻址 C:变址寻址D:基址变址寻址 5.若AX= - 15要得到AX=15应执行的指令是(A ) A.NEG AX B.NOT AX C.INC AX D.DEC AX 6.8086/8088系统执行传送指令MOV时( A) A.不影响标志位 B.影响DF方向标志 C.影响SF符号标志 D.影响CF进位标志 7.若要求一个操作数中的若干位维持不变,若干位置?1?,可以使用(B)A:NOT B:OR C:AND D:XOR 8.下列指令中段默认为堆栈段的是( C) A.MOV AX,[BX+SI+10] B.ADD AX,ES:[SI] C.SUB [BX],[BP][DI] D. MOV DX,[1000H] 9.关于8086/8088微机系列,下列说法哪个是正确的(D) A:一个存储单元由16个二进制位组成,简称字。
B:当存储一个字数据时,低字节放高地址位,高字节放低地址位。 C:在内存空间中,可以无限分配段,且段的大小不受限制。 D:段与段之间可以邻接,也可以重叠。 10.下列关于堆栈的说法,错误的是(D) A:以?先入后出?为原则。 B:栈区最高地址单元的前一个单元为栈底。 C:运行中SP寄存器动态跟踪栈顶位置。 D:压栈和弹出都是以字节为单位。 11.表示过程定义结束的伪指令是( A) A.ENDP B.ENDS C.END D.ENDM 12.BUF1 DB 3 DUP(0,2 DUP (1,2),3) COUNT EQU $-BUF1 符号COUNT等价的值是( B) A.6 B.18 C.16 D.9 13.下列标志位中,可以用来判断计算结果正负的是(B) A:PF B:SF C:DF D:OF 14.下列指令正确的是( CD) A. MOV [100H], [BX] B.MOV DS, ES C. ADD V[BX], CX D.MOV AX, 34H 15.下列哪个寄存器是属于指针寄存器(C) A:SI B:DX C:SP D:ES 二、填空题 (每小题4 分,共 20 分) 1.下列程序段求数组FLD的平均值,结果在AL中。请将程序填写完整(不考虑溢出) FLD DW 10, -20, 30, -60, -71, 80, 79, 56 _LEA SI,FLD______ MOV CX, 8 XOR AX, AX
《C语言程序设计》模拟试卷A 一、单项选择题(每题2分,共20分) 1、下列有关C语言的叙述中错误的就是(D)。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被瞧作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的就是(C)。 A) MAIN B) _HJ C) 2ong D) LINE1 3、以下能正确定义一维数组的就是(C)。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5}; 4、执行下列程序段后输出的结果就是(C)。 x = 9; while (x > 7) { printf(“*”); x- -; } A) **** B) *** C) ** D) * 5、设char str1[10] = “ABCDE”, str2[10] = “xyz”; 则执行语句 printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果就是(D)。 解析: strcpy(str1,str2); 后,str1[] 里就是"XYZ", Z 后面有字符串结束符 strcpy(str1,str2); 执行后,函数返回的就是str1, 因为str1[] 里就是新值"XYZ", 而 strlen(strcpy(str1,str2)) 就就是strlen(str1的新值),所以得3。 strlen 统计到字符串结束符以前,即,不计入字符串结束符。 A) 9 B) 8 C) 5 D) 3 6、若用数组名作为函数调用的实参,则传递给形参的就是(A)。
二级(C语言程序设计)上机题汇总 一、程序调试题 (一)程序填空 练习一: /*该程序功能:对x=1,2,。。。。。,10,f(x)=x*x*-5*x+sin(x)的最大值。*/ #include
void Dec2Bin(int m) { int bin[32],j; for(j=0;m!=0;j++) { bin[j]= __m%2___; m=m/2; } for(;j!=0;j--) printf("%d", ____bin[j-1]_ _____ ); } void main() { int n; scanf("%d",&n); Dec2Bin(n); } 练习四: /*该程序功能:输入数组x[7],调用函数f,去除数组中的负数,输出结果为:1 3 4 6*/ #include
汇编语言程序设计 一、选择题 (共72题) 1、 用于指针及变址寄存器的有()。 A、 AX,BX,CX,DX B、 SP,BP,IP C、 CS,DS,SS D、 PSW 考生答案:B 2、 完成把汇编语言源程序模块转换为目标模块的程序是()。 A、 编辑程序 B、 汇编程序 C、 连接程序 D、 调试程序 考生答案:B 3、 指令JMP FAR PTR DONE中的寻址方式属于()。 A、 段内转移直接寻址 B、 段内转移间接寻址 C、 段间转移直接寻址 D、 段间转移间接寻址 考生答案:C 4、 对于下列程序段: AGAIN:MOV AL,[SI]
MOV ES:[DI],AL INC SI INC DI LOOP AGAIN 也可用()指令完成同样的功能。 A、 REP MOVSB B、 REP LODSB C、 REP STOSB D、 REPE SCASB 考生答案:A 5、 在程序执行过程中,IP寄存器中始终保存的是()。 A、 上一条指令的首地址 B、 下一条指令的首地址 C、 正在执行指令的首地址 D、 需计算有效地址后才能确定地址 考生答案:B 6、 在汇编语言程序的开发过程中使用宏功能的顺序是()。 A、 宏定义,宏调用 B、 宏定义,宏展开 C、 宏定义,宏调用,宏展开 D、 宏定义,宏展开,宏调用 考生答案:C 7、 CPU要访问的某一存储单元的实际地址称()。 A、 段地址
偏移地址 C、 物理地址 D、 逻辑地址 考生答案:C 8、 AND、OR、XOR、NOT为四条逻辑运算指令,下面解释正确的是()。 A、 指令XOR AX,AX执行后,AX内容不变,但设置了标志位 B、 指令OR DX,1000H执行后,将DX最高位置1,其余各位置0 C、 指令AND AX,OFH执行后,分离出AL低四位 D、 NOT AX,执行后,将AX清0 考生答案:C 9、 完成对CL寄存器的内容乘以2的正确操作是()。 A、 ROL CL,1 B、 MUL 2 C、 SHL CL,1 D、 SHR CL,1 考生答案:C 10、 检查两个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMP A L,BL”指令后应跟的分支指令是()。 A、 JE LOP1 B、 JAE LOP1 C、 JC LOP1 D、 JGE LOP1 考生答案:B 11、 已知变量VAR为字型,则TYPEVAR=()。
C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(
#include
《全国计算机等级考试二级教程——C语言程序设计》课后题及参考答案 (教育部考试中心)高等教育出版社出版 (第一章、第二章、第三章) 第一章程序设计基本概念 1.1 在TRUBO C环境中用RUN命令运行一个C程序时,所运行的程序的后缀是______。 答案:.exe 1.2 C语言源程序文件的后缀是_____,经过编译后,生成文件的后缀是_____,经过连接后,生成文件的后缀是_____。 答案:.c .obj .exe 1.3 结构化程序由_____、_____、_____三种基本结构组成。 答案:顺序、选择、循环 第二章 C程序设计的初步知识 一、选择题 2.1 以下选项中正确的整型常量是 A)12. B)-20 C)1,000 D)4 5 6 答案:B 2.2 以下选项中正确的实型常量是 A)0 B)3. 1415 C)0.329×10(2)(10的2次方)D).871 答案:D 2.3 以下选项中不正确的实型常量是 A)2.607E-1 B)0.8103e 2 C)-77.77 D)456e-2 答案:B 2.4 以下选项中不合法的用户标识符是 A)abc.c B)file C)Main D)PRINTF 答案:A 2.5 以下选项中不合法的用户标识符是 A)_123 B)printf C)A$ D)Dim 答案:C 2.6 C语言中运算对象必需是整型的运算符是 A)% B)/ C)! D)** 答案:A 2.7 可在C程序中用作用户标识符的一组标识符是 A)void define WORD B)as_b3 _123 If C)For -abc case D)2c DO SIG 答案:B 2.8 若变量已正确定义并赋值,符合C语言语法的表达式是 A)a=a+7; B)a=7+b+c,a++ C)int(12.3%4) D)a=a+7=c+b 答案:B 2.9 以下叙述中正确的是 A)a是实型变量,C允许进行以下赋值a=10,因此可以这样说:实型变量中允许存放整型值。 B)在赋值表达式中,赋值号右边既可以是变量也可以是任意表达式。 C)执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0。 D)已有a=3,b=5。当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为3。 答案:B 2.10 以下叙述中正确的是 A)在C程序中无论是整数还是实数,只要在允许的范围内都能准确无误的表示。 B)C程序由主函数组成。 C)C程序由函数组成。 D)C程序由函数和过程组成。 答案:C 2.11 TURBO C中int类型变量所占字节数是 A)1 B)2 C)3 D)4 答案:B
第1章汇编语言基础知识(全) 2010-10-18 19:32:40| 分类:答案集锦| 标签:|字号大中小订阅 第1章汇编语言基础知识 〔习题1.1〕简述计算机系统的硬件组成及各部分作用。 〔解答〕 CPU:包括运算器、控制器和寄存器组。运算器执行所有的算术和逻辑运算;控制器负责把指指令逐条从存储器中取出,经译码分析后向机器发出各种控制命令,并正确完成程序所要求的功能;寄存器组为 处理单元提供所需要的数据。 存储器:是计算机的记忆部件,它用来存放程序以及程序中所涉及的数据。 外部设备:实现人机交换和机间的通信。 〔习题1.2〕明确下列概念或符号: 主存和辅存,RAM和ROM,存储器地址和I/O端口,KB、MB、GB和TB 〔解答〕 主存又称内存是主存储器的简称,主存储器存放当前正在执行的程序和使用的数据,CPU可以直接存取,它由半导体存储器芯片构成其成本高、容量小、但速度快。辅存是辅助存储器的简称,辅存可用来长期保存大量程序和数据,CPU需要通过I/O接口访问,它由磁盘或光盘构成,其成本低、容量大,但速 度慢。 RAM是随机存取存储器的英语简写,由于CPU可以从RAM读信息,也可以向RAM写入信息,所以RAM也被称为读写存储器,RAM型半导体存储器可以按地址随机读写,但这类存储器在断电后不能保存信息;而ROM中的信息只能被读出,不能被修改,ROM型半导体通常只能被读出,但这类存储器断电 后能保存信息。 存储器由大量存储单元组成。为了区别每个单元,我们将它们编号,于是,每个存储单元就有了一个存储地址,I/O接口是由一组寄存器组成,为了区别它们,各个寄存器进行了编号,形成I/O地址,通常 称做I/O端口。 KB是千字节、MB是兆字节、GB是吉字节和TB是太字节,它们都是表示存储器存储单元的单位。 〔习题1.3〕什么是汇编语言源程序、汇编程序、目标程序? 〔解答〕 用汇编语言书写的程序就称为汇编语言源程序;完成汇编工作的程序就是汇编程序;由汇编程序编 译通过的程序就是目标程序。
《C语言程序设计》模拟试卷二 一、填空题。(每空2分,共30分) 1.设有变量说明语句 int x=1,y=2; 则执行下述printf语句的输出结果是___1.000000___ _____。 printf("%f\n",1.0+x/y); 2.执行下述程序 #include
float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while ( X>0&&X<=100 ) { if (x>amax) amax=x; else if (x _k++ _________; d=1.0/(k*(k+1)); } while (k<=n); printf("%f\n",s); 5.执行下述程序的输出结果是_-3 -4 0 4 4 3___ ____。 #inclued cmp r0,#5 bcs aaa add r0,r0,#1 aaa nop cmp r0,#5 addcc r0,r0,#1 bl指令完成两个功能:将子程序的返回地址保存在LR即R14同时将PC的值改为目标子程序的第一条指令的地址。 Start: Mov r0,#10 Mov r1,#3 Bl doadd Mov r1,r1,r0 Doadd Add r0,r0,r1 Mov pc,lr .end 用汇编程序实现IF语句的功能: Mov r0,#15 Mov r1,#12 Cmp r0,r1 Movhi r2,#100 Movls r2,#50 用汇编程序实现FOR循环的功能:Mov r0,#0 Mov r1,#10 Mov r2,#0 L1: cmp r0,r1 Bhs l2 Add r2,r2,#1 Add r0,r0,#1 B l1 L2: .end 用汇编语言实现WHILE循环While(x<=y) X=x*2; mov r0,#1 mov r1,#20 b l2 l1: mov r0,r0, lsl #1 l2: cmp r0,r1 bls l1 end 用汇编语言实现计算算术功能:n equ 100 .global _start -start: .arm arm_code: Ldr sp,=0x40003f00 Adr r0,thumbcode+1 Bx r0 .ltorg .thumb Thumb_code: Ldr r0,=n Bl sum_n B thumb_code Sum_n: Push {r1-r7,lr} Movs r2,r0 Beq sum_end Cmp r2,#1 Beq sum_end Mov r1,#1 C 语言程序设计 请编写函数fun ,其功能是:找出2W 整型二维数组中最大元素的值,并将此值返回调用函 数。 int fun (int a[][M]) { int i,j,max=a[O][O]; for(i=0;i<2;i++) for(j=0;j 实验二ARM汇编语言程序设计 实验目的 1、了解ARM汇编语言程序的结构特点 2、了解ARM汇编语言程序的编写方法 3、掌握用ARM汇编语言设计简单程序 实验仪器设备及软件 ARM实验箱,计算机,ADS程序开发软件 实验原理 1、存储空间的格式 ARM920将存储空间视为从0开始由字节组成的线性集合,字节0-3中保存了第一个字,字节4-7中保存了第二个字,依此类推。字节还可以按小端格式或大端格式排列。ARM实验箱中存储器的配置见附录C。 2、ARM的寄存器 ARM状态下任何时刻都可以看到16个通过寄存器(r0-r15),1或2个状态寄存器(CPSR,SPSR),在特权模式下会切换到具体模下的寄存器组。每个寄存器都是32位的,并且每个通用寄存器都可以作为数据处理的源数据或目标数据寄存器。因此可以编写出更精简的程序。 3、ARM指令的条件执行 状态寄存器中的N,Z,C,V是数据处理指令影响的标志。几乎每条ARM指令可以根据状态位或状态位的逻辑运算有条件执行。条件执行的指令后缀参考教材。 4、桶形移器 ARM的桶形移位器,使ARM指令的中第二个操作数非常录活。利用移位器,一条ARM 指令可以完成更多功能。移位操作有: LSL 逻辑左移 LSR 逻辑右移 ASL 算术左移 ASR 算术右移 ROR 循环右移 RRX 带扩展循环右称 实验内容 1、把内存中ramaddr开始的ramword个字清零 (1)用后变址法 ramaddr equ 0x31000000 ramword equ 64 clrram mov r0,#0 mov r1,#ramword ldr r2,=ramaddr clrram1 str r0,[r2],#4 subs r1,r1,#1 C 语言程序设计 请编写函数fun ,其功能是:找出2×M 整型二维数组中最大元素的值,并将此值返回调用函 数。 int fun (int a[][M]) { int i,j,max=a[0][0]; for(i=0;i<2;i++) for(j=0;j 汇编语言程序设计实验1——汇编程序与调试器的使用 一、实验目的 熟悉DOS操作系统环境下的汇编程序MASM的使用、掌握DEBUG的基本命令及其功能。 二、实验内容 1.编写一个小程序,从键盘接收一个大写字母,存放到指定的内存单元BUFF1,并转换其为对应的小写字母,存放到指定的内存单元BUF2中。上机编辑、汇编、连接并运行该程序。 2. 输入源程序、汇编、连接并执行相应程序,并用DEBUG 实现以下操作: (1)用反汇编命令查看相应程序的可执行语句序列,分析其与源程序的异同,查看相应程序占用内存单元的字节数。 (2)用数据查看命令查看执行前的数据单元的内容。 (3)分别用P命令和T命令逐步执行程序,分析这两种方式的区别,记录“转换为小写字母”指令执行后的状态字。 (4)查看程序执行后数据单元的内容。 (5)查看0000:0000 起始的32个单元的内容。 (6)用汇编命令编写一个简单加法程序“3+5=8”,加数和结果分别存在内存单元NUM1、NUM2、NUM3中。 三、实验要求 学生要提前做好相关内容的预习(包括源程序的分段组织、DEBUG的系列命令等),熟悉被调试的程序(学生应当在本实验中自行设计一些汇编语言程序,其目的是熟悉相关编程环境的特性),并对程序的测试/调试过程(包括所用的编程环境命令、DEBUG命令等)作出详细计划。 认真完成实验,正确记录各项数据,记录实验过程中出现的问题及其解决过程。 四、实验报告 写出各实验程序的测试/调试的详细过程(包括DEBUG命令的使用等),特别是要写出在DEBUG状态下编写、运行程序的过程。要系统给出各程序在测试/调试过程中所遇到的问题、解决问题的方法与途径。要对程序在测试/调试过程中的问题进行分析,对相关的执行结果进行分析。 计算机二级 公共基础知识 基本要求 1.掌握算法的基本概念。 2.掌握基本数据结构及其操作。 3.掌握基本排序和查找算法。 4.掌握逐步求精的结构化程序设计方法。 5.掌握软件工程的基本方法,具有初步应用相关技术进行软件开发的能力。 6.掌握数据库的基本知识,了解关系数据库的设计。 考试内容 一、基本数据结构与算法 1.算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)。 2.数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念。 3.线性表的定义;线性表的顺序存储结构及其插入与删除运算。 4.栈和队列的定义;栈和队列的顺序存储结构及其基本运算。 5.线性单链表、双向链表与循环链表的结构及其基本运算。 6.树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。 7.顺序查找与二分法查找算法;基本排序算法(交换类排序,选择类排序,插入类排序)。 二、程序设计基础 1.程序设计方法与风格 2.结构化程序设计。 3.面向对象的程序设计方法,对象,方法,属性及继承与多态性。 三、软件工程基础 1.软件工程基本概念,软件生命周期概念,软件工具与软件开发环境。 2.结构化分析方法,数据流图,数据字典,软件需求规格说明书。 3.结构化设计方法,总体设计与详细设计。 4.软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。 5.程序的调试,静态调试与动态调试。 四、数据库设计基础 1.数据库的基本概念:数据库,数据库管理系统,数据库系统。 2.数据模型,实体联系模型及E―R图,从E―R图导出关系数据模型。 3.关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理论。 C语言程序设计模拟试题. 一、填空题. 1. C语言程序的三种基本结构是顺序结构,选择结构,循环结构。 2.if语句控制表达式只有其值为非0表示逻辑值“真”,其值为0表示逻辑值“假”。 3.说明语句:int b[10]; 定义了数组b有10个整型元素,这些数组元素的下标是从0开始,最大为9。 4. 有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]=0,a[2][1]=6. 5. 设x,y,z均为int 型变量,C语言描述”x或y中有一个小于z”的表达式是x 8. 在C语言中,十进制数30的八进制表示形式是036 ,十六进制表示形式是0x1e 9. C程序是由函数组成的。一个C程序由一个main()函数和若干个子函数构成。函数的构成可分为两部分:函数说明(或函数头) 和函数体。 10.标识符是指程序中的符号常量、变量、函数等对象的名称。在C语言中,标识符只能由字母、数字和下划线组成,且第一个字符必须为字母或下划线。 11.在C语言中整型常量有十进制、八进制和十进制三种表示方法。实型常量有小数形式和指数两种表示方法。 12.C语言中语句的作用是向计算机系统发出操作命令,从而完成一定的操作任务。C语句可以分为:表达式语句、函数调用语句、控制语句、复合语句和空语句等五种类型。 二、单项选择题) 1.一个C语言的执行是从 A (A)本程序的main函数开始,到main函数结束 (B)本程序文件的第一个函数开始,到本程序文件的 最后一个函数结束 2008年9月全国计算机二级笔试C语言程序设计真题及答案 2008年9月全国计算机二级笔试C语言程序设计真题及答案 一、选择题((1)~(10)、(21)~(40)每题2 分,(11)~(20)每题 1 分,70 分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。 (1)一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E 依次入栈,然后 再依次出栈,则元素出栈的顺序是()。 A)12345ABCDE B)EDCBA54321 C)ABCDE12345 D)54321EDCBA (2)下列叙述中正确的是()。 A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构 B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况 C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况 D)循环队列中元素的个数是由队头指针和队尾指针共同决定 (3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。 A)O(n) B)O(n2) C)O(log2n) D)O(n log2n) (4)下列叙述中正确的是()。 A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的 B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构 C)顺序存储结构能存储有序表,链式存储结构不能存储有序表 D)链式存储结构比顺序存储结构节省存储空间 (5)数据流图中带有箭头的线段表示的是()。 A)控制流 B)事件驱动 C)模块调用 D)数据流ARM汇编程序设计
二级C语言程序设计题
实验二_ARM汇编语言程序设计
二级C语言程序设计题
汇编语言程序设计 实验1
计算机二级C语言考试内容
C语言程序设计模拟试题1
2008年9月全国计算机二级笔试C语言程序设计真题及答案