[计算机类试卷]国家二级(C++)笔试模拟试卷78及答案与解析.doc
《[计算机类试卷]国家二级(C++)笔试模拟试卷78及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C++)笔试模拟试卷78及答案与解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C+)笔试模拟试卷 78及答案与解析 1 算法的空间复杂度是指 ( A)算法程序的长度 ( B)算法程序中的指令条数 ( C)算法程序所占的存储空间 ( D)算法执行过程中所需要的存储空间 2 下列关于队列的叙述中正确的是 ( A)在队列中只能插入数据 ( B)在队列中只能删除数据 ( C)队列是先进先出的线性表 ( D)队列是先进后出的线性表 3 在深度为 5的满二叉树中,叶子结点的个数为 ( A) 31 ( B) 32 ( C) 16 ( D) 15 4 下列叙述中正确的是 ( A)在模 块化程序设计中,一个模块应尽量多的包括与其他模块联系的信息 ( B)在自顶向下、逐步细化的
2、设计过程中,首先应设计解决问题的每一个细节 ( C)在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则 ( D)在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法 5 下列叙述中正确的是 ( A)程序执行的效率与数据的存储结构密切相关 ( B)程序执行的效率只取决于程序的控制结构 ( C)程序执行的效率只取决于所处理的数据量 ( D)以上三种说法都不对 6 在软件生存周期小,能准确地 确定软件系统必须做什么和必须具备哪些功能的阶段是 ( A)概要设计 ( B)详细设计 ( C)可行性分析 ( D)需求分析 7 软件需求分析阶段的工作,可以分为四个方面:需求获取,需求
3、分析,编写需求规格说明书,以及 ( A)阶段性报告 ( B)需求评审 ( C)总结 ( D)都不正确 8 在关系数据库中,用来表示实体之间联系的是 ( A)树结构 ( B)网结构 ( C)线性表 ( D)二维表 9 在面向对象的程序设计中,下列叙述中错误的是 ( A)任何一个对象构成一个独立的模块 ( B)一个对象 不是独立存在的实体,各个对象之间有关联,相互依赖 ( C)下一层次的对象可以继承上一层次对象的某些属性 ( D)上述三种说法都正确 10 将 E-R图转换到关系模式时,实体与联系都可以表示成 ( A)属性 ( B)关系 ( C)键 ( D)域 11 若有以下定义: int a=1,
4、2,3,4,5,6,7 char c1=b,c2=2; 则数值不为 2的表达式是 ( A) a1 ( B) d-c1 ( C) a3-c2 ( D) c2-0 12 面向对象程序设 计思想的主要特征中不包括 ( A)继承性 ( B)功能分解,逐步求精 ( C)封装性和信息隐藏 ( D)多态性 13 下面关于虚函数的描述中正确的是 ( A)虚函数是一个静态成员函数 ( B)虚函数是一个非成员函数 ( C)虚函数既可以在函数说明时定义,也可以在函数实现时定义 ( D)派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型 14 下列运算符中不能在 C中重载的是 ( A) ?: ( B) + (
5、 C) - ( D) = 15 模板函数的真正代码是在 ( )时候产生。 ( A) 源程序中声明函数时 ( B)源程序中定义函数时 ( C)源程序中调用函数时 ( D)运行执行函数时 16 若执行语句: cout setfill(*) setw(10) 123 “OK“ end1后将输出 ( A) *1230K ( B) 123*OK ( C) *123*OK ( D) 123*OK* 17 C语言中 while循环和 do-while循环的主要区别是 ( A) do-while的循环体至少无条件执行一 次 ( B) while的循环控制条件比 do-while的循环控制条件严格 ( C) d
6、o-while允许从外部转到循环体内 ( D) do-while的循环体不能是复合语句 18 设有以下程序段: int a5=0, *p, *q; p=a; q=a; 则下列选项中,合法的运算是 ( A) p+q ( B) p-q ( C) p*q ( D) P q 19 已知: int n=10;那么下列语句中错误的是 ( A) int*p=new longn; ( B) int pn; ( C) int*p=new long(n); ( D) int p10; 20 以下程序执行后的输出结果是 #include iostream using namcspace std; void try(
7、int,int,int,int); int main() int x, y, z, r; x=1; y=2; try(x,y,z,r); cout r end1; return 0; void try(int x,int y, int z,int r) z = x+y; x = x*x; y = y*y; r = z+x+y; ( A) 18 ( B) 9 ( C) 10 ( D)不确定 21 若有如下程序: #include iostream using namespaces std; int s=O; class sample static int n; public: sample(in
8、t i) n=i; static void add() s+=n; ; int sample:s=O; int main() sample a(2),b(5); sample: :add(); cout s end1; return 0; 程序运行后的输出结果是 ( A) 2 ( B) 5 ( C) 7 ( D) 3 22 下列类的定义中,有 ( ) 处语法错误。 class Base public: Base() Base(int i) data=i; private: int data; ; class Derive: public Base public: Derive(): Base(
9、O) Derive(int x) d=x; void setvalue(int i) data=i; private: d; ; ( A) 1 ( B) 2 ( C) 3 ( D) 4 23 c流中重载了运算符 ,它是一个 ( A)用于输出操作的成员函数 ( B)用于输入操作的成员函数 ( C)用于输入操作的非成员函数 ( D)用于输出操作的非成员函数 24 有如下函数模板定义: template typename T1,typename T2,typename T3 T2 plus T1 t1,T3 t3)return t1+t3; 则以下调用中正确是 ( A) plus(3,5L); (
10、B) plus (3, 5L); ( C) plus int (3,5L); ( D) plus int,double (3,5L); 25 下列打开文件的表达式中,错误的是 ( A) ofstream ofile; ofile open(“C: vcabc.txt“,ios:binary); ( B) fstream iofile; iofile open(“abc.txt“,ios:ate); ( C) ifstream ifile (“C:vc abc.txt“); ( D) cout.open(“C: vcabc.txt“,ios:binary); 26 假定 MyClass为一个类,
11、则该类的拷贝构造函数的声明语句为 ( A) MyClass class Base public: Base() x=0; int x; ; class Derivedl: virtual public Base public: Derived1() x=10; ; class Derived2: virtual public Base publici Derived2() x=20; ; class Derived :public Derived1,protected Derived2 ; int main() Derived obj; cout obj.x end1; return 0; 该
12、程序运行后的输出结果是 ( A) 20 ( B) 30 ( C) 10 ( D) 0 32 如果表达式 y*x+中, “*”是作为成员函数重载的运算符, “+”是作为友元函数重载的运算符,采用运算符函数调用格式,该表 达式还可表示为 ( A) x.operator+(0).operator*(y); ( B) operator*(x.operator+(0), y); ( C) y.operator*(operator+(x,O) ( D) operator*(operator+(x, 0), y) 33 关于类模板,下列表述不正确的是 ( A)用类模板定义一个对象时,不能省略实参 ( B)类
13、模板只能有虚拟类型参数 ( C)类模板本身在编译中不会生成任何代码 ( D)类模板的成员函数都是模板函数 34 有以下程序 #include iostream using namespace std; static int days =31,28,31,30,31,30,3l, 31, 30,31, 30,31; class date private: int month, day, year; public: date(int m, int d, int y) month=m; day=d; year=y; date() void disp() cout year “-“month “-“
14、day end1; date operator+(int day) date dt=*this; day+=dt.day; while(day daysdt.month 1) day-=daysdt.month-1; if(+dt.month=13) dt.month=1; dt.year+; dt.day=day; retrn dt; ; int main() date d1(6, 20, 2004), d2; d2=d1+20; d2.disp(); return 0; 执行后的输出结果是 ( A) 2004-7-10 ( B) 2004-6-20 ( C) 2004-7-20 ( D)程
15、序编译时出错 35 若有以下程序: #include iOStream using namespaces std; class A public: A() A(int i) x1=i; void dispa() cout“X1=“ x1 “,“: private; int x1; ; class B: public A public: B() B(int i): A(i+10) x2=i; void dispb() dispa(); cout “x2=“ x2 end1; private: int x2; ; int main() B b(2); b dispb() return 0; 程序运
16、行后的输出结果是 ( )。 ( A) x1=10,x2=2 ( B) x1=12,x2=10 ( C) x1=12,x2=2 ( D) x1=2,x2=2 36 在数据结构中,从逻辑上可以把数据结构分成线性结构和【 】。 37 在双链表中,每个节点有两个指针域,一个指向前驱节点,另一个指向【 】。 38 【 】是当前软件开发环境中富有特色的研究工作和发展方向。 39 数据库是指按照一定的规则存储在计算机中的【 】的集合,它能被各种用户共享。 40 模块的独立性一般用两个准则来度量,即模块间 的【 】和模块的内聚性。 41 设在主函数中有以下定义和函数调用语句,且 fun()函数为 void类型
17、,请写出fun()函数的首部【 】。 int main ( ) double s10 22; int n; fun (s); return 0; 42 给出以下程序的执行结果【 】。 #include iostream using namespace std; int n=1; void Fun(); int main () n+; Fun ( ); if (n 0) int n=5; cout “Block: n=“ n “, “; cout “Main: n=“ end1; return 0; void Fun ( ) int n=10; cout “Fun: n=“ n “,“; 43
18、C+的类继承中,默认的继承方式是【 】。 44 表达式 x=operator-(y, z)还可以表示为【 】。 45 如果一个函数模板声明列出了多个参数,则每个参数之间必须使用逗号隔开,每个参数都必须重复使用关键词【 】。 46 下面程序的运行结果为【 】。 #include iostream.h void main() unsigned char value=127; int total=100; value+; total+=value; cout total end1; A) 227 B) 100 C) 127 D) 27 47 有如下程序: #include iostream usin
19、g namespace std; class shapes protected: int x,y; public: void setvalue(int d, int w=0) x=d; y=w; virtual void disp()=0; ; class square : public shapes public: void disp() cout x*y end1; ; int main() shapes *ptr; square s1; ptr= ptr- setvalue(10,5); ptr- disp(); return 0; 执行上面的程序将输出【 】。 48 有以下程序: #i
20、nclude iostream #include fstream using namespace std; int main() fstream file; file.open(“abc.txt“, ios_base:in); if (! file ) cout “Can not open abc.txt“ end1; abort(); char ch; int i = 0; while ( ! file.eof() ) file.get(ch); i+; cout “Characters : “ i end1; file.close(); return 0; 程序实现的功能是【 】。 49
21、fun()函数的功能是:首先对 a所指的 N行 N列的矩阵,找出各行中的最大的数,再求这 N个最大值中的最小的那个数作为函数返回值。请填空完成此程序。 #define N 100 int fun(int (*A) N) int row, col, max, min; for(row=0; row for(max=arow0, col=1; col if(【 】 ) max=arowcol; if(row=0) min=max; else if(【 】 ) min=max; return min; 50 有以下程序: #include iostream using namespace std;
22、class CFactorial private: int value; int fact; public: CFactorial ( int val ); void CalculateFactorial(); void Display(); ; CFactorial : CFactorial( int val ) value = val; fact = 1; void CFactorial : CalculateFactorial() int i = value; while ( i 1 ) fact *= i-; void CFactorial : Display() cout value
23、 “!=“ fact end1; int main() CFactorial A( 5 ); A CalculateFactorial(); A Display(); return 0; 程序中,类 CPactorial的功能是【 】,该程序运行的结果是【 】。 国家二级( C+)笔试模拟试卷 78答案与解析 1 【正确答案】 D 【 试题解析】 算法的空间复杂度指执行这个算法所需要的内存空间。一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。正确答案为 D。 2 【正确答案】 C 【试题解析】 队列是指允许在一端进行插入、而在另一
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 笔试 模拟 78 答案 解析 DOC
