1、二级 C+模拟 495及答案解析(总分:173.50,做题时间:90 分钟)一、选择题(总题数:40,分数:73.50)1.下列字符串中不能作为 C+标识符使用的是_。(分数:2.00)A.DOUBLEB.abcC._5_D.xyz2.已知枚举类型声明语句为: enumCOLORWHITE,YELLOW,GREEN=5,RED,BLACK=10; 则下列说法中错误的是(分数:2.00)A.枚举常量 YELLOW的值为 1B.枚举常量 RED的值为 6C.枚举常量 BLACK的值为 10D.枚举常量 WHITE的值为 13.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统
2、阶段。 其中数据独立性最高的阶段是(分数:1.00)A.数据库系统B.文件系统C.人工管理D.数据项管理4.有以下程序: #include iostream #include fstream using namespace std; int main ( ) ofstream ofile; char ch; ofile.open (“abc.txt“); cinch; while (ch!=“#“ ) cinch; ofile.put(ch); ofile.close(); return 0; 当从键盘终端连续输入的字符为 a、b、c 和#时,文件 abc.txt中的内容为 _ 。(分数:1.
3、00)A.程序编译时出错B.abc#C.abcD.#5.下列叙述中正确的是(分数:2.00)A.实体集之间一对一的联系实际上就是一一对应的关系B.关系模型只能处理实体集之间一对一的联系C.关系模型属于格式化模型D.以上三种说法都不对6.有如下程序: #includeiostream #includecmath using std:cout; class Point public: friend double distance(const Point /p距原点的距离 Point(int xx=0, int yy=0):x(xx), y(yy) / private: int x, y; ; do
4、uble distance(const Point int main() Point p1(3, 4); coutdistance(p1); / return 0; 下列叙述中正确的是_。(分数:2.50)A.程序编译正确B.程序编译时语句出错C.程序编译时语句出错D.程序编译时语句出错7.面向对象的设计方法与传统的面向过程的方法有本质不同,它的基本原理是_。(分数:2.50)A.模拟现实世界中不同事物之间的联系B.强调模拟现实世界中的算法而不强调概念C.使用现实世界的概念抽象地思考问题从而自然地解决问题D.鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考8.决定 C语言中函数的返回值
5、类型的是(分数:2.00)A.return语句中的表达式类型B.调用该函数时系统随机产生的类型C.调用该函数时的主调用函数类型D.在定义该函数时所指定的数据类型9.有下列程序: #include stdio.h int fun(int a,int b) if(b=0) return a; else return(fun(-a,-b); void main() printf(“%d/n“,fun(4,2); 程序的运行结果是_。(分数:2.50)A.1B.2C.3D.410.在关系数据库中,用来表示实体间联系的是_。(分数:2.50)A.二维表B.树状结构C.属性D.网状结构11.已知枚举类型声
6、明语句为: enum COLORWHITE,YELLOW,GREEN=5,RED,BLACK=10; 则下列说法中错误的是_。(分数:2.00)A.枚举常量 YELLOW的值为 1B.枚举常量 RED的值为 6C.枚举常量 BLACK的值为 10D.枚举常量 WHITE的值为 112.以下正确的描述为(分数:2.00)A.每个 C+语言程序必须在开头用预处理命令:B.预处理命令必须位于 C+源程序的首部C.在 C+语言中预处理命令都以“#”开头D.C+语言的预处理命令只能实现宏定义和条件编译的功能13.关于抽象类下面说法正确的是(分数:1.00)A.抽象类就是其中有函数定义但没有实现的类B.抽
7、象类是可以被实例化的C.派生类不能成为抽象类D.抽象类的子类必须实现父类中的纯虚函数14.若有以下程序: #include iostream using namespace std; class Base private: int a,b; public: Base(int x, int y) a=x; b=y; void show() couta“, “bend1; ; class Derive : public Base private: int c, d; public: Derive(int x, int y, int z,int m):Base(x,y) c=z; d=m; void
8、 show() coutc“, “dend1; ; int main ( ) Base b(50,50) ,*pb; Derive d(10,20,30,40); pb= pb-show ); return 0; (分数:1.00)A.10,20B.30,40C.20,30D.50,5015.下面程序的运行结果是 #includeiostream,h void fun(int*a,int*b) int X= *a; * a= *b; *b=X; cout *a *b“ “; void main() int x=1, y=2; fun(B.Decr operator-(DecrC.friend
9、DecrD.friend Decr operator-(Decr17.下列有关类继承的叙述中,错误的是_。(分数:1.00)A.继承可以实现软件复用B.虚基类可以解决由多继承产生的二义性问题C.派生类构造函数要负责调用基类的构造函数D.派生类没有继承基类的私有成员18.索引属于_。(分数:2.50)A.模式B.内模式C.外模式D.概念模式19.若进栈序列为 a,b,c,则通过入出栈操作可能得到的 a,b,c 的不同排列个数为 _。(分数:2.00)A.4B.5C.6D.720.下面程序的运行结果是_。 #includeiostream.h void main() int i=1; while(
10、i=8) if(+i%3!=2)continue; clse couti; (分数:2.50)A.25B.36C.258D.36921.一个满二叉树其深度为 4,则其叶子节点的个数为 _ 。(分数:1.00)A.8B.16C.32D.422.下列叙述中正确的是_。(分数:1.00)A.栈是一种先进先出的线性表B.队列是一种后进先出的线性表C.栈与队列都是非线性结构D.以上三种说法都不对23.下列程序的运行结果为 #includeiostream.h void main( ) int a2; int ba1; cout a/b endl; (分数:2.00)A.0.66667B.0C.0.7D.
11、0.6666666624.有如下程序: #includeiostream using namespace std; int main() void function(double val); double val; function(val); coutval; return 0; void function(double val) val=3; 编译运行这个程序将出现的情况是_。(分数:2.00)A.编译出错,无法运行B.输出:3C.输出:3.0D.输出一个不确定的数25.下面描述正确的是_。(分数:1.00)A.软件测试是指动态测试B.软件测试可以随机地选取测试数据C.软件测试是保证软件质
12、量的重要手段D.软件测试的目的是发现和改正错误26.有如下程序: #includeiostream using namespace std; class CD public: CD() cout“C“; private: char name80); ; int main() CD a, *b, d2; return 0; 运行时的输出结果是_。(分数:2.50)A.CCCCB.CCCC.CCDC27.以下函数值的类型是 fun(float x) float y; y=3*x-4; return y; (分数:2.00)A.intB.不确定C.voidD.float28.若 AA为一个类,a 为
13、该类的私有整型数据成员,getA()为该类的一个非静态公有成员函数,功能是返回 a的值。如果 x为该类的一个对象,要在类外访问 x对象中 a的值,正确的访问格式为_。(分数:2.50)A.AA.getA()B.getA()C.aD.AA:a29.下列关于抽象类的表述中正确的是_。(分数:2.50)A.派生类必须要实现作为基类的抽象类中的纯虚函数B.抽象类的成员函数至少有一个没实现C.抽象类不可能用来定义对象D.派生类不能成为抽象类30.关系数据库管理系统能实现的专门关系运算包括_。(分数:1.00)A.排序、索引、统计B.选择、投影、连接C.关联、更新、排序D.显示、打印、制表31.运行以下程
14、序后,如果从键盘上输入 shose后回车,则输出结果为 _。 # includeiostream.h void main() int v1=0,v2=0,k=0; char ch80; cinch; while(chk) switch(chk) case “s“; case “h“; default: v1+1; case “o“: v2+; k+; coutv1 “,“v2end1; (分数:2.00)A.2, 0B.5, 0C.4, 5D.2, 532.已知类 Base和类 Derived的定义如下: class Base int n; public; Base(int d); n(d)
15、; class Derived: public Base public: _ ; 其中横线处应为类 Derived的构造函数的定义。 在下列构造函数的定义中正确的是_。(分数:2.50)A.Derived(int i)Base(i); B.Derived(int i): Base(i); C.Derived(int i)n=i; D.Derived(int i): n=i33.下面程序的输出结果是_。 #include iostream using namespace std; int fun(char *s); int main() coutfun(“Hello“); return 0; i
16、nt fun(char *s) char *t=s; while(*t!=“/0“)t+; return(t-s); (分数:3.00)A.语法错,不能输出正确结果B.5C.6D.034.对类的构造函数和析构函数描述正确的是 _ 。(分数:2.00)A.构造函数可以重载,析构函数不能重载B.构造函数不能重载,析构函数可以重载C.构造函数可以重载,析构函数也可以重载D.构造函数不能重载,析构函数也不能重载35.对关系 S和 R进行集合运算,产生的元组属于 S中的元组,但不属于 R中的元组,这种集合运算称为 _ 。(分数:2.00)A.并运算B.交运算C.差运算D.积运算36.执行下列语句段后 i
17、nt n=0;for(int i=70;i0;i-=3)n+; n的值是_。(分数:2.00)A.23B.24C.25D.7137.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS之间的关系是 _ 。(分数:2.00)A.DB包含 DBS和 DBMSB.DBMS包含 DB和 DBSC.DBS包含 DB和 DBMSD.没有任何关系38.有如下程序: # includc iostream using namespace std; class Test public: Test() Test(const Testt)cout1; ; Test fun(Testu)Test t=u;retu
18、rn t; int main()Test x,y;x=fun(y);return 0; 运行这个程序的输出结果是_。(分数:2.50)A.无输出B.1C.11D.11139.结构化程序设计的三种基本结构是_。(分数:1.00)A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移40.C+语言中关于构造函数的说法正确的是_。(分数:1.00)A.构造函数的函数名不必和类名相同B.构造函数只能有一个C.每个类必定有构造函数D.构造函数必有返回值二、基本操作题(总题数:1,分数:30.00)41.使用 VC6打开 proj1 下的工程 proj1,其中定义了一个 CD
19、类。程序中位于每个/ERROR*found*下的语句行有错误,请加以更正,不得修改程序的其他部分。更正后程序的输出应该是: 歌唱祖国 30 义勇军进行曲 95 注意:只能修改每个/ERROR*found*下的那一行,不要改动程序中的其他内容。 #includeiostream #includecstring using namespace std; class CD char name20; int number; public: void init(char*aa,int bb) /ERROR*found* name=aa; number=bb; char*getName() /ERROR*
20、found* return*name; int getNumber()return number;) void output() /ERROR*found* coutname20“numberendl; ; void main() CD dx,dy; dx.init(“歌唱祖国“,30); dy.init(“义勇军进行曲“,3*dx.getNumber()+5); dx.output(); dy.output(); (分数:30.00)_三、简单应用题(总题数:1,分数:30.00)42.请使用 VC6或使用【答题】菜单打开 proj2 下的工程 proj2,该工程中含有一个源程序文件proj
21、2.cpp,其中定义了 CharShape类、Triangle 类和 Rectangle类。 CharShape是一个抽象基类,它表示由字符组成的图形(简称字符图形),纯虚函数 Show用于显示不同字符图形的相同操作接口。Triangle 和 Rectangle是 CharShape的派生类,它们分别用于表示字符三角形和字符矩形,并且都定义了成员函数 Show,用于实现各自的显示操作。程序的正确输出结果应为: * * * * # # # 请阅读程序,分析输出结果,然后根据以下要求在横线处填写适当的代码并删除横线。 (1)将 Triangle类的成员函数 Show补充完整,使字符三角形的显示符合
22、输出结果。 (2)将 Rectangle类的成员函数 Show补充完整,使字符矩形的显示符合输出结果。 (3)为类外函数 fun添加合适的形参。 注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“/ *found*”。 / proj2.cpp #include iostream using namespace std; class CharShape public: CharShape(char ch) : _ch(ch) ; virtual void Show() = 0; protected: char _ch; /组成图形的字符 ; class Triangle
23、 : public CharShape public: Triangle (char ch, int r) : CharShape(ch), _rows(r) void Show(); private: int _rows; /行数 ; class Rectangle: public CharShape public: Rectangle (char ch, int r, int c) : CharShape (ch), _rows(r), _cols(c) void Show (); private : int _rows, _cols; /行数和列数 ; void Triangle:Sho
24、w() /输出字符组成的三角形 for (int i = 1; i = _rows; i +) / *found* for (int j = 1; j =_; j +) cout _ch; cout endl; void Rectangle:Show() /输出字符组成的矩形 / *found* for (int i = 1; i =_; i+) / *found* for (int j = 1; j =_; j+) cout _ch; cout endl; / *found* 为 fun函数添加形参 void fun (_) cs. Show(); int main() Triangle t
25、ri (“*“, 4); Rectangle rect(“#“, 3, 8); fun(tri); fun(rect); return 0; (分数:30.00)_四、综合应用题(总题数:1,分数:40.00)43.请使用 VC6或使用【答题】菜单打开 proj3 下的工程文件 proj3,此工程中包含一个源程序文件proj3.cpp,其功能是从文本文件 in.dat中读取全部整数,将整数序列存放到 intArray类的对象中,然后建立另一对象 myArray,将对象内容赋值给 myArray。类 intArray重载了“=”运算符。程序中给出了一个测试数据文件 input,不超过 300个的
26、整数。程序的输出是: 10 11 13 16 20 要求: 补充编制的内容写在“/ *333*”与“/ *666*”之间。实现重载赋值运算符函数,并将赋值结果在屏幕输出。格式不限。不得修改程序的其他部分。 注意:程序最后将结果输出到文件 out.dat中。输出函数 writeToFile已经编译为 obj文件,并且在本程序中调用。 /intArray.h class intArray private: int * array; int length; public: intArray(char * filename); intArray(); intArray intArray(); void
27、 show(); ; void writeToFile(const char * path); /main.cpp #include iostream #include fstream #include cstring #include “intArray.h“ using namespace std; intArray:intArray() length = 10; array = new intlength; intArray:intArray (char * filename) ifstream myFile(filename); array = new int300; length =
28、 0; while(myFile arraylength +) length -; myFile.close(); intArray length = src.length; array = new intlength; / *333* / *666* return * this; intArray:intArray() delete array; void intArray:show() int step=0; for(int i=0; ilength; i=i+step) cout arrayi endl; step +; void main() intArray * arrayP = n
29、ew intArray (“input.dat“); intArray myArray; myArray = * arrayP; (* arrayP).show(); delete arrayP; writeToFile(“ “); (分数:40.00)_二级 C+模拟 495答案解析(总分:173.50,做题时间:90 分钟)一、选择题(总题数:40,分数:73.50)1.下列字符串中不能作为 C+标识符使用的是_。(分数:2.00)A.DOUBLEB.abc C._5_D.xyz解析:2.已知枚举类型声明语句为: enumCOLORWHITE,YELLOW,GREEN=5,RED,BLAC
30、K=10; 则下列说法中错误的是(分数:2.00)A.枚举常量 YELLOW的值为 1B.枚举常量 RED的值为 6C.枚举常量 BLACK的值为 10D.枚举常量 WHITE的值为 1 解析:解析 枚举变量中的枚举元素系统是按照常量来处理的。如果没有进行元素赋值操作,那么元素将会被系统从 0开始自动递增地进行赋值操作,但是,如果一旦定义了某一个元素的值,那么系统将对下一个元素进行按前一个元素的值加 1操作,故 wHITE=1,YELLOW=2,GREEN=5,RED=6,BLACK=10。3.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。 其中数据独立性最高的
31、阶段是(分数:1.00)A.数据库系统 B.文件系统C.人工管理D.数据项管理解析:解析:人工管理阶段是在 20世纪 50年代中期以前出现的,数据不独立,完全依赖于程序;文件系统是数据库系统发展的初级阶段,数据独立性差;数据库系统具有高度的物理独立性和一定的逻辑独立性。4.有以下程序: #include iostream #include fstream using namespace std; int main ( ) ofstream ofile; char ch; ofile.open (“abc.txt“); cinch; while (ch!=“#“ ) cinch; ofile.p
32、ut(ch); ofile.close(); return 0; 当从键盘终端连续输入的字符为 a、b、c 和#时,文件 abc.txt中的内容为 _ 。(分数:1.00)A.程序编译时出错B.abc#C.abc D.#解析:解析 本题程序的功能是将从键盘终端输入的内容存储到指定的文件中。5.下列叙述中正确的是(分数:2.00)A.实体集之间一对一的联系实际上就是一一对应的关系B.关系模型只能处理实体集之间一对一的联系C.关系模型属于格式化模型D.以上三种说法都不对 解析:解析 实体集之间一对一的联系不一定是一一对应的关系。例如,在一个教室中,实体集“学生”与实体集“座位”之间是一对一的联系。
33、因为实体集“学生”中的每一个学生最多与实体集“座位”中的一个座位有联系(学生坐在该座位上);并且,实体集“座位”中中的每一个座位也最多与实体集“学生”中的一个学生有联系(座位上坐着该学生)。但该教室中的学生与座位之间不一定是一一对应的关系,因为有可能某些座位是空的,没有学生去坐。因此,选项 A)中的说法是错误的。在关系模型中,由于使用表格数据来表示实体之间的联系,因此,可以直接描述多对多的实体联系。因此,选项 B)中的说法也是错误的。 关系模型是与格式化模型完全不同的数据模型,它与层次模型、网状模型相比有着本质的区别。关系模型是用表格数据来表示实体本身及其相互之间的联系,它是建立在数学理论基础
34、上的。因此,选项 C)中的说法也是错误的。6.有如下程序: #includeiostream #includecmath using std:cout; class Point public: friend double distance(const Point /p距原点的距离 Point(int xx=0, int yy=0):x(xx), y(yy) / private: int x, y; ; double distance(const Point int main() Point p1(3, 4); coutdistance(p1); / return 0; 下列叙述中正确的是_。(
35、分数:2.50)A.程序编译正确 B.程序编译时语句出错C.程序编译时语句出错D.程序编译时语句出错解析:解析 该题考查的内容是含参构造函数以及友元函数的相关知识,为含参构造函数,这里涉及默认参数的问题,当未传递参数时用默认参数,当传递参数时就不使用默认参数。为友元函数定义形式,定义友元函数不用加关键字 friend。为友元函数在主函数中的调用,如果一个函数被定义为友元函数就可以访问该类中的所有成员。故该程序编译成功,正确答案为 A。7.面向对象的设计方法与传统的面向过程的方法有本质不同,它的基本原理是_。(分数:2.50)A.模拟现实世界中不同事物之间的联系B.强调模拟现实世界中的算法而不强
36、调概念C.使用现实世界的概念抽象地思考问题从而自然地解决问题 D.鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考解析:解析 面向对象设计通过对人类认识客观世界及事物发展过程的抽象,建立了规范化的分析设计方法,由此带来软件模块化特色突出、可读性好、易维护等一系列优点。8.决定 C语言中函数的返回值类型的是(分数:2.00)A.return语句中的表达式类型B.调用该函数时系统随机产生的类型C.调用该函数时的主调用函数类型D.在定义该函数时所指定的数据类型 解析:解析 C语言中,在定义该函数时所指定的数据类型决定函数的返回值类型。9.有下列程序: #include stdio.h int
37、 fun(int a,int b) if(b=0) return a; else return(fun(-a,-b); void main() printf(“%d/n“,fun(4,2); 程序的运行结果是_。(分数:2.50)A.1B.2 C.3D.4解析:解析 本题考查递归函数的使用。fun(4,2)-fun(2,0),由于 b等于 0,故返回值为 2。反之,fun(4,2)=2。10.在关系数据库中,用来表示实体间联系的是_。(分数:2.50)A.二维表 B.树状结构C.属性D.网状结构解析:解析 关系数据库使用的是关系模型,用二维表来表示实体间的关系。属性是客观事物的一些特性,在二维
38、表中对应于列。数据库模型分为:层次模型、网状模型、关系模型、面向对象模型。层次模型采用树状结构,网状模型采用网状结构。11.已知枚举类型声明语句为: enum COLORWHITE,YELLOW,GREEN=5,RED,BLACK=10; 则下列说法中错误的是_。(分数:2.00)A.枚举常量 YELLOW的值为 1B.枚举常量 RED的值为 6C.枚举常量 BLACK的值为 10D.枚举常量 WHITE的值为 1 解析:解析 此题考查的是枚举类型的声明。声明枚举类型的语法形式为:enum 类型名枚举值表。需注意的是:当 n个枚举值全部未赋常量值时,它们自左至右分别与整数 0、1、2、3.n-
39、1 对应;若第 i个枚举值赋常量值为 m,则其未赋常量值的后续枚举值分别与整数 m+1、m+2.对应,直到下一个赋了值的枚举值或结束。12.以下正确的描述为(分数:2.00)A.每个 C+语言程序必须在开头用预处理命令:B.预处理命令必须位于 C+源程序的首部C.在 C+语言中预处理命令都以“#”开头 D.C+语言的预处理命令只能实现宏定义和条件编译的功能解析:解析 本题中,A 和 B的描述是一样的,故可以捧除。在 C+中,建议用 inline函数取代 C语言中的宏定义功能。13.关于抽象类下面说法正确的是(分数:1.00)A.抽象类就是其中有函数定义但没有实现的类B.抽象类是可以被实例化的C
40、.派生类不能成为抽象类D.抽象类的子类必须实现父类中的纯虚函数 解析:解析:C+语言中的抽象类就是类中至少有一个纯虚函数的类,抽象类不能被实例化,继承抽象类的类必须实现抽象类中的纯虚函数。14.若有以下程序: #include iostream using namespace std; class Base private: int a,b; public: Base(int x, int y) a=x; b=y; void show() couta“, “bend1; ; class Derive : public Base private: int c, d; public: Derive
41、(int x, int y, int z,int m):Base(x,y) c=z; d=m; void show() coutc“, “dend1; ; int main ( ) Base b(50,50) ,*pb; Derive d(10,20,30,40); pb= pb-show ); return 0; (分数:1.00)A.10,20 B.30,40C.20,30D.50,50解析:解析 本题考核基类指针的使用。本题首先定义了一个基类 Base和一个由 Base派生出来的派生类 Derive。在主函数中,定义了一个基类 Base指针吵和基类对象 b,还定义了派生类 Derive的
42、对象 do然后将派生类对象 d的地址赋值给指向基类 Base的指针 pb。由于 Derive是 Base的子类型,因此允许上述赋值。但这时指针 pb只能使用从基类 Base继承的成员,即当 pb指向 d对象时,pb-show 还是调用基类 Base的成员函数 show()。所以程序最后输出的是对象 d中对基类成员的初始化值,即 10,20。15.下面程序的运行结果是 #includeiostream,h void fun(int*a,int*b) int X= *a; * a= *b; *b=X; cout *a *b“ “; void main() int x=1, y=2; fun(B.D
43、ecr operator-(DecrC.friend DecrD.friend Decr operator-(Decr 解析:解析 非成员函数重载用友元函数的形式实现,“-”运算符重载分为前置和后置两种重载方式。用友元函数来实现“-”运算符的重载时,前置“-”运算符的重载的一般格式为:friendtypeoperator-(ClassName while(i=8) if(+i%3!=2)continue; clse couti; (分数:2.50)A.25B.36C.258 D.369解析:解析 应该先做+运算,然后进行%运算,最后比较不等式,实际上最后输出的结果就是被 3除,余数为 2的不大
44、于 8的数。21.一个满二叉树其深度为 4,则其叶子节点的个数为 _ 。(分数:1.00)A.8 B.16C.32D.4解析:解析 若深度为 k,则叶子节点的个数为 2k-1,这是满二叉树的性质之一。22.下列叙述中正确的是_。(分数:1.00)A.栈是一种先进先出的线性表B.队列是一种后进先出的线性表C.栈与队列都是非线性结构D.以上三种说法都不对 解析:解析 栈是一种先进后出的线性表,队列是一种先进先出的线性表,栈与队列都是线性结构。23.下列程序的运行结果为 #includeiostream.h void main( ) int a2; int ba1; cout a/b endl; (
45、分数:2.00)A.0.66667B.0 C.0.7D.0.66666666解析:解析 表达式值的类型是由操作数的类型决定的,因为本题的两个数都是 int型的,所以得出的结果也为 int型,即去掉小数点后的部分,只取商的整数部分。24.有如下程序: #includeiostream using namespace std; int main() void function(double val); double val; function(val); coutval; return 0; void function(double val) val=3; 编译运行这个程序将出现的情况是_。(分数:2.00)A.编译出错,无法运行B.输出:3C.输出:3.0D.输出一个不确定的数 解析:25.下面描述正确的是_。(分数:1.00)A.软件测试是指动态测试B.软件测试可以随机地选取测试数据C.软件测试是保证软件质量的重要手段 D.软件测试的