《软件设计模式》在线平时作业3
试卷总分:100 得分:100
一、单选题 (共 10 道试题,共 50 分)
1.已知a、b、c的值分别是4、5、6,执行下面的程序段后,判断变量n的值为:
int a,b,c,n;
if (c < b)
n = a + b + c;
else if (a + b < c)
n = c - a - b;
else
n = a + b;
A.9
B.3
C.15
D.-3
2.下面是几条动态初始化二维数组的语句,指出其中正确的:
A.int[,] arr8=new int[4,5];
B.int arr7[,]=new int[4,5];
C.int[][] arr6 = new int[4, 5];
D.int arr5[][]=new int[4,5];
3.接口Animal 定义如下:
public interface Animal
{
void Move();
}
则下列抽象类的定义中,哪些是不合法的?
A.abstract class Cat: Animal
{
virtual public void Move(){Console.Write(Console.Write("Move!");)}
}
B.abstract class Cat: Animal
{
public void Move(){Console.Write(Console.Write("Move!");)};
}
C.abstract class Cat: Animal
{
public void Eat(){Console.Write(Console.Write("Eat!");)};
}
D.abstract class Cat: Animal
{
abstract public void Move();
}
4.在C#中,引用命名空间system 的正确语句是:
A.using System;
B.uses System;
C.#include<System>;
D.#import<System>;
5.方法中的值参数是_________的参数。
A.按引用传递
B.按地址传递
C.按值传递
D.不传递任何值
6.在编写c#程序时,若需要对一个数组中的所有元素进行处理,则使用___循环体最好?
A.while循环
B.for循环
C.for each循环
D.do循环
7.C#中MyClass 为一自定义类,其中有以下方法定义public void Hello(){..}使用以下语句创建了该类的对象,并使变量obj 引用该对象:MyClass obj = new MyClass();那么,可如何访问类MyClass 的Hello 方法
A.obj::Hello();
B.obj.Hello()
C.MyClass::Hello();
D.MyClass.Hello();
8.下面有关析构函数的说法中,不正确的是:
A.用户可以定义有参析构函数
B.析构函数在对象被撤销时,被自动调用
C.析构函数中不可以包含return语句
D.一个类中只能有一个析构函数
9.判断下列类MyClass 的定义中哪些是合法的抽象类?
A.sealed abstract class MyClass { abstract int getCount(); }
B.private abstract class MyClass { abstract int getCount(); }
C.abstract class MyClass { public abstract int getCount(); }
D.abstract class MyClass { abstract int getCount(); }
10.以下关于类和对象的说法中,不正确的是:
A.类是同一类对象的抽象
B.类包含了数据和对数据的操作
C.可由抽象类生成对象
D.一个对象一定属于某个类
二、判断题 (共 10 道试题,共 50 分)
11.结构化程序设计的3种基本结构是顺序、循环和选择。
12.变换型数据流图的一般步骤是分析数据、变换数据、打印结果。
13.一个用户可能对应多个参与者,不同的用户也可以只对应于一个参与者。
14.不同的建模语言大多雷同,但仍存在细微差别,不过这并不妨碍用户之间的交流。
15.对于一个软件系统而言,至关重要的是其强大的功能,用户界面则是次要的。
16.结构化程序设计的一般步骤是结构化需求分析、结构化概要设计和结构化详细设计。
17.类和对象的区别就是,类是对象的实例,而对象则是类的抽象。
18.与事件关联的方法,其方法名必须与事件名相同。
19.软件开发是一个充满回溯的过程,而瀑布模型却将其分割为独立的几个阶段,不能从本质上反映软件开发过程本身的规律。
20.&&是位运算符,表示按位与运算,&是逻辑运算符,表示逻辑与运算。