免费智能真题库 > 历年试卷 > 信息系统管理工程师 > 2016年上半年 信息系统管理工程师 上午试卷 综合知识
  第51题      
  知识点:   程序设计风格   程序设计
  关键词:   程序设计        章/节:   系统实施基础知识       

 
以下与程序设计风格无关的是(51)。
 
 
  A.  代码的正确性
 
  B.  标识符的命名
 
  C.  代码中的注释
 
  D.  代码的布局格式
 
 
 

 
  第51题    2018年上半年  
   19%
优秀代码的特点不包括 ( )。
  第9题    2014年上半年  
   21%
编写源程序时在其中增加注释,是为了( )。
  第15题    2012年上半年  
   17%
在软件设计和编码过程中,采取(15)的做法将使软件更加容易理解和维护。
   知识点讲解    
   · 程序设计风格    · 程序设计
 
       程序设计风格
        (1)标识符的命名。
        标识符是文件名、变量名、常量名、函数名、程序名、段名和程序标号等用户定义的名字的总称。应注意以下规则。
        .命名规则在程序中前后一致。
        .命名时一定要避开程序设计语言的保留字。
        .尽量避免使用意义容易混淆的标识名。
        (2)程序中的注释。
        ①序言性注释。
        在每个程序或模块的开头的一段说明,起对程序理解的作用,一般包括以下内容:
        .程序的标识、名称和版本号。
        .程序功能描述。
        .接口与截面描述,包括调用及被调用关系、调用形式、参数含义以及相互调用的程序名。
        .输入/输出数据说明,重要变量和参数说明。
        .开发历史,包括原作者、审查者、修改者、编程日期、编译日期、审查日期、修改日期等。
        .与运行环境有关的信息,包括对硬件、软件资源的要求,程序存储与运行方式。
        ②解释性注释。
        一般嵌在程序之中,与要注释的部分匹配。
        进行程序注释应注意以下问题。
        .注释一定要在程序编制中书写。
        .解释性注释不是简单直译程序语句,应能说明“做什么”。
        .一定要保证注释与程序的一致性,程序修改时注释也必须修改。
        (3)程序的布局格式。
        利用空格、空行和缩进等方式改善程序的布局,取得较好的视觉效果。
        (4)数据说明。
        先说明、后引用,应使数据便于理解和维护。
        (5)程序语句的结构。
        一般原则是:语旬简明、直观,直接反映程序设计意图,避免过分追求程序的技巧性,不能为追求效率而忽视程序的简明性、清晰性。应遵守如下规则。
        .每行写一个语句。
        .避免使用复杂的条件判断。
        .尽量减少使用否定的逻辑条件进行测试。
        .尽量减少循环嵌套和逻辑嵌套的层数。
        .应采用空格、括号等符号使复杂表达式的运算次序清晰直观。
        (6)输入和输出。
        输入输出注意以下内容。
        .针对用户的不同对象、特点和要求设计人机交互方式。
        .程序在运行过程中应有表明当前状态的说明信息。
        .交互式输入的请求应有明确的提示。
        .对于输出的方式与格式,允许用户进行选择和应答。
        .应设计完备的错误检测和恢复功能。
        (7)程序的运行效率。
        主要指计算机运行时间和存储空间两个方面,主要注意事项如下。
        .编写程序前应尽量简化算术表达式和逻辑表达式,并尽量用逻辑表达式。
        .尽量选用好的算法。
        .仔细研究循环嵌套,确定语句是否可以移出循环体。
        .尽量避免使用多维数组。
        .尽量避免使用指针和复杂的表。
        .充分利用语言环境提供的函数。
        .使用有良好优化特性的编译程序。
 
       程序设计
               类和继承
               1)类
               一个类是一些属性和方法的封装体,类的定义用关键字class声明,用关键字public、protected、 private指定类的成员的存取控制属性:private(私有)成员只有类内部的方法才能访问,protected(保护)成员派生类和同一文件夹下的类可以访问,public(公有)成员可以从类的外部访问。默认是public。这体现了面向对象的以下指导思想:尽量将类内部的细节隐藏起来,对类的属性的操作应该通过类的方法来进行。
               另外,public还可以用来修饰类,public类能够被其他文件夹下的类访问,非public类只能被同一文件夹下的类访问。一个.java文件中可以包含多个类,会被编译成多个.class文件,但只能有一个public类,而且该类名要和文件名一样。
               2)继承
               Java中用关键字extends表示类间的继承关系。父类的公有属性和方法成为子类的属性和方法,子类如果有和父类的同名、同参数类型的方法,那么子类对象在调用该方法时,调用的是子类的方法,亦即方法的重置。如果想要调用父类的同名方法,需要用super关键字(属性同理)。
               子类的对象可以作为祖先类的对象使用,即所谓类的向上转换,反之则不行。具体表现在:可以用子类对象来对祖先类对象赋值,可以用子类对象作为实参去调用以父类对象为形参的函数。
               对象的引用本质
               Java中的对象实际上是对象的引用,本质上和C语言中的指针是一样的;但也和C语言指针不尽相同,例如,不能自增、自减,不能强制转换成其他类型。
               例如:
               
               构造方法
               构造方法就是类的对象生成时会被调用的方法。每个类至少有一个构造方法(Constructor),也称构造函数。构造方法的名字和类名相同,没有任何返回类型。每个类都有一个默认的构造方法,但当用户自定义了构造方法后,默认的构造函数就不再有效了。
               重载
               同一个类中的两个或两个以上方法,名字相同,而参数个数不同或参数类型不同,称为重载。注意:不能有各方法名字和参数都一样,而仅仅返回值类型不同。
               静态属性和静态方法
               静态属性和静态方法的声明用关键字static实现,一个类的静态属性只有一份,由所有该类的对象共享。不需要创建对象也能访问类的静态属性和方法,访问方式为"类名.静态属性或静态方法",静态方法与对象无关,因此不能在静态方法中访问非静态属性和调用非静态方法。
               this和super关键字
               这两个关键字颇为重要。this代表当前对象,super代表当前对象的父类的东西。
               this主要用途有以下两个。
               (1)一个构造函数调用另一个构造函数,对构造函数的调用必须是第一条语句。
               (2)将对象自身作为参数来调用一个函数。
               super的用途如下:在子类中调用父类的同名方法,或在子类的构造函数中调用父类的构造函数,此时亦必须是第一条语句。
               多态
               所谓多态,是指通过基类对象调用一个基类和派生类都有的方法时,在运行时才能确定到底调用的是基类的方法还是派生类的方法。多态的好处是增加了程序的可扩展性。多态是通过动态联编实现的,即编译时不确定,程序运行时才确定调用哪个函数。
               抽象类与接口
               1)抽象类
               抽象类通过关键字abstract实现,抽象类的目的是定义一个框架,规定某些类必须具有的一些共性。
               包含抽象方法的类一定是抽象类,所谓抽象方法是指没有函数体的方法。
               抽象类的直接派生类必须实现其抽象方法;抽象类只能用于继承,不能创建对象。
               2)接口(Interface)
               接口用关键字interface声明,只能用于继承。注意:此时关键字为implements(实现)。接口用于替代多继承的概念,能实现多继承的部分特点,又避免了多继承的混乱,还能起到规定程序框架的作用。注意:接口也可以用于多态。
               直接继承了接口的类,必须实现接口中的抽象方法;间接的则可以实现,也可以不实现。
               3)抽象类与接口的异同
               接口和抽象类都不能创建对象。
               抽象类不能参与多继承,抽象类可以有非静态的成员变量,可以有非抽象方法;接口可以参与多继承,所有属性都是静态常量,所有方法都是public抽象方法。
               异常处理
               1)异常概念
               异常,即出错,比如0作为除数、找不到类、打开文件错误、数组越界等。异常如果不进行处理,那么程序运行就会结束;如果进行处理,那么会在执行完异常处理代码后继续运行。
               Java中所有异常类均继承自类Exception。
               Java中的异常类层次结构如下:
               
               此外,还有EOFException、 FileNotFoundException、 MalformedURLException等。
               2)捕获异常
               异常处理的典型用法如下,将可能出现异常的代码放在try块中,其后由一个或多个catch捕获相应异常进行处理,注意只执行第一个匹配的catch块,忽略后面的。
               
               如果某个方法中所产生的异常该方法自己没有处理,那么可以在调用该方法的方法中进行处理,如果自己处理了,那么调用它的方法就无法得到该异常。
               3)抛出异常
               异常除了运行中系统产生的之外,也可以主动抛出异常,用关键字throw,如throw new Exception()。注意:throw只能抛出Throwable子类的异常。
               4)带throws关键字的方法
               带throws关键字的方法声明如下:
               
               强制调用该方法的方法必须处理可能发生的异常,或者将异常重新定向。假定方法A带throws关键字,而方法B中调用了方法A,则方法B中必须有处理方法A中可能产生的异常的语句,或者方法B也带throws关键字,指明调用方法B的方法必须处理异常。
               final关键字
               用final关键字定义的常量,在其初始化或第一次赋值后,其值不能被改变。常量必须先有值,然后才能使用。对于常量的第一次赋值只能在构造函数中进行。
               final对象的值不能被改变,指的是该对象不能再指向其他对象,而不是指不能改变当前对象内部的属性值。
               函数参数声明为final后,函数中不能改变其值。
               final方法是不能被重置的方法。
               final类不能被继承,其所有方法都是final的,但属性可以不是final的。
   题号导航      2016年上半年 信息系统管理工程师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
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 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第51题    在手机中做本题