当前位置:文档之家› 程序设计习题解析

程序设计习题解析

程序设计习题解析
程序设计习题解析

经典讲解

一、选择题

1.对建立良好的程序风格,下面描述正确的是()。

A)程序应力求简单、清晰、可读性好

B)符号的命名只要符合语法

C)充分考虑程序的执行效率

D)程序的注释可有可无

【命题目的】本题主要考查程序设计应该遵循的一些原则

【解题要点】良好的程序设计风格可以减少编码错误,减少程序阅读时间,从而提高软件的开发效率。程序是由人来编写的,为了测试和维护程序,往往还要阅读和跟踪程序,因此程序设计的风格总体而言应该强调简单和清晰,程序必须是可以理解的。所以本题正确答案为A)。

【错解分析】程序设计中,符号的命名不但要符合语法,还要具有一定的实际含义,以便于对程序功能的理解。所以B)选项错误。

“清晰第一,效率第二”已经成为当今主导的程序设计风格,所以在充分考虑程序的执行效率时,一定要保证程序清晰、可读。所以C)选项错误。

程序的注释能够帮助读者理解程序,良好的程序设计风格应该包括完整的注释。所以D)选项错误。【考点链接】良好的程序设计应该遵循的原则。

答案:A )

2 .序言性注释的主要内容不包括()。

A)模块的接口B)数据的描述

C)模块的功能D)数据的状态

【命题目的】考查序言性注释的主要内容。

【解题要点】序言性注释通常位于每个程序的开头部分,它给出程序的整体说明,主要描述内容可以包括:程序标题、程序功能说明、主要算法、接口说明、程序位置、开发简历、程序设计者、复审者、复审日期、修改日期等等。所以本题正确答案为D)。

【错解分析】对序言性注释掌握得不够准确导致本题错误。

【考点链接】功能性注释的主要内容。

答案:D )

3 .在面向对象的方法出现以前,我们都是采用面向()的程序设计方法。

A)用户B)结构

c)过程D)以上都不对

【命题目的】考查程序设计发展的基础知识。

【解题要点】传统的程序设计方法是面向过程的,其核心方法是以算法为核心,把数据和过程作为相互独立的部分,数据代表问题空间中的客体,程序则用于处理这些数据,这种方法忽略了数据和操作之间的内在联系。面向对象方法和技术以对象为核心。对象是由数据和容许的操作组成的封装体,与客观实体有直接的对应关系。对象之间通过传递消息互相联系,以模拟现实世界中不同事物彼此之间的联系。

【错解分析】面向用户是相对程序设计的目的来说的,所以A】选项错误;

结构化程序设计方法引人了工程思想和结构化思想,所以B】选项错误;

而面向过程正是早期的软件设计方法,所以D】选项也是错误的。

【考点链接】面向对象方法的基本概念。

答案:C 】

4 .结构化程序设计方法的结构不包括()。

A)顺序结构B)分支结构

C)循环结构D)跳转结构

【命题目的】考查结构化设计的基本知识。

【解题要点】结构化设计是指采用自顶向下、逐步求精、模块化和尽量避免GoTo 跳转语句的设计方法,其程序结构按功能划分为若干个基本模块,这些模块形成一个树状结构,每一个模块均采用顺序、选择(分支)和循

环3 种基本结构组成的。

【错解分析】由以上分析知A)选项、B)选项和C)选项均是结构化程序设计的一部分,只有D)选项不是结构化程序设计的思想。

【考点链接】结构化程序设计方法。

答案:D )

5 .在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过()发送的。

(A)调用语句B)命令C)口令D)消息

【命题目的】考查对象之间的的通信方式。

【解题要点】消息是一个实例与另一个实例之间传递的信息,它请求对象执行某一处理或回答某一处的信息,它统一了数据流和控制流。接收消息的实例执行消息中指定的操作,并将形式参数与参数表对应的值结合起来。【错解分析】本题考查的内容是对象之间通过消息传递来请求服务,属于基本概念范围,A)选项、B)选项和C)选项都是错误的。由上面分析知,答案:D )

【考点链接】消息的定义和作用。

6 .对象是现实世界中一个实际存在的事物,它可以是有形的也可以是无形的,下面所列举的不是对的是()。A)桌子C)狗

B)飞机D)苹果的颜色

【命题目的】考查对象的定义。。

【解题要点】对象是构成客观世界的一个独立单位,它具有自己的静态特征(属性)和动态特征(对象的行为或功能)

【错解分析】桌子、飞机、狗是客观存在的事物,符合对象的定义;而苹果的颜色是对象所具有的特征,即对象的服务,所以只有D)选项不是对象。

【考点链接】对象的属性和方法。答案:D )

7 .下面对对象概念描述不正确的是________

A)任何对象都必须有继承性C)对象间的通信靠消息传递

B)对象是属性和方法的封装体D)操作是对象的动态属性

【命题目的】考查对对象概念的掌握。

【解题要点】继承性是类所具有的性质,而对象是类的实例,它没有继承性。

【错解分析】面向对象程序设计中对象是用来描述客观事物的一个实体,是构成系统的一个基本单位)它由一组表示其静态特征的属性和它可执行的一组操作组成,通常把对象的操作称为方法或服务,所以B )选项说法是正确的;

消息是一个实例与另一个实例传递的信息,所以c)选项说法正确;

客观世界中的实体通常都有静态的属性,又具有动态行为,对象可以做的操作表示它的动态行为,所以D)选项说法正确。

【考点链接】对象的基本概念,对象和类的关系。

答案:A )

8 .信息隐蔽是通过()实现的。

A)抽象性B)封装性

C)继承性D)传递性

【命题目的】考查对象的基本特征。

【解题要点】在面向对象的程序设计中,对象是数据和一组相关的操作的封装体。从外面只能看到对象的外部特征,根本无需知道数据的具体结构以及实现操作的具体算法,对象的内部,即处理能力的实行和内部的状态,对外是不可见的。从外面不能直接使用对象的处理能力,也不能直接修改其内部的状态,对象的内只能由其自身改变。这就是类的封装性。通过这种封装性,类向外界隐藏了自己的信息。所以正确答案:B )

【错解分析】现实世界中的很多事物都具有相似的性质,把具有相似的属性和操作的对象归为类,也就同属性、共同方法的对象的集合,是对对象的抽象。这就是类的抽象性。所以A)选项

继承是使用已经存在的类定义作为基础建立一个新的类定义的技术,它使得相似的对象可以共享程序,从而大大减少了程序中的冗余信息,提高了软件的可重用性,便于软件修改维护。所以c )选项错误。

【考点链接】对象的三个基本特征。

9 .面向对象的开发方法中,类与对象的关系是()

A)具体与抽象B)抽象与具体C)整体与部分D)部分与整体

【命题目的】考查类和对象之间的关系。

【解题要点】现实世界中的很多事物都具有相似的性质,把具有相似的属性和操作的对象归为类,也就提说类是具有共同属性、共同方法的对象的集合,是对对象的抽象,它描述了该对象类型的所有对象的性质,而一个对象则是其对应类的一个具体实例。所以本题正确答案为B)。

【错解分析】类是具有相似性质的对象的集合,是从对象中抽象出来的一个定义,而对象则是一个类的具体的一个实例。所以A)选项将它们的关系说反了,是错误的。

类是对象的抽象,对象是类的具体实例,它们之间并不是整体与部分或者部分与整体的关系。所以C )选项和D)选项都是错误的。

【考点链接】对象和类之间的区别和联系。

答案:B )

10 .结构化程序设计的3 种基本结构是()。

A)顺序、选择、重复B)递归、嵌套、调用

C)过程、子过程、主程序D)顺序、转移、调用

【命题目的】考查程序设计的3 种基本结构。

【解题要点】经过推理证明,程序设计语言仅仅使用顺序、选择和重复3 种基本控制结构就足以表达出各种其他形式结构的程序设计方法。所以本题正确答案为A)。

【错解分析】B)选项、c)选项和D)选项都不是程序设计的3 种基本结构。

【考点链接】结构化程序设计的特点和应用。

答案:A )

11 .面向对象的程序设计主要考虑的是提高软件的()。

A)可靠性B)可重用性

C)可移植性D)可修改性

【命题目的】考查面向对象程序设计的可重用性优点。

【解题要点】在面向对象方法中,所使用的对象将数据和对数据的操作封装在一起,数据和操作是作为平等伙伴的关系出现的。因此,对象具有较强的自含性,此外,对象所固有的封装性,使得对象的内部实现和外界隔离,具有较强的独立性。因此,对象提供了比较理想的模块化机制和比较理想的可重用的软件成卜。所以本题正确答案为B)。

【错解分析】对于A)选项,可靠性,没有这种说法;

对于C)选项,可移植性,与设计的方法无关,而是与软硬件环境有关;

对于D)选项,可修改性,不是面向对象程序设计的主要目的。

