独家奉献——Delphi冲刺复习之选择题(2)

技术与开发

上期我们就如何做概念部分的选择题进行了探讨,本期我们针对Delphi程序阅读部分的选择题进行分析。程序阅读题分是知识点的综合运用,考生需要重点掌握Pascal语法结构、Delphi组件的属性、方法、事件等知识。更多试题请到http://www.shudoo.com/bzsof下载。

第1题:以下代码中,能正确实现赋值的是( )

33-f12-2-1.jpg

本题难度:★★★★

涉及知识:变量类型转换

名师解析:Object Pascal语言中,只有赋值符号两端的数据类型一致或相容时,才可以进行赋值操作,否则编译器就会出现错误。

对于不同类型的变量有两种类型相关运算(类型相容与类型转换)。类型相容是指一种类型的数据在运算中自动转换为另一种类型(例如赋值运算)。类型转换(用于变量或数值)是在不同类型变量之间操作,转换的形式有两种:运算符转换和直接通过类型标志符转换。

题中所用到的就是——类型标志符强制转换,格式为:转换类型(变量或值)。考生不难得出B、C两项是错误的,A项的错误在于:只有在两个变量的数据长度一样时,才能对变量进行强制类型转换。选项中,a是char(1个字节),b是longint(4个字节),二者的数据长度不一样。

第2题:阅读下面的程序代码,得出n变量的值( )

33-f12-2-2.jpg

本题难度:★★★★

涉及知识:结构控制语句

名师解析:本题是考核控制语句知识的典型题——看程序写结果。题中有两个控制语句(if条件与for循环),做此题的第一步就是看清执行循环的次数(for I:=1 to 10,从这可以看出在正常循环的情况下本循环执行10次,即I=1,I=2,I=3...I=10)。

但题中代码中有两条中断语句——break与continue。continue为结束本次循环(直接跳转至下一次循环,所以当I的值为5时,n:=n+1。执行continue语句,I的值变为下一个值,语句转向执行To 10 的判断——进行下一循环。考生一定要记住,当执行continue时,其下方的语句无意义——不执行)。还有Break语句,它的含义为中断并退出。所以,题中的循环只执行8次,当执行至break时,直接跳出循环,循环体内break下方的语句不执行。故,得出I为1、2、3、4、6、7时,n的值+2;I为5时,n的值+1;I为8时,n的值+3并结束循环。

第3题:下面程序中循环执行次数为 ( )

I:=1;

Repeat

N:=I*I;

I:=I+1;

Until i>0;

A、0   B、1   C、2   D、3

本题难度:★★★

涉及知识:循环控制语句

名师解析:本题与上一题刚好起到一个知识点互补的效果,此类题除了考核控制语句的语法之外,还对循环的条件部分进行了考查。在Object Pascal的Repeat...Until条件语句中,第一次执行循环体时,不进行条件判断。

第4题:建立一个工程,在一个WinForm上放置两个ListBox组件分别是ListBox1和ListBox2,一个按钮Button1,要求将ListBox1中所选中的项移至ListBox2中,在Button1_Click事件中,下列代码不能实现功能的是( )

33-f12-2-3.jpg

本题难度:★★★★

涉及知识:ListBox组件属性

名师解析:本题主要考核ListBox组件的属性,是考试中的必考知识点。ListBox组件是一个提供列表选择的组件,所以存在多个数据项,这就需要用循环语句进行逐个数据项的遍历。

其中,有两方面要注意的:1.ListBox中项目的编号从0开始,Listbox.Items.Count从1开始计数(项目编号与项目个数之间相差1)。2.Items(项目编号)——表示项目编号所对应的内容,Selected[项目编号]——用于判断该项目编号的项目是否选中(结果为布尔型),Items.Add(内容)——添加ListBox项目,Items.Delete(项目编号)——删除项目编号对应项目。

模拟题答案:

第1题答案:D  第2题答案:C

第3题答案:B  第4题答案:C

下期我们将对选择题中容易丢分的题型进行解析,敬请关注