[计算机类试卷]国家二级(C++)笔试模拟试卷73及答案与解析.doc
《[计算机类试卷]国家二级(C++)笔试模拟试卷73及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C++)笔试模拟试卷73及答案与解析.doc(24页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C+)笔试模拟试卷 73及答案与解析 1 在一个长度为 n的线性表中删除一个元素,最坏情况下需要移动的数据元素数目为 ( )。 ( A) 1 ( B) n-1 ( C) n+1 ( D) n 2 2 下列叙述中,正确的是 ( )。 ( A)入栈运算只需将新元素插到栈顶指针指向的位置 ( B)出栈运算只需将栈顶元素赋给一个指定变量 ( C)出栈运算与读栈顶元素是相同的操作 ( D)读栈顶元素不删除栈顶元素 3 在一个单链表 HL中,若要向表头插入一个由指针 p指向的节点,则需要执行语句序列 ( )。 ( A) HL=p; p- next=HL; ( B) p- next=HL; HL
2、=p; ( C) p- next=HL; p=HL; ( D) p- next=HL- next; HL- next=p 4 已知二叉树的前序序列为 ABDCEFG,中序序列为 DBCAFEG,则其后序序列为( )。 ( A) DCBAFGE ( B) DCBFGEA ( C) DCBFEGA ( D) DCBGFEA 5 一组记录的排序码为 (46, 79, 56, 38, 40, 84),则利用快速排序的方法,以第一个记录为基准得 到的一次划分结果为 ( )。 ( A) 38, 40, 46, 56, 79, 84 ( B) 40, 38, 46, 79, 56, 84 ( C) 40,
3、38, 46, 56, 79, 84 ( D) 40, 38, 46, 84, 56, 79 6 下列关于严格控制 goto语句使用的理解中,错误的是 ( )。 ( A)用一个非结构化的程序设计语言实现一个结构化的构造 ( B)若不使用 goto语句会使功能模糊 ( C)在某种可以改善而不是损害程序可读性的情况下 ( D) goto语句可以完全不用 7 下面不属于软件设计原则的是 ( )。 ( A)抽象 ( B)模块化 ( C)自底向上 ( D)信息隐蔽 8 规范化理论中消除其中多余的数据相关性是靠分解 ( )。 ( A)关系运算 ( B)内模式 ( C)外模式 ( D)视图 9 常用的关系运
4、算是关系代数和 ( )。 ( A)集合代数 ( B)逻辑演算 ( C)关系演算 ( D)字段 10 源程序中应包含一些内部文档,以帮助阅读和理解源程序,源程序的内部文档通常包括选择合适的标识符、注解和 ( )。 ( A)程序的视觉组织 ( B)尽量不用或少用 GOTO语句 ( C)检查输入数据的有效性 ( D)设计良好的输出报表 11 下列关于类概念的描述中,错误的是 ( )。 ( A)类是抽象数据类型的实现 ( B)类是具有共同行为的若干对象的统一描述体 ( C)类是创建对象的模板 ( D)类就是 C语言中的结构类型 12 字符串常量 “hello“的字符个数是 ( )。 ( A) 3 (
5、B) 4 ( C) 5 ( D) 6 13 “or(int x=0, y=0; !x int main () int a=1,4,5; int *p= for (y=0; y 3; y+) z= ( (* (p+y) x) ? *(p+y) :x); cout z end1; return 0; 程序运行后的输出结果是 ( )。 ( A) 1 ( B) 4 ( C) 5 ( D) 2 22 以下 4个程序中,不能实现两个实参值进行交换的是 ( )。 ( A) void swap (float *p, float *q) float *t ,a; t = t = p; *p = *q; *q =
6、 *t; void main () float x = 8.0;y = 9.0; swap ( cout x “, “ y ( B) void swap (float *p, float *q) float a; a = *p; *p = *q; *q = a; void main() float x = 8.0;y = 9.0; swap ( cout x “, “ y end1; ( C) void swap (float *p, float *q) float x; x = *p; *p = *q; *q = x; void main() float a,b.; *a = 8.0;*b
7、= 9.0; swap (a, b) ; ( D) void swap (float a = p; p = q; q = a; void main() float a = 8.0,b = 9.0; swap (a,b); cout x “, “ y 23 有以下程序: #include iostream #include string using namespace std; int main () char s=“n123“; cout strlen (s) “, “ sizeof (s) end1; return 0; ( A)赋初值的字符串有错 ( B) 6,7 ( C) 5,6 ( D
8、) 6,6 24 若有如下程序: #include iostream using namespace std; int s=0; class sample static int n; public: sample (int i) n=i; static void add() s+=n; ; int sample: :s=0; int main () sample a(2),b(5); sample: add (); cout s end1; return 0; 程序运行后的输出结果是( )。 ( A) 2 ( B) 5 ( C) 7 ( D) 3 25 有以下程序: #include iost
9、ream using namespace std; class B private: int a,b; public: B() B(int i,int j); void printb(); ; class A B C; public: A() A(int i,int j); void printa(); ; A:A(int i,int j) :c(i,j) void A:printa() c.printb (); B:B(int i, int j) a=i; b=j; void B: :printb() cout a “, “ b end1; int main () A m(7,8); m.p
10、rinta(); return 0; 该程序运行后的输出结果是 ( )。 ( A) 5,6 ( B) 7,8 ( C) 8,9 ( D) 9,10 26 为了使程序的输出的正确结果为: Now is 2004 7.10 10: 10: 10 那么应在下列程序划线处填入的正确语句是 ( )。 那么应在下列程序划线处填入的正确语句是 ( )。 #include iostream using namespace std; class TIME; class DATE public: DATE(int y=2004,int m=1,int d=1) year=y; month=m; day=d; fr
11、iend void DateTime(DATE private: int year, month, day; ; class TIME public: TIME(iht h=0, int m=0,int s=0) hour=h; minute=m; second=s; friend void DateTime(DATE private: int hour,minute, second; ; _ /函数 DateTime 的首部 cout “Now is“ d.year . d.month . d.day t.hour “:“ t.minute : t.second .end1; int mai
12、n ( ) DATE d(2004,7,10); TIME t(10, 10, 10); DateTime(d,t); return 0; ( A) void DateTime(DATE class A private: int x; protected: int y; public: int z; void setx(int i) x=i; int getx () return x; ; class B : protected A public: void setvalue(int a, int b, int c) setx (a); y=b; z=c; void display() cou
13、t getx ( ) “, “ y “, “ z “, “ end1; ; int main () B obj; obj.setvalue(5, 6, 7); obj.display ( ); return 0; 程序运行后的输出结果是 ( )。 ( A)产生语法错误 ( B) 7,6,5 ( C) 5,6,7 ( D) 7,5,6 28 若有以下程序 : #include iostream using namespace std; class A protected: int a; public: A() a=10; ; class A1 : public A public: A1() a=
14、a+1; ; class A2 : public A public: A2 () a=a+2; ; class B : public A1,public A2 public: B() void print() cout a end1; ; int main ( ) B obj; obj.print(); return 0; 程序运行后的输出结果是 ( )。 ( A)产生语法错误 ( B) 11 ( C) 12 ( D) 10 29 有以下程序: #include iostream using namespace std; class Base public: Base() virtual vo
15、id who() cout “Base Class“end1; Base() ; class Derivel : public Base public: void who() cout “Derivel Class“ end1; ; class Derive2 : public Base public: void who () cout “Derive2 Class“end1; ; int main () Base *p; Derivel obj1; Derive2 obj2; p= p= p- who ( ); return 0; 执行程序后的输出结果是 ( )。 ( A) Base Cla
16、ss ( B) Derivel Class ( C) Derive2 Class ( D)程序编译时出错 30 在进行了任何 C+流的操作后,都可以用 C+流的有关成员函数检测流的状态,其中用于是否进行了非法操作的函数名是 ( )。 ( A) fail ( B) eof ( C) bad ( D) good 31 已知序列 17,18,60,40,7,32,73,65,85,采用冒泡排序法对该序列作降序排序时,第 4趟的结果是【 】。 32 【 】是按照程序语句行的自然顺序,依次执行语句。 33 调试方法中的【 】最适合小规模程序的排错。 34 若 a=12,b=14,c=0,则表达式 “(y
17、=(aB) ?a: B) C) ?y: c”的值为【 】。 35 函数 sstrcmp()的功能是对两个字符串进行比较。当 s所指字符串和 t所指字符串相等时,返回值为 0:当 s所指字符串大于 t所指字符串时,返回值大于 0;当 s所指字符串大于 t所指字符串时,返回值大于 0(功能等同于 strcmp()。请填空。 int Sstrcmp(char *S, char *t) while(*s return 【 】 ; 36 若有以下程序: #include iostream using namespace std; int f(int x, int y) return (y-x)*x; i
18、nt main() int a=3,b=4,c=5,d; d=f(f(a,b) ,f(a,c) ); cout d end1; return 0; 执行后的输出结果是【 】。 37 如果一个数组中的每个元素都是同一类的对象,则该数组被称为【 】。 38 表达式 c3=c1.operator+(c2)或 c3=operator+(c1,c2)还可以表示为【 】 39 下面程序的打印结果是【 】。 #include iostream using namespace std; class Base public: Base(int x) a=x; void show() cout a; privat
19、e: int a; ; class Derived : public Base public: Derived(int i) :Base(i+1) ,b(i) void show() cout b; private: int b; ; int main ( ) Base b(5) , *pb; Derived d(1); pb= pb- show(); return 0; 40 有如下程序: #include iostream using namespace std; class AA public: virtual void f() cout “AA“; ; class BB : publi
20、c AA public: BB() cout “BB“; ; class CC : public BB public: virtual void f() BB:f(); cout “CC“; ; int main() AA aa,*p; BB bb; CC cc; p= p- f(); return O; 运行后的输出结果【 】 41 若有以下程序: #include iostream using namespace std; int main() char str10; cin str; cout str end1; return 0; 当输入为: This is a program! 那么
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 笔试 模拟 73 答案 解析 DOC