所以A)选项、c)选项和D)选项都是错误的。

【考点链接】面向对象程序设计的优点。

答案:B )

12 .模块的功能性注释的主要内容不包括()。

A)程序段的功能B)语句的功能

C)模块的功能D)数据的状态

【命题目的】考查功能性注释的主要内容。

【解题要点】功能性注释的位置一般嵌在源程序体中,主要描述其后的语句或者程序的主要功能。所以本题正确答案为C)。

【错解分析】对功能性注释掌握得不够准确导致本题错误。

【考点链接】序言性注释的主要内容。

答案:C )

13 .在软件工程学中,我们把一组具有相同的数据结构和相同的行为特征的对象的集合定义为()。

A)类B)属性C)对象D)消息

【命题目的】考查类的定义。

【解题要点】客观世界中很多实体都具有相似的属性和行为,将属性和操作相似的对象归为类,也就是说,类是具有共同属性、共同方法的对象的集合。

【错解分析】属性是指对象所包含的信息,通常用来描述对象所处的状态。所以B)选项错误;

对象具有类所定义的数据结构和行为特征,但它只是类的一个具体实例。所以C)选项错误;消息是一个实例与另一个实例之间传递的信息,是对象之间的一个相互合作的机制。所以D)选项错误。

【考点链接】类的继承性、抽象性和共享性的特点。

答案:A )

14 .软件部件的内部实现和外部可访问性分离,这是指软件的()。

A)继承性B)共享性

C)封装性D)抽象性

【命题目的】考查类的封装性的定义。

【解题要点】在面向对象的程序设计中,对象是数据和一组相关操作的封装体。从外面只能看到对象的外部特性,根本无需知道数据的具体结构以及实现操作的具体算法,对象的内部,即处理能力的实行和内部状态,对外是不可见的。从外面不能直接使用对象的处理能力,也不能直接修改其内部的状态,对象的内部状态只能由其自身改变。这就是类的封装性。

【错解分析】在面向对象程序设计中,把现实世界中具有相似的属性和操作的对象加以抽象,归为类,也就是说类是具有共同属性、共同方法的对象的集合,是对对象的抽象。这就是类的抽象性。继承性是指能够直接获得已有的性质和特征,而不必重复定义它们。类的继承性使得相似的对象可以共享程序代码和数据结构,从而大大减少了程序中的冗余信息,提高了软件的可重用性,便于对软件进行修改维护。

【考点链接】类的继承性、抽象性和共享性的特点。

答案:C )

15.以下()不是面向对象的特征。

A)多态性B)过程调用

C)封装性D)继承性

【命题目的】考查面向对象技术的主要特征。

【解题要点】面向对象技术具有多态性、封装性和继承性。

多态性是指同一个操作可以是不同对象的行为;

封装性是指事先已经设计好各种过程,这些过程已经封装在对象中,操作的具体实现过程对用户隐藏,用户只能看到这一操作实施后的结果;

继承性是指能够直接获得已有的性质和特征,而不必重复定义它们。

无论是在面向对象程序设计中,还是在结构化程序设计中,都存在过程调用。所以本题正确答案为B)。

【错解分析】对面向对象的特征掌握的不够准确,导致解题错误。

【考点链接】面向对象程序设计和结构化程序设计的区别。

答案:B )

二、填空题

1 .结构化程序设计具有很多优点,但它仍是一种面向_______的程序设计方法。

【命题目的】考查结构化程序设计的性质。

【解题要点】结构化程序设计把数据和处理数据的过程分离为相互独立的实体,当数据结构改变时,所有相关的处理过程都要进行相应的修改,是一种面向过程的程序设计方法。

答案:过程

2 .就程序设计方法和技术的发展而言,程序设计主要经过了_______和面向对象的程序设计的程序设计阶段。【命题目的】考查程序设计方法所经历的阶段。

【解题要点】在面向对象的方法出现以前,我们都是采用面向过程的程序设计方法。早期的计算机是用于数学计算,软件设计的主要工作就是设计求解问题的过程。随着计算机硬件系统的高速发展,计算机的性能越来越强,用途也更加广泛,不再仅限于数学计算,由于所处理的问题日益复杂,程序也就越来越庞大。20 世纪70 年代到80 年代,结构化程序设计方法成为所有软件开发设计领域及每个程序员采用的方法。虽然结构化程序设计方法

具有很多优点,但它仍然是一种面向过程的程序设计方法。开发和维护都很困难。面向对象方法跟面向过程方法是截然不同的设计方法,它把客观世界中任何一个事物都看成是一个对象,面向对象方法的本质就是主张从客观世界固有的事物出发来构造系统。

答案:结构化程序设计

3 .注释说明了程序的功能,它分为_______和功能性注释。

【命题目的】考查注释的作用。

【解题要点】注释一般分为序言性注释和功能性注释。

(l)序言性注释常位于程序开头部分,它包括程序标题、程序功能说明、主要算法、接口说明、程序位置、开发简历、程序设计者、复审者、复审日期、修改日期等;

(2)功能性注释一般嵌在源程序体之中,用于描述其后的语句或程序做什么。

答案:序言性注释

4 .源程序文档化一般应注意_______、程序的注释和视觉组织。

【命题目的】考查程序文档化的具体要求。

【解题要点】程序文档化应注意以下几点:

(1)符号名的命名。符号名的命名具有一定的实际含义,以便于对程序功能理解;

(2)程序注释。正确的注释可以帮助读者理解程序;

(3)视觉组织。为了增加程序的可读性和格式的美观,可以在程序中利用空格、空行、缩进等技巧使程序层次分明。

答案:符号名的命名

5 .结构化程序设计方法的主要原则包括_______、逐步求精、模块化和限制使用GOTO 语句等4 条原则。【命题目的】考查结构化程序设计方法。

【解题要点】结构化程序设计的原则是:

(l)自顶向下:即先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。

(2)逐步求精:对复杂问题,应设计一些子目标作过渡,逐步细化。

(3)模块化:模块化是把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,把每个jJ 目标称为一个模块。

(4)限制使用GOTO 语句。

答案:自顶向下

6 .采用结构化程序设计方法能够使程序易读、易理解、_______和结构良好。

【命题目的】考查结构化程序设计方法的优点。

【解题要点】遵循结构化程序的设计原则,按结构化程序设计方法设计出的程序具有明显优点:

l .易读。由于采用了逐步求精和模块化的设计原则,使程序更加容易被读懂;

2 . 易理解。由于采用结构化程序设计的顺序、选择和循环结构,使程序看起来一目了然,更容易被理解;

3.易维护。由于结构化程序设计容易被阅读和理解,便于用户使用和维护。

答案:易维护

7 .按照程序段本身语句行的自然顺序,一条语句一条语句地执行程序,这样的程序结构称为_______。

【命题目的】考查顺序结构的定义。

【解题要点】顺序结构是一种简单的程序设计,它是最基本、最常用的结构,顺序结构是顺序执行的结构,就是按照语句的自然顺序,一条一条地执行程序。

答案:顺序结构

8 .根据假定的条件,判断应该选择哪一条分支来执行相应的程序语句序列,这样的程序结构称为

【命题目的】考查选择结构的定义。

【解题要点】选择结构又叫分支结构,

它包括简单选择和多分支选择结构,其中简单选择结构是根据设

定的条件,判断应该选择哪一条分支来执行相应的序列。答案:分支结构或选择结构

9 .根据给定的条件,判断是否需要执行某一相同的或者相似的程序段,这样的程序结构称为_______。

【命题目的】考查循环结构的定义。

【解题要点】循环结构又叫重复结构,它根据给定的条件,判断是否需要重复执行某一相同或相似的程序段,利用重复结构可简化大量的程序行。在程序设计语言中,重复结构对应两类循环语句:(l)当型循环结构:先判断后执行循环体。

(2)直到型循环结构:对先执行循环体后判断。

答案:循环结构或者重复结构

10 .程序的重复结构对应两类循环语句,分别是当型循环结构和_______。

【命题目的】考查两类循环语句。

【解题要点】在程序设计中,重复结构对应两类循环语句。

(l)对先判断后执行的语句称为当型循环结构;

(2)对先执行后判断的语句称为直到型循环语句。

答案:直到型循环结构

11 .而向对象的程序设计主要优点包括与人类习惯的思维方法一致、_______ 、可重用性好、易于开发大型软件产品和可维护性好等5 个方面。

【命题目的】考查面向对象方法的优点。

【解题要点】面向对象方法的本质就是主张从客观世界固有的事物出发来构造系统,提倡用人类在现实生活中常用的思维方式来认识、理解和描述客观事物。它具有如下优点:

(l)与人类的习惯思维方式一致。面向对象设计方法与传统的面向过程的设计方法有本质的不同,它以对象为核心,对象之间通过消息互相联系,从而模拟现实世界中不同事物之间的联系;

(2)稳定性好。采用面向对象程序设计方法,当系统的功能需求变化时并不会引起软件整体的变化,只需要作局部的修改,因此以对象为中心构造的软件也是比较稳定的;

(3)可重用性好。采用面向对象程序设计,可以通过创建实例和派生新类的方法重复使用一个对象类;(4)易于开发大型软件产品;

(5)可维护性好。面向对象设计的软件稳定性好、容易修改、容易理解、易于测试和调试,使之更容易维护。答案:稳定性好

12 .面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个实体,它由_和可执行的一组操作共同组成。

【命题目的】考查对象的含义。

【解题要点】客观世界中的实体通常都是既具有静态属性,又具有动态的行为,因此,面向对象方法学中的对象是由描述该对象属性的数据以及可以对这些数据施加的操作封装在一起构成的统一体。答案:数据

13 .在面向对象分析和设计中,通常把对象所进行的操作称为_______。

【命题目的】考查对象方法的含义。

【解题要点】对象可以做的操作表示它的动态行为,在面向对象分析和面向对象设计中,通常把对象的操作也称为方法或服务。

答案:方法或者服务

14 .对象的多态性是指_______

【命题目的】考查多态性的特点。

【解题要点】对象根据所接受的消息做出动作,同样的消息被不同的对象接受时可导致完全不同的行动,这种现象就叫做多态性。

答案:同样的消息被不同的对象接受时可导致不同的行为

15.类是对象的抽象,而一个对象则是其对应类的_______

【命题目的】考查类和对象的关系。

【解题要点】将属性、操作相似的对象归为类,也就是说,类是具有共同属性、共同方法的对象的集合。所以类是对象的抽象,它描述了属于该对象类型的所有对象的性质,而一个对象则是其对应类的一个实例。答案:一个实例

16 .在面向对象的程序设计中,_______是指一个类实例和另一个类实例之间传递的信息。

【命题目的】考查消息的定义。

【解题要点】面向对象的世界是通过对象与对象间彼此的相互合作来推动的,对象间的这种相互合作需要一个机制协助进行,这样的机制称为“消息”。消息是一个实例与另外一个实例之间传递的信息,它请求对象执行某一要求的信息,它统一了数据流和控制流。

答案:消息

17 .使用已经存在的类定义作为基础建立新的类定义,这样的技术叫做_______。

【命题目的】考查继承的概念。

【解题要点】继承是面向对象方法的一个主要特征。继承是使用已有的类定义作为基础建立新类的定义技术。已有的类可当作基类来引用,则新类相应地可当作派生类来引用。

答案:继承

18 一个类只允许有一个父类,这样的继承称为_______。

【命题目的】考查单继承的定义。

【解题要点】继承分为单继承和多重继承。单继承是指,一个类只允许有一个父类,即类等价为树型结构。

答案:单继承

19 .继承使得相似的对象可以共享程序代码和数据结构,从而大大减少了程序中的冗余信息,提高了软件的_______

【命题目的】考查继承的意义。

【解题要点】继承的优点是,相似的对象可以共享程序的代码和数据结构,从而大大减少了程序中的冗余信息,提高软件的可重用性,便于软件的修改和维护。

答案:可重用性

20 .对象根据所接受的消息而做出动作,同样的消息被不同的对象所接受时可能导致完全不同的行为,这种现象称为_______

【命题目的】考查多态性的定义。

【解题要点】对象根据所接受的消息而做出动作,同样的消息被不同的对象接受时可导致完全不同的行为,该现象称为多态性。

答案:多态性

21 .对象和类的关系可以表示为_______和的关系。

【命题目的】考查类和对象的关系。

【解题要点】类是具有共同属性、共同方法的对象的集合。所有类是对象的抽象,它描述了属于该对象类型的所有对象的性质,而一个对象则可以看做是对应类的一个具体实例。答案:具体抽象

22 .重复使用一个对象类有两种方法,分别是_______和_______。

【命题目的】考查面向对象开发的可重用性。

【解题要点】面向对象的软件开发技术在利用可重用的软件成分构造新的软件系统时,有很大的灵活性。有两种方法可以重复使用一个对象类:

(1)创建该类的实例,从而直接使用它;

(2)从它派生出一个满足当前需要的新类。

答案:创建该类的实例从而直接使用它从它派生出一个满足当前需要的新类

23 .为了保证软件的质量,对软件进行维护之后必须进行_______,以保证要求修改或者扩充的功能已经正确地实现了。

【命题目的】考查软件测试的目的。

【解题要点】为了保证软件的质量,对软件进行维护之后必须进行必要的测试,以确保要求修改或扩充的功能已正确地实现了,而且没有影响到软件未修改的部分。如果测试过程中发现了错误,还必须通过调试改正过来。答案:必要的测试

24 .类通过_______与外界发生关系。

【命题目的】考查类的概念。

【解题要点】数据以及对数据的操作形成对象,对同类对象抽象出其共性,形成类。类是通过接口与外界发生关系的。

答案:接口

25 .类是具有共同属性和服务的一组对象的集合,它为属于该类的全部对象提供了抽象的描述,其内部包括_______和行为两个主要部分。

【命题目的】考查类的性质。

【解题要点】类是具有共同属性、共同操作性质的对象的集合,是已经定义了的关于对象的特征、外观和行为的模板,它包含属性和行为两个重要部分。

答案:属性

26 .对象的基本特点包括标识惟一性、分类性、多态性、_______和模块独立性好等5 个特点。

【命题目的】考查对象的基本特点。

【解题要点】对象具有如下的基本特点:

(l)标识惟一性,对象是可区分的,并且由对象的内在本质来区分;

(2)分类性,可以将具有相同属性和操作的对象抽象成类;

(3)多态性,同一个操作可以是不同对象的行为;

(4)封装性,只能看到对象的外部特征,无需知道数据的具体结构以及实现操作的算法;(5)模块独立性好,面向对象是由数据及可以对这些数据施加的操作所组成的统一体。

答案:封装性

同步练习

一、选择题

1 .结构化程序设计主要强调的是()。

A)程序的规模B)程序的易读性

C)程序的执行效率D)程序的可移植性

2 .信息隐蔽的概念与()概念直接相关。

A)软件结构定义B)模块独立性

c)模块类型划分D)模块藕合度

3 .对象和类之间存在着关联关系,利用对象的()特征可以实现对象的多态性。

A)惟一性B)分类性

C)继承性D)封装性

4 .面向对象技术强调的是()。

A)程序结构B)功能结构

C)数据结构D)对象结构

5 .面向对象的分析目的在于()。

A)建立对象B)创建类

C)建立模型D)建立关系

6 .程序控制结构的共同特点是()。

A)可以设计简单程序B)只有一个出口和人口

C)可以嵌套D)语句可以调用

7 .为了使程序能在不同的计算机上运行,程序应当具有较好的()。

A)可移植性B)可重用性

C)可维护性D)可适用性

8 .结构化程序设计是一种面向()的设计方法。

A)过程B)模块

C)数据结构D)程序

9 .下列关于注释的说法正确的是()。

A)序言性注释应该嵌人源程序内部

B)每一行程序都要加注释

C)修改程序也要修改注释

D)功能性注释可以说明数据状态

10 .影响输人输出风格的因素不包括()。

A)数据状态B)通信环境

C)用户经验D)输人乒输出设备

11 .面向对象程序设计语言不同于其他语言的最主要特点是()。

A)模块性B)抽象性

C)继承性D)共享性

12 .通过执行对象的操作改变对象的属性,但是它必须通过()的传递。

A)接口B)消息

C)信息D)操作

13 .面向对象的主要特征除了对象的惟一、封装、继承外,还有()。

A)多态性B)完整性

C)可移植性D)兼容性

14 .就程序设计方法和技术的发展而言,程序设计主要经历了结构化程序设计和(阶段。

A)面向过程B)面向对象

C)集体化D)面向用户

15.程序的文档化不包括()。

A)符号名的命名要有实际的含义B)正确的程序注释

C)良好的视觉组织D)正确的文档格式

16 .良好的视觉组织能使程序层次清晰,下列不是视觉组织的内容的是()。

A)不用GOTO 语句B)在必要的地方使用缩进

C)使用空行D)使用空格

17 .正确的程序注释一般包括序言性注释和()。

A)说明性注释B)解析性注释

C)功能性注释D)概要性注释

18 .为使程序更简单易懂,语句构造应该简单直接,以下关于语句结构的说法中错误的是

A)程序编写应优先考虑清晰性

B)避免使用临时变量而使程序的可读性下降

C)利用信息隐蔽确保每一个模块的独立性

D)不好的程序要尽量地去修好它

19 .输人输出方式和风格应尽可能()。

A)方便程序的调试B)方便用户的使用

c)符合一定的格式D)简单明了

20 .下面关于输人输出的方式和风格的原则描述中,错误的是()。

A)对输人数据要检验数据的合法性

B)输人格式要简单,使得输人的步骤和操作尽可能简单

C)绝对不允许缺省值

D)当程序设计语言对输入格式有严格要求时,应保持输人格式与输人语句的一致性

21 一个结构化程序就是用高级语言表示的结构化算法,下列不是结构化程序设计的优点的是()。A)方便阅读B)便于维护

C)移植性好D)便于修改

22 .结构化程序设计()、提高了程序的可靠性和保证了程序的质量。

A)减少了程序出错的机会B)加强了程序的功能

C)加快了程序运行的速度D)增加了程序的通用性

23 .下面所述不是结构化程序设计强调或提倡的是()。

A)程序设计风格B)程序结构的规范化

C)清晰的结构D)尽量使用简单的语句

24.下述不是结构化设计方法的是()。

A)先考虑总体,后考虑细节

B)对复杂问题,应设计一些子目标作过渡,逐步细化

C)将现实生活中的实体抽象成类

D)把程序要解决的总目标分解为分自标,再进一步分解为具体的小目标,把每个小目标称为一个模块

25 .下列不是结构化设计需要注意的是()。

A)使用程序设计语言中的顺序、选择、循环等有限制的控制结构表示程序的控制逻辑助选用的控制结构中允许有多个人口和出口

C)复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现

D)尽量避免GOTO 语句的使用

26 .下面关于面向对象程序设计方法的说法中错误的是()。

A)客观世界中的任何一个事物都可以看成是一个对象

B)面向对象方法的本质就是主张从客观世界固有的事物出发来构造系统,提倡用人类在现实生活中常用的思维方法来认识、理解和描述客观事物

C)面向对象程序设计方法主要采用顺序、选择、循环3 种结构进行程序设计

D)对象就是一个包含数据以及与这些数据有关的操作的集合

27 ,下述不是面向对象程序设计的主要优点的是()。

A)稳定性好B)结构清晰

C)可重用性好D)可维护性好

28 .面向对象程序设计方法有许多优点,其中之一是可维护性好,下列所述不是可维护性好的原因的是()。A)用面向对象的方法开发的软件稳定性比较好

B)用面向对象的方法开发的软件可移植性较好

C)用面向对象的方法开发的软件比较容易修改

D)用面向对象的方法开发的软件比较容易理解

29 .下述关于对象的叙述中错误的是()。

A)具有属性(数据)和方法(行为方式)的实体叫对象

B)对象是现实世界中的一个实际存在的事物

C)桌子可以是一个对象

D)对象不可以是无形的

30 .下列关于属性的描述中错误的是()o

A)属性是对象所包含的信息

B)属性只能通过执行对象的操作来改变

C)属性中包含方法

D)属性在设计对象时确定

31 .对象的封装性是指()。

A)从外面只能看到对象的外部特征,而不知道也无需知道数据的具体结构以及实现操作的算法

B)可以将具有相同属性和操作的对象抽象成类

C)同一个操作可以是不同对象的行为

D)对象内部各种元素彼此结合的很紧密,内聚性强

32 .下列不属于继承的优点的是()。

A)使程序的模块集成性更强

B)减少了程序中的冗余信息

C)可以提高软件的可重用性

D)使得用户在开发新的应用系统时不必完全从零开始

33 .面向对象程序的质量由()来决定。

A)所选择的程序设计语言B)对象的设计质量

C)类的设计质量D)模型的设计质量

二、填空题

1 .程序设计语言主要具有心理特性、工程特性和_______3 个方面的特性。

2 .良好的编程风格应注意_______、数据说明的方法、语句的结构、输人和输出。

3 .程序设计的风格总体而言,应该强调简单和_______,程序必须是可理解的。

4 .程序设计风格是指一个人编制程序时所表现出来的特点、习惯和_______ 、输入输出等。

5 .与编程风格有关的因素有源程序文档化、数据说明、_______和效率。

6 .数据说明方法一般应注意数据说明的次序规范化、_______和使用注释来说明复杂数据的结构。

7 .结构化程序设计应该遵循自顶向下、_______、模块化和限制使用GoTo 语句等原则。

8 .结构化程序设计方法引入了_______和结构化思想,使大规模的软件开发和编程都得到了极大改善。

9 .结构化程序设计的基本方法是_______

10 .结构化分析的方法适合于_______类型软件的需求分析。

11 ._______是指不同的软件开发过程中重复使用相同或者相似的软件元素的过程。

12 .结构化程序设计的基本结构包括:顺序结构、分支结构和_______3 种结构。

13 .选择结构可以分为简单选择和_______两种结构。

14 .对于先判断条件,然后再执行循环体的重复结构称为_______,对于先执行循环体,然后再判断条件的重复结构称为直到型循环结构。

15.面向对象方法和技术以_______为核心。

16 .对象是由数据和_______组成的封装体,与客观实体直接的对应关系。

17 ._______的基本原理是使用现实世界的概念抽象地思考问题,从而自然地解决问题。

18 . _______是面向对象方法中最基本的概念。

19 .类是具有共同属性和_______的对象的集合。

20 .在面向对象的程序设计中,消息通常由接受消息的对象的名称、_______和零个或者多个参数夸组成。

21 .类的继承通常分为单继承和_______。

22 一个类允许有多个父类,这样的继承称为_______。

23 .子类只继承_______ 的属性和操作,称为单继承。

24 .继承性机制使得子类不仅可以重复使用其父类的数据结构和_______,而且可以在父类代码的基础上方便地修改和扩充。

25 .对象的状态通过_______描述,对象的抽象是类·

26 .对象具有抽象性、和共享性特征。

分27 .面向对象的程序设计过程包括面向对象的分析、_______和面向对象的实现等3 个过程。

28 .对象间的通信称做是_______。

29 .对象具有状态,对象用_______来描述它的状态。

30 .对象具有状态,一个对象用数据值来描述它的状态,对象还有操作,用于改变对象的状态,对象及其操作就是对象的_______。

31 .对象实现了_______和容许的操作的结合,使它们封装于对象的统一体中。

32.具有相同或者相似性质的对象的集合就是类。类的具体化就是对象。也可以说对象就是类的_______

33 .类有属性,它是对象的状态的抽象,用_______来描述类的属性。

34 .类有操作,它是对象的行为的抽象,用_______和该操作的方法来实现描述。

35.类的共享是指同一个类中的对象有着相同的_______和相同的行为特征。

参考答案

一、选择题

21 . C

26 . C 3 1 . A

2 . B )

3 . C )

4 . D )7 . A )8 . A )9 . C )12 . B )13 . A )14 . B 17 . C )18 . D )19 . B 22 . A )23 . D )24 . C 27 . B )28 . B )29 . D 32 . A )33 . B )

5 . C )10 . A ))IS . D ))20 . C ))25 . B ))3o . C )

二、填空题

1 .技术特性

2 .源程序文档化

3 .清晰

4 .逻辑思路

5 .语句构造

6 .说明语句中变量安排有序化

7 .逐步求精

8 .工程思想

9 .自顶向下,逐步求精

ro .数据处理

11 .软件重用

12 .循环结构

13 .多分支选择

14 .当型循环结构

15.对象

16.容许的操作

17.面向对象方法

18.对象

19.共同方法

20.消息标识符

21.多重继承

22.多重继承

23.一个父类

24.程序代码

25.对象的属性值

26.封装性

27.面向对象的设计

28.消息

29.数据值

30.行为

31.数据

32.实例

33.数据结构

34.操作名

35.数据结构

高中信息技术《算法与程序设计》试题

高中信息技术《算法与程序设计》试题 一、单选题(每小题3分,20小题,共60分) 1、用计算机解决问题时,首先应该确定程序“做什么?”,然后再确定程序“如何做?”请问“如何做?”是属于用计算机解决问题的哪一个步骤?() A、分析问题 B、设计算法 C、编写程序 D、调试程序 2、在调试程序过程中,下列哪一种错误是计算机检查不出来的?() A、编译错误 B、执行错误 C、逻辑错误 D、任何错误计算机都能检查出来 3、下列关于算法的叙述中,错误的是() A、一个算法至少有一个输入和一个输出 B、算法的每一个步骤必须确切地定义 C、一个算法在执行有穷步之后必须结束 D、算法中有待执行的运算和操作必须是相当基本的。 4、流程图中表示判断的是()。 A、矩形框B、菱形框C、圆形框D、椭圆形框 5、任何复杂的算法都可以用三种基本结构组成,下列不属于基本结构的是() A、顺序结构 B、选择结构 C、层次结构 D、循环结构 6、能够被计算机直接识别的语言是() A、伪代码 B、高级语言 C、机器语言 D、汇编语言 7、在VB语言中,下列数据中合法的长整型常量是() A、08A B、2380836E C、88.12345 D、1.2345E6 8、求Mid(“ABCDEFG”,3,2)的结果是() A、“ABC” B、“CD” C、“ABCDEF” D、“BCD” 9、表达式 A+B+C=3 OR NOT C<0 OR D>0 当A=3,B=4,C=-5,D=6时的运算结果是() A、0 B、1 C、TRUE D、FALSE 10、在循环语句 For x=1 to 100 step 2 …… Next x 中,x能达到的最大值是() A、100 B、99 C、98 D、97 11、在下列选项中,不属于VB的对象的是() A、窗体的背景颜色 B、命令按钮 C、文本框 D、标签 12、在调试程序的时候,经常要设置断点,设置断点的快捷键是()

程序设计练习题

第六章程序设计 1、下列程序运行时,若从键盘上输入20,则屏幕上的输出是多少?Input “请输入一个数:” to x If x<=10 Y=2*x-5 Else Y=2*x+5 Endif ? Y 2、执行下列程序后,变量A的值为多少?B的值为多少? A=100 B=200 IF A-B<0 T=A A=B B=T ENDIF ? A,B 3、下列程序运行时,若从键盘上输入25时,屏幕上显示的结果是多少?INPUT “X=” TO X DO CASE CASE X>10 ? “A1” CASE X>20 ? “A2” OTHERWISE ? “A3” ENDCASE RETURN

4、执行下列程序,变量T中的值是多少? T=1 FOR I=1 TO 5 T=T*I ENDFOR ? “T=”,T 5、执行下列程序,屏幕上输出的是多少? D=”” SS=”ABCDE” FOR I=1 TO 5 D=D+SUBSTR(SS,6-I,1) ENDFOR ? D 6、执行下面程序,屏幕上输出的Y是多少? STORE 0 TO X,Y DO WHILE .T. X=X+1 DO CASE CASE INT(X/2)=X/2 LOOP CASE X>=10 EXIT OTHERWISE Y=Y+X ENDCASE ENDDO ? Y 7、下列程序运行时,若从键盘上输入5,则屏幕上输出的是_______。Input "请输入一个数:" to x Do case

Case x>10 ?"A1" Case x>20 ?"A2" otherwise ?"A3" Endcase Return 8、执行下列程序片段后,变量T中的值是_______。 T=1 FOR I=1 TO 5 T=T*I ENDFOR ? "T=",T 9、如下程序显示的结果是。 s=1 i=0 do while i<8 s=s+i i=i+2 Enddo ?s 10、如下程序的输出结果是。 i=1 DO WHILE i<10 i=i+2 ENDDO ?i 11、执行下列程序后,变量A的值为_______,变量B的值为_______。

50道经典的编程题

【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.... 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 【程序3】 题目:打印出1000以内所有的"水仙花

数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。 【程序4】 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。 (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

【程序5】 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 1.程序分析:(a>b)?a:b这是条件运算符的基本例子。 【程序6】 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 1.程序分析:利用辗除法。 【程序7】

程序设计基础试题库

练习题一Visual FoxPro 基础 、选择题 1. 关系数据库管理系统应能实现的专门关系运算包括___c __________ A 显示、打印、制表B关联、更新、排序 C 选择、投影、连接D排序、索引、统计 2. 关系是指__b__。 A 属性的集合B元组的集合 C 实例的集合 D 字段的集合 3. 如果把学生看成实体,某个学生的姓名叫“杨波”,则“杨波”应看成是___b ______ 。 A)属性型B )属性值C )记录型D )记录值 4. 关系数据库系统中所使用的数据结构是 _______ d ___ 。 A)图B )树C )表格D )二维表 5. 对表进行水平方向的分割用的运算是 _______ b ___ 。 A)交B )选择C )投影D )连接 6. 下列数据库技术的术语与关系模型的术语的对应关系中_______ d _____ 是正确的。 A)实例与关系 B )字段与元组C )记录与属性 D )记录类型与关系模式 7. 下列关于数据库系统的叙述中,正确的是 _____ c _____ 。 A)数据库系统中数据的一致性是指数据类型一致 B)数据库系统只是比文件系统管理的数据更多 C)数据库系统减少了数据冗余 D数据库系统避免了数据冗余 8. 关系数据模型 ______ d ___ 。 A)只能表示实体间的1:1联系 B)只能表示实体间的1:n C只能表示实体间的m:n D 可以表示实体间的上述三种联系 9. 在一个关系中如果有这样一个属性存在,它的值能惟一地标识关系中的每一个元组,称

这个属性为 _____ a____ 。 A)关键字B )主属性C )数据项D )主属性值 10. 关系数据库管理系统中的元组是______ b ____ 。 A)关系中的垂直方向的列 B )关系中的水平方向的行 C属性或属性的组合 D )以上的答案均不正确 11. 从数据库的整体结构看,数据库系统采用的数据模型有_________ a __ 。 A)层次模型、网状模型和关系模型 B)层次模型、网状模型和环状模型 C)网状模型、链状模型和层次模型 D链状模型、关系模型和层次模型 12. 设有属性A B、C D以下表示中不是关系的是___________ d__。 A)R( A) B )R( A, B)C )R (A, B, C, D) D )R (A X B X C X D) 13. 若实体间联系是M N的,则将联系类型_________ a___ 。 A)也转换为关系模型 B)属性加入任一个关系模式中 C)属性加入N端实体类型相应的关系模式中 D)属性加入M端实体类型相应的关系模式中 14. 数据库系统的构成为数据库、计算机硬件系统、用户和________ a ____ 。 A 数据库管理系统 B 操作系统 C 数据集合 D 文件系统 15. 层次型、网状型和关系型数据库划分原则是________ c ___ 。 A 文件大小 B 记录长度 C 数据之间的联系 D 联系的复杂程度 16. 在数据库设计中用关系模型来表示实体和实体之间的联系,关系模型的结构是 _____ d ___ 。 A 封装结构 B 层次结构 C 网状结构 D 二维表结构 17. 在关系模型中,实现“关系中不允许出现相同的元组”的约束是通过__a ________ 。 A 主键 B 超键 C 外键 D 候选键 18. 层次模型不能直接表示 ______ b __ 关系。 A 1:1 B m:n C 1:m D 1:1 和1:m 19. DBAS旨的是_____ d____ 。

历年算法与程序设计学业水平考试真题(带答案)

一、选择题 1、流程图是描述()的常用方式。 A、程序 B、算法 C、数据结构 D、计算规则 2、下面不属于算法描述方式的是()。 A、自然语言 B、伪代码 C、流程图 D、机器语言 3、以下运算符中运算优先级最高的是()。 A、+ B、^ C、>= D、* 4、某程序中三个连续语句如下: a=1 b=2 c=b+a 它属于() A、顺序结构 B、选择结构 C、循环结构 D、以上三种都不是 5、穷举法的适用范围是() A、一切问题 B、解的个数极多的问题 C、解的个数有限且可一一列举 D、不适合设计算法 6、在现实生活中,人工解题的过程一般分为() A、理解分析问题→寻找解题方法→用工具计算→验证结果 B、寻找解题方法→理解分析问题→用工具计算→验证结果 C、用工具计算→验证结果→寻找解题方法→理解分析问题 D、用工具计算→验证结果→理解分析问题→寻找解题方法 7、下列关于算法的特征描述不正确的是() A、有穷性:算法必须在有限步之内结束 B、确定性:算法的每一步必须确切的定义 C、输入:算法必须至少有一个输入 D、输出:算法必须至少有一个输出 8、下列哪一个不是用于程序设计的软件() A、BASIC B、C语言 C、Word D、Pascal 9、下列可以作为合作变量名的是() A、a7 B、7a C、a-3 D、8 10、编程求1+2+3+........+1000的和,该题设计最适合使用的控制结构为()。 A、顺序结构 B、分支结构 C、循环结构 D、选择结构 11、下列步骤不属于软件开发过程的是() A、任务分析与系统设计 B、软件的销售 C、代码编写与测试 D、软件测试与维护12.以下程序段运行时,语句k=k+1 执行的次数为()次。 k=-10 do k=k+1 loop while(until)k=0 A. 9 B. 10 C. 11 D. 12 13.已知x=6, y=5, 则以下运算结果为True 的是() A.Not(x>y) B. (x<5)or(y>6) C. (x>=6)And(y>=5) D. Not(x>4) 14.模块化程序设计方法反映了结构化程序设计的()基本思想。 A、自顶向下,逐步求精 B、面向对象 C、自定义函数、过程 D、可视化编程 15、一位同学想编程解决“韩信点兵”的问题,他制定的如下工作过程中,最恰当的是() A、设计算法,编写程序,提出问题,运行程序,得到答案

程序设计题目

程序设计题一:学生信息管理系统 【课题内容】 学生信息的管理是每个学校必须具有的管理功能,主要是对学生的基本情况及学习成绩等方面的管理。该系统模拟一个简单的学生管理系统,要求对文件中所存储的学生数据进行各种常规操作,如:排序、查找、计算、显示等功能。通过此课题,熟练掌握文件、数组、结构体的各种操作,在程序设计中体现一定的算法思想,实现一个简单的学生信息管理系统。 【基本要求】 (1)学生信息包括: 学生基本信息文件(student.txt)(注:该文件不需要编程录入数据,可用文本编辑工具直接生成)的内容如下: 学号姓名性别宿舍号码电话号码 01 张成成男 501 87732111 02 李成华女 101 87723112 03 王成凤女 101 87723112 04 张明明男 502 87734333 05 陈东男 501 87732111 06 李果男 502 87734333 07 张园园女 102 87756122 ………………… (2)学生成绩基本信息文件(score.dat)及其内容如下:((注:该文件内容需要编程录入数据,具体做法见下面的要求) 学号课程编号课程名称学分平时成绩实验成绩卷面成绩综合成绩实得学分 01 A01 大学物理 3 66 78 82 02 B03 高等数学 4 78 -1 90 01 B03 高等数学 4 45 -1 88 02 C01 VF 3 65 76 66

…………………… (3)需要实现的功能 1)数据录入和计算功能:对score.dat进行数据录入,只录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据,综合成绩、实得学分由程序根据条件自动运算。 综合成绩的计算:如果本课程的实验成绩为-1,则表示无实验,综合成绩=平时成绩*30%+卷面成绩*70%;如果实验成绩不为-1,表示本课程有实验,综合成绩=平时成绩*15%+实验成绩*15%+卷面成绩*70% 。 实得学分的计算:采用等级学分制,综合成绩在90-100之间,应得学分=学分*100%;综合成绩在80-90之间,应得学分=学分*80%;综合成绩在70-80之间 ,应得学分=学分*75%;综合成绩在60-70之间,应得学分=学分*60%;综合成绩在60以下 ,应得学分=学分*0%。 2)查询功能:分为学生基本情况查询和成绩查询两种 (1)学生基本情况查询: ①、输入一个学号或姓名(可实现选择),查出此生的基本信息并显示输出,格式如下: ②、输入一个宿舍号码,可查询出本室所有的学生的基本信息并显示输出。(格式如上所示) (2)成绩查询: ①、输入一个学号时,查询出此生的所有课程情况,格式如下: 学号:xx 姓名:xxxxx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx ………………… … 共修:xx科,实得总学分为: xxx (3)删除功能:

程序设计典型例题

我先给你一些VF的例题看看吧! Vfp--程序设计典型例题 Vfp题库:程序设计基础典型例题 [例1] 在()窗口中可以控制列表框内显示的变量种类。 A.跟踪窗口 B.监视窗口 C.局部窗口 D.调动堆栈窗口 分析:局部窗口用于显示模板程序中的内存变量,并显示它们的名称.当前取值的类型。它可以控制在列表内显示的变量类型。 答案c 例2下面选项中关于ACCEPT命令说法错误的是() A.ACCEPT命令格式是:ACCEPT[<字符表达式>] TO<内存变量> B.该命令只接收字符串,但是用户在输入字符串时,必须要加上定界符 C如果不输入任何内容直接按回车键,系统就会把空串赋给指定的内存变量 D如果选用<字符表达式>,那么系统就会首先显该表达式的值,作为提示信息 分析:该命令只接收字符串,但用户在输入时不需要加定界符;否则,系统会把定界符当作字符串的一部分输出. 答案:B 例3下列关于过程的说法中不正确的是 A.过程文件可以放在任何程序文件代码的后面,也可以保存在称为过程文件的单独文件里 B.过程文件只包含过程,这些过程只能被过程文件调用 C.如果需要打开多个过程文件,可以在调用过程语句中加ADDITVE,那么在打开过程文件时, 并不关闭原先已打开的过程文件 D.关闭个别过程文件的命令格式是:RELESE PROCEDURE<过程文件> 分析:过程文件只包含过程,这些过程可以被任何其它程序调用.命令格式SETPOCEDURE TO[<过程文件>][ADDITIVE]就可以打开多个过程文件.当使用不带任何文件名的SET PROCEDURE TO命令时,将会关闭所有的过程文件,使用命令RELEASE PROCEDURE<过程文件>时,将关闭指定的过程文件. 答案:B 例4 在一个程序定义了的一些变量,选出局部变量( ) 1.PRG PUBLIC aI LOCAL a2,a3 SCORE'B'TO a4 LOCATE a5 A.a1 B.a2,a3 C.a4 D.a5 分析:A是公共变量,C是私有变量,D的命令和LOCA TE相似,但不存在这样定义变量的命令.只有B才是定义了两个局部变量. 答案:B 例5 不需要先建立就可以使用的变量是( ) A.局部变量 B.公共变量 C.私有变量 D.数组 分析:私有变量是指在程序中直接使用,由系统自动隐含建立的变量.即没有通过PUBLIC 或

《JAVA语言程序设计》期末考试试题题库2014 (整理版)

;.'

;.'

二、填空题 1、如果将类MyClass声明为public,它的文件名称必须是(MyClass.java)才能正常编译。 2、Java程序中的单行注释符是(//),多行注释符是(/* */ )。 3、Java中布尔类型的常量有两种,它们是(true)和(false)。 4、Java中用于定义小数的关键字有两个:(float)和(double),后者精度高于前者。 5、Java中用于两个数相等比较的运算符是:(==),用于不相等比较的运算符是(<>)。 6、在Java中定义一个字符串类型的变量str的语句是:(String str;),定义一个具有10个元素的整型数组a的语句是:(int [] arr = new int[10];)。 7、导入mypackage包中的所类的命令是(import mypackage.*;)。 8、当声明一个数组int arr[] = new int[5]; 时,这代表这个数组所保存的变量类型是(int),数组名是(arr),数组的大小为(5),数组元素下标的使用范围是(0到4)。 9、假设x=13,y=4,则表达式x%y != 0的值是(true),其数据类型是(boolean)。 10、异常处理是由(try)、(catch)和finally块三个关键所组成的程序块。 11、导入mypackage包中的类myclass的命令是(import mypackage.myclass; )。 12、使用命令行敲入javac命令,其含义是(编译java文件,得到字节码文件)。 13.定义类的保留字是( class),定义接口的保留字是( interface )。 14.构造方法是一种特殊的成员方法,构造方法名与( 类名) 相同。 15.Java语言只允许单继承,指每个类只能有一个( 父类)。 16.Java源程序的扩展名是( .java),经过编译后的程序的扩展名是(.class)。 17、如果将类MyClass声明为public,它的文件名称必须是(Myclass.java)才能正常编译。 ;.'

算法与程序设计会考复习题

《算法与程序设计》模块会考复习题 一.单选题 1. java方法重载时参数不可能出现的情况是____D______。P67 A.参数的个数不同 B.参数的个数相同而参数的类型不同 C.参数不完全对应相同D.参数完全对应相同 2. 运行Java程序需要的工具软件所在的目录是___A_______。P16 A.JDK的bin目录B.JDK的demo目录 C.JDK的lib目录D.JDK的jre目录 3. J_HelloWorld.java 的文件内容如下: class J_HelloWorld { public static void Main(String args[]) M不应大写 { System.out.println(" Hello World "); } } 下面说法正确的是____B______。 A.J_HelloWorld.java无法通过编译,因为main方法的声明方式不对 B.J_HelloWorld.java可以通过编译,但程序运行时出现“程序中没main方法”的异常C.J_HelloWorld.java可以通过编译,但无法运行,因为该文件没有public类 D.J_HelloWorld.java可以通过编译并正常运行,结果输出字符串“Hello World” 4. 逻辑表达式!(3/2==1.5)&& 9<3|| 9>3的运算结果为_____A_______。 P9 A.true B.false C.表达式有错D.条件不足 5. 下列可以将变量x和y的值互换的语句是___B______。P35 A.x=y;y=x; B.z=x;x=y;y=z; C.x=z;z=y;y=x; D. x=(x+y)/2;y=(x-y)/2; 6. 执行完下面程序片段之后,下面结论正确的是___B_____。 P43 int a,b,c; a=1;b=2; c=(a+b)>3 ? a++:b++; A.a的值是2,b的值是3 B.a的值是1,b的值是3 C.a的值是1,b的值是2 D.c的值是false。 7. 下面程序片段输出的是___C_______。应使用关系运算符== int a=3,b=1; if(a=b)

程序设计典型例题解析(2)

程序设计典型例题解析(2)

典型例题解析(2) 一、填空题 1.以顺序输入模式打开“c:\source1.txt”文件的命令是(1);以输出方式打开“c:\source2.txt”文件的命令是(2)。 分析:Print # 语句用于将把数据写入文件中。Print语句格式为: Open 文件名 [For模式] As [#] 文件号 “For 模式”为指定打开文件的模式是数据的输入模式还是输出模式。 结论:答案应为:(1)Open "c:\source1.txt" For Input As #1 (2)Open "c:\source2.txt" For Output As #2 2.在Visual Basic中,文件系统控件包括(1)、(2)和文件列表框(FileListBox)。三者协同操作可以访问任意位置的目录和文件,可以进行文件系统的人机交互管理。 分析:在Visual Basic中,文件系统控件包括驱动器列表框(DriveListBox)、目录列表

框(DirListBox)和文件列表框(FileListBox)。驱动器列表框可以选择或设置一个驱动器,目录列表框可以查找或设置指定驱动器中的目录,文件列表框可以查找指定驱动器指定目录中文件信息,三者协同操作可以访问任意位置的目录和文件,可以进行文件系统的人机交互管理。 结论:答案应为:(1)驱动器列表框(DriveListBox)(2)目录列表框(DirListBox) 3.每次重新设置驱动器列表框的Drive属性时,都将引发(1)事件。可在该事件过程中编写代码修改目录列表框的路径,使目录列表框内容随之发生改变。 分析:在Visual Basic中,每次重新设置驱动器列表框的Drive属性时,都将引发Change事件。可在Change事件过程中编写代码修改目录列表框的路径,使目录列表框内容随之发生改变。驱动器列表框的默认名称为Drive1,其Change事件过程的开头为Drive1_Change()。 结论:答案应为:(1)Change 4.目录列表框用来显示当前驱动器下目录

自考《计算机基础与程序设计》试题与答案

2011年4月高等教育自学考试《计算机基础与程序设计》试题及答案 (课程代码:02275) 一、单项选择题 (本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1 . 计算机处理信息时,CPU一般是以一组二进制数码为单位进行处理 的,这组二进制数码称为 ( ) A.word B.MB C.KB D.bit 2 . 下列不属于计算机硬件系统的是( ) A.操作系统 B.控制器 C.存储器 D.运算器 3 . 下面转义字符中,表示换页的是( ) A.\0 B.\n C.\r D.\f 4 . 在TurboC2.O 中,保存源程序在主菜单File项中可选择() A.Load B.New C.Save D.Quit 5.下面表达式结果为3的是() A.(-7) %4 C.7%(-4) B.(-7.O) %4.0 D.7.O%4.O 6.设有A.0 C.2 intx= 2 ,y,z;执 行 z=y=x++;后变 量 z的值 是 B.1 D.3 ( ) 7.下面不正确的关系表达式 是 ( ) A.a=3 C.a>=b>c B.a<3 D.a>b>c 8.设有声明 intx=1 ,y=2,z;执行z=x>y?x+2:y-2后变量z的值是( ) A.0 B.1 C.2 D.3 9.设有intb=-1 ;则执行 printf(" %u\n”,b);后的输出是() A.-1 B.ffff

C.177777 D.65535

10.下面程序段的输出结果是( ) main() {inta=3,b=5,c; c=a+b;a=b;b=c; printf("%d,%d",a,b);} A.3 ,5 B.5,3 C.5,8 D.8,13 11. 设有声明intx=-1 ;执行if(x<0)x=- x-1 ;后变量x的值是() A.-1 B.0 C.1 D.2 12. 关于break语句,以下说法不正确的是() A.它可以用于循环语句中 B.它可以用于switch语句中 C.可以从最内层循环结构中直接跳出最外层循环结构 D.可以从当前switch结构中跳出 13.下面能正确将字符串"Boy"进行完整赋值操作的语句是() A.char s [3]={′B′,′o′,′y′}; B.char s []="Boy"; C.chars [3]={"Boy"} ; D.chars [3]; s[O]=′B′;s[1]=′o′;s[2]=′y′; 14.下列函数中向文件一次读一串字符的函数是() A.fgetc B.fgets C.fputc D.fputs 15.在一个c源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量, 则该变量需要使用的存储类别是() A.extern B.register C.auto D.static 16.C 语言规定,简单变量做实参时,它和对应形参之间的数据传递方式 是 ( ) A.地址传递 B.单向值传递 C.由实参传给形参,再由形参传回给实参 D.由用户指定方式 17.设有声明语句int a [2][3], (*p) [3]=a;则对a数组元素正确引用的 是 ( ) A.(p+1) O B.*(*(p+2)+1) C.*( p [1]+1) D.p[1]+2 18.设有下面的结构体和结构变量定义:( )

算法与程序设计填空题10套

第一套 1.有如下程序段: x=5 y=6 p=Not(x+y=11) 该程序段运行后,P的值是(1)False或0。 2.有如下程序段: x=5 y=10 z=12 if x+y<=z Or y+z<=x Or x+z<=y then a="False"else a="True" 该程序段运行后,a的值为(1)True。 3.有如下程序段: s=0 for i=1to5 s=s+i*i next i 该程序段运行后,s的值为(1)55。 4.程序填空 随机产生10个0~100之间的整数,按从小到大的次序排序并输出。为了实现这一目标,完善下面 的VB程序,在划线处填入合适的语句或表达式,完成程序设计(流程图参见图12-3)。

图12-3 sub command1_click() const n=10 dim i,j,t as integer dim a(1to10)as integer for i=1to10 ______(1)__a(i)=int(Rnd*101)________ next i For i=1To n-1 For j=i+1To n If______(2)_a(i)>a(j)_____Then k=a(i):a(i)=a(j):a(j)=k End If Next j Next i

For i=1To n List1.AddItem Str(a(i)) Next i 第二套 1.有如下程序段: x=5 y=6 t=x x=y y=t 该程序段运行后,y的值为(1)5。 2.有如下程序段: x=5 y=-20 if not x>0then x=y-3else y=x+3 该程序段运行后,x的值为(1)5。 3.有如下程序段: e=0:f=1 for i=1to3 e=e+f f=f+e next i 该程序段运行后,f的值为(1)13。 4.程序填空 有30个人,其中有男人、女人和小孩。他们在一家饭馆里花去500元。已知,每个男人花30元,每个女人花20元,每个小孩花10元。问男人、女人、小孩各为多少人? 为了实现这一目标,完善下面的VB程序,在划线处填入合适的语句或表达式,完成程序设计。 sub command1_click() dim man,woman,child,s as integer for man=1to15 for woman=1to23 child=_______(1)_30-woman-man_ s=30*man+20*woman+10*child if___(2)s=500and child>0then list1.additem str(man)+""+str(woman)+""+ str(child) end if

C++程序设计试题及答案

C++程序设计试题 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 ++源程序文件扩展名为( A ) A..cpp B..h C..1ib D..obj 2.在C++中使用流进行输入输出,其中专用于从键盘进行输入的流是( B ) 3.包含自定义头文件的预处理指令是( D ) A.#define<> B.#include C.#define D.#include"" 4.用于标识十六进制前缀或后缀是( D ) A.元 B.后缀L或e C.前缀零 D.前缀0x 5.设存在整型变量int x,则下列句与其它三项含义不同的是( A ) * p=&x; & p=x; & p=x; &p=x; 6.在定义类成员时,为产生封装性,则需使用哪个关键字( D ) 7.设函数void swap(int&,int&)将交换两形参的值,如两整型变量int a=10;int b=15; 则执行swap(a,b)后,a、b值分别为( C ) ,10 ,15

,10 ,15 8.函数默认参数在函数原型中说明,默认参数必须放在参数序列的( C) A.前部 B.中部 C.后部 D.两端 9.设存在函数int min(int,int)返回两参数中较小值,若求15,26,47三者中最小值,下列表达式中错误的是( B ) m=min(min(15,26),min(15,47)); m=min(15,26,47); m=min(15,min(47,26)); m =min(min(47,26),16); 10.下列函数不能和函数void print(char)构成重载的是(C ) print(int); print(char,char); print(char); print(int,int); 11.在下列成对的表达式中,运算结果类型相同的一对是( D ) /2和/ /和7/2 0和/2 l2.内联函数的特点是( D ) A.减少代码量,加快访问速度 B.减少代码量,减缓访问速度 C.增加代码量,减缓访问速度 D.增加代码量,加快访问速度

C语言程序设计入门经典例题

1、加法练习程序:由用户通过键盘输入加数和被加数,程序显示加法式子,用户通过键盘作答后,程序给出正确与错误提示信息。要求:利用C的选择语句if条件语句或switch 开关语句,键盘输入数据前,程序会出被输入数据的信息提示。 #include void main(){ int a,b,c; printf("please put an addend:\n");scanf("%d",&a); printf("please put an augend:\n");scanf("%d",&b); printf("please answer the question:a+b=?");scanf("%d",&c); if(a+b==c) printf("very good!"); else printf("wrong! "); } 个人感觉这个程序最不好的地方是,不管回答正确还是回答错误,程都会立即结束,所以我用了do…while实现一个回答错误之后获得再次回答机会的循环,则程序修改如下: #include void main(){ int a,b,c; printf("请输入一个加数:\n");scanf("%d",&a); printf("请输入一个被加数:\n");scanf("%d",&b); do { printf("请回答:a+b=");scanf("%d",&c); if(a+b!=c) printf("请再想一想\n"); } while(a+b==c) printf("回答正确!"); } 2、判闰年程序:判断某一年是否闰年? 要求:程序首先提示用户从键盘输入4位数年份,程序能显示“XXXX年是闰年”或“XXXX年不闰年”的输出信息。 算法:year 是闰年,即year能被4整除但不能被100整除,或 year 能被 400 整除。其对应的C逻辑表达式为:(year % 4 = = 0 && year % 100 != 0) || (year % 400 = = 0) 或: (!(year % 4) && year % 100) || !(year % 400 ) 程序中可设置1个变量leap来代表是否闰年的信息,闰年:leap=1; 不闰年:leap=0。 #include void main() int year; printf("请输入4位数年份:");scanf("%d",&year); if(year%4==0&&year%100!=0||year%400==0)//闰年就是能被4整除但不能被100整除及能被400整除的

C语言程序设计阅读程序题库

C语言程序设计阅读程 序题库 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

阅读程序题 导读:学会阅读程序对于初学者来说很重要,一方面可以巩固所学的语法知识,另一方面通过阅读别人写好的程序来打开自己的思路,就所谓见多识广。读者通过阅读理解程序,从给出的四个备选参考答案中,选择程序的正确输出。如果选择有误,就要认真分析原因,是概念方面的错误还是对程序逻辑理解不对,从而加深对语法规则的理解,提高程序设计能力。程序设计语言是开发程序的一个工具,学习语言的目的是为了编写程序来解决实际问题,所以特别提倡通过实际上机来检验备选答案,增强动手能力。习题基本上是按照教材的章节来安排的,读者可以根据学习的进度选择部分习题。【】以下程序的输出结果是。 main() {floata; printf("%g",a); } A)+00B)0.0 C)0 【】下面程序的输出结果是____。

#include<> main() {intx=10; {intx=20; printf("%d,",x); } printf("%d\n",x); } A)10,20B)20,10 C)10,10D)20,20 【】以下程序的输出结果是____。 main() {unsignedintn; inti=-521; n=i; printf("n=%u\n",n); } A)n=-521B)n=521 C)n=65015D) 【】以下程序的输出结果是。 main() {intx=10,y=10;printf("%d%d\n",x――,――y);

《算法与程序设计》试题带答案

《算法与程序设计》试题 学校:_____________ 班级:____________ 学号:____________ 姓名:____________ 一、单选题(每小题3分,20小题,共60分) 1、用计算机解决问题时,首先应该确定程序“做什么?”,然后再确定程序“如何做?”请问“如何做?”是属于用计算机解决问题的哪一个步骤?() A、分析问题 B、设计算法 C、编写程序 D、调试程序 2、在调试程序过程中,下列哪一种错误是计算机检查不出来的?() A、编译错误 B、执行错误 C、逻辑错误 D、任何错误计算机都能检查出来 3、下列关于算法的叙述中,错误的是() A、一个算法至少有一个输入和一个输出 B、算法的每一个步骤必须确切地定义 C、一个算法在执行有穷步之后必须结束 D、算法中有待执行的运算和操作必须是相当基本的。 4、流程图中表示判断的是()。 A、矩形框B、菱形框C、圆形框D、椭圆形框 5、任何复杂的算法都可以用三种基本结构组成,下列不属于基本结构的是() A、顺序结构 B、选择结构 C、层次结构 D、循环结构 6、能够被计算机直接识别的语言是() A、伪代码 B、高级语言 C、机器语言 D、汇编语言 7、在VB语言中,下列数据中合法的长整型常量是() A、08A B、2380836E C、88.12345 D、1.2345E6 8、求Mid(“ABCDEFG”,3,2)的结果是() A、“ABC” B、“CD” C、“ABCDEF” D、“BCD” 9、表达式 A+B+C=3 OR NOT C<0 OR D>0 当A=3,B=4,C=-5,D=6时的运算结果是() A、0 B、1 C、TRUE D、FALSE

完整word版,VB程序设计例题12例

索引 一、在窗体上画一个文本框,其名称为Text1,Text属性为空白。再画一个命令按钮,其名称为C1,Visible属性为False。编写适当的事件过程。程序运行后,如果在文本框中输入字符,则命令按钮出现。 二、计算圆的周长和面积:在窗体中添加一个文本框(Text1)和一个对应的标签(Label1),再添加两个命令按钮(Command1和Command2)和一个图片框(Picture1)。程序运行时,当单击Command1按钮后,计算圆的周长;当单击Command2按钮后,计算圆的面积;计算结果输出在图片框中。(要求在未输入半径前两个按钮呈灰色不可用。) 三、在窗体上添加三个文本框和对应的三个标签,标签的标题分别是“个位”、“十位”、“百位”。程序运行时,当单击窗体后,随机产生一个【100,999】区间内的整数,将它的个位、十位、百位数字分别显示在对应的文本框中。 四、设计一个计算程序:在窗体上添加四个文本框和四个对应的标签,标签的标题分别是“语文”、“数学”、“外语”、“平均成绩”,三个命令按钮,标题分别为“清除”、“计算”、“退出”。程序运行后,用户按“清除”按钮,则清除文本框中显示的内容,按“计算”按钮,则计算三科平均成绩,将计算结果显示在第四个文本框中(计算结果保留小数点后一位)。单击退出按钮则程序退出。 五、某税务部门征收所得税,规定如下:(1)收入200元以内,免征。(2)收入在200~400元,超过200元的部分纳税3%。(3)收入超过400元的部分,纳税4%。(4)当收入达5000元或超过时,将4%税金改为5%。编程序实现上述操作。 六、给定三角形的三条边的边长,计算三角形的面积。编写程序,首选判断给出的三条边能否构成三角形,如可以构成,则计算并输出该三角形的面积,否则要求重新输入。当输入-1时结束程序。 七、编程求100以内的全部素数。 八、编程打印钻石图案。 九、输出杨辉三角形。 十、有一个数组,包含了10个不同的随机整数(20~90),要求计算出它们的平均值,并输出这个数组中最接近于平均值的数。 十一、在一个窗体上建有包含三个命令按钮的控件数组和一个文体框。编程实现当按下标题不同的命令按钮时,使文体框中文字的字体发生相应的变化。 十二、编程求1000以内的完全数。所谓完全数是指这样的自然数:它的各个约数(不包括该数本身)。如28=1+2+4+7+14就是一个完全数。

大学经典C语言编程试题

大学经典C语言编程试 题

1.输入两个正整数,m和n,求其最大公约数和最小公倍数。 #include<> void main() { int hcf(int,int); /*函数声明*/ int lcd(int,int,int); /*函数声明*/ int u,v,h,l; printf("Please input two numbers:\n"); scanf("%d,%d",&u,&v); h=hcf(u,v); l=lcd(u,v,h); } int hcf(int u,int v) { int t,r; if(v>u) {t=u;u=v;v=t;} while((r=u%v)!=0) {u=v;v=r;} return(v); } int lcd(int u,int v,int h) { return(u*v/h); } 2.输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。 #include<> int letter,digit,space,others; void main() { void count(char[]); char text[80]; printf("Please input string:\n"); gets(text); printf("string:\n"); puts(text); letter=0; digit=0; space=0; others=0; count(text); printf("letter:%d,digit:%d,space:%d,others:%d\n",letter,digit,space,others); } void count(char str[]) {

经典练习C语言编程的题目及标准答案整理

1.逆序输出正三位数 #include intmain() { intinput,output=0; scanf("%d",&input); while(input != 0) { output = output*10 + input%10;input/= 10; } printf("%d\n",output); return 0; } 2.百元找零函数 #include int main() { intamount=100; int price=0; printf("请输入金额(元)"); scanf("%d",&price); ?printf("请输入票面"); scanf("%d",&amount); int change=amount-price; printf("找您%d元。\n",change); ? return0; } 3.求平均数 #include int main() { int a,b; scanf("%d%d",&a,&b);

double c=(a+b)/2.0; /*scanf("%d",&amount); 这是注释,我随便放的,没意义 int change=amount-price;*/ printf("%d和%d的平均值是%f\n",a,b,c); return0; } 4.写出程序的输出: int i=1; switch(i/3){ case0:printf("zero"); case1:printf("one"); case2:printf("two"); } 正确答案是:zeroonetwo。 5.水仙花数是指一个N位正整数(N>=3),它的每个位上的数字的N次幂之和等于它本身。例如:153 = 13 + 53+33。本题要求编写程序,计算所有N位水仙花数。 输入格式: 输入在一行中给出一个正整数N(3<=N<=7)。 输出格式: 按递增顺序输出所有N位水仙花数,每个数字占一行。 输入样例: 3 输出样例: 153 370 371 407

相关主题
文本预览
相关文档 最新文档