[计算机类试卷]国家二级(C++)笔试模拟试卷58及答案与解析.doc

上传人:赵齐羽 文档编号:502763 上传时间:2018-11-29 格式:DOC 页数:20 大小:54.50KB
下载 相关 举报
[计算机类试卷]国家二级(C++)笔试模拟试卷58及答案与解析.doc_第1页
第1页 / 共20页
[计算机类试卷]国家二级(C++)笔试模拟试卷58及答案与解析.doc_第2页
第2页 / 共20页
[计算机类试卷]国家二级(C++)笔试模拟试卷58及答案与解析.doc_第3页
第3页 / 共20页
[计算机类试卷]国家二级(C++)笔试模拟试卷58及答案与解析.doc_第4页
第4页 / 共20页
[计算机类试卷]国家二级(C++)笔试模拟试卷58及答案与解析.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、国家二级( C+)笔试模拟试卷 58及答案与解析 1 数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算,以及 ( A)数据的存储结构 ( B)计算方法 ( C)数据映象 ( D)逻辑存储 2 串的长度是 ( A)串中不同字符的个数 ( B)串中不同字母的个数 ( C)串中所含字符的个数且字符个数大于零 ( D)串中所含字符的个数 3 在计算机中,算法是指 ( A)加工方法 ( B)解题方案的准确而完整的描述 ( C)排序方法 ( D)查询方法 4 以下不属于对象的 基本特点的是 ( A)分类性 ( B)多态性 ( C)继承性 ( D)封装性 5 开发软件所需高成本

2、和产品的低质量之间有着尖锐的矛盾,这种现象称做 ( A)软件投机 ( B)软件危机 ( C)软件工程 ( D)软件产生 6 下面不属于软件设计原则的是 ( A)抽象 ( B)模块化 ( C)自底向上 ( D)信息隐蔽 7 开发大型软件时,产生困难的根本原因是 ( A)大系统的复杂性 ( B)人员知识不足 ( C)客观世界千变万化 ( D)时间紧、任务重 8 下列 SQL语句中,用于修改表结构的是 ( A) ALTER ( B) CREATE ( C) UPDATE ( D) INSERT 9 数据库、数据库系统和数据库管理系统之间的关系是 ( A)数据库包括数据库系统和数据库管理系统 ( B)

3、数据库系统包括数据库和数据库管理系统 ( C)数据库管理系统包括数据库和数据库系统 ( D) 3者没有明显的包含关系 10 关系模型允许定义 3类数据约束,下列不属于数据约束的是 ( A)实体完整性约束 ( B)参照完整性约束 ( C)域完整性约束 ( D)用户自定义的完整性约束 11 下列关于 C+语言类的 描述中错误的是 ( A)类用于描述事物的属性和对事物的操作 ( B)类与类之间通过封装而具有明确的独立性 ( C)类与类之间必须是平等的关系,而不能组成层次结构 ( D)类与类之间可以通过一些方法进行通信和联络 12 C+语言中,表示一条语句结束的标号是 ( A) # ( B); ( C

4、) / ( D) 13 以下叙述中正确的是 ( A)构成 C+语言程序的基本单位是类 ( B)可以在一个函数中定义另一个函数 ( C) main()函数必须放在其他函数之前 ( D)所有被调用的函数一定要在调用之前进 行定义 14 已知有定义 const int D=5; int i=1; double f=0.32; char c=15; 则下列选项错误的是 ( A) +i; ( B) D-; ( C) c+; ( D) -f; 15 以下程序的输出结果是 #include iostream h void reverse(int a, int n) int i , t; for(i=0; n

5、/2;i+) t=ai=ai =an-1-i; an-1-i=t; void main() int b10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10; int i, s=0; reverse(b,8); for(i=6;i 10;i+)s+=bi; cout s; ( A) 22 ( B) 10 ( C) 34 ( D) 30 16 下面程序的功能是把 316表示为两个加数的和,使两个加数分别能被 13和 11整除,在划线处应填入的选项是 #include iostream h Void main() int i=0, j, k; doi+; k=316-13*i; whil

6、e( ); j=k/11; cout “316=13*“ i “+11*“ j; ( A) k/11 ( B) k%11 ( C) k/11 0 ( D) k%11=0 17 设有数组定义: char array=“China“;,则数组 array所占的空间为 ( A) 4个字节 ( B) 5个字节, ( C) 6个字节 ( D) 7个字 节 18 若已定义: int a=0, 1, 2, 3, 4, 5, 6, 7, 8, 9, *p=a, i; 其中0i9,则对 a数组元素不正确的引用是 ( A) ap-a ( B) *( 3; i+) cout a2-ii “ “; ( A) 1 5

7、9 ( B) 7 5 3 ( C) 3 5 7 ( D) 5 91 22 下面程序的结果为 #include iostream h int C; class A private: int a; static int b; public: A() a=0; c=0; void seta()a+; voidsetb()b+; voidsetc()c+; void display() cout a “ “ b “ ” c; ; int A b=0; void main() A a1, a2; a1 seta(); a1 setb(); a1 setc(); a2 seta(); a2 seth();

8、 a2 setc(); a2 display(); ( A) 1 2 1 ( B) 1 2 2 ( C) 1 1 2 ( D) 2 2 2 23 下列描述中哪个是正确的 ? ( A)私有派生的子类无法访问父类的成员 ( B)类 A的私有派生子类的派生类 C无法初始化其祖先类 A对象的属性,因为类 A的成员对类 C是不可访问的 ( C)私有派生类不能作为基类派生子类 ( D)私有派生类的所有子孙类将无法继续继承该类的成员 24 下列关于构造函数说法不正确的是 ( A)构造函数必须与类同名 ( B)构造函数可以省略不写 ( C)构造函数必须有返回值 ( D)在构造函数中可以对 类中的成员进行初始化

9、 25 如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是 ( A)一元运算符 ( B)二元运算符 ( C)选项 A)和选项 B)都可能 ( D)重载错误 26 在重载一个运算符时,如果其参数表中有一个参数,则说明该运算符是 ( A)一元成员运算符 ( B)二元成员运算符 ( C)一元友元运算符 ( D)选项 B)和选项 C)都可能 27 下列关于模板的说法正确的是 ( A)模板的实参在任何时候都可以省略 ( B)类模板与模板类所指的是同一概念 ( C)类模板的参数 必须是虚拟类型的 ( D)类模板中的成员函数全部都是模板函数 28 表示在输出时显示小数位,和在文件输入时判断

10、文件尾的函数分别是 ( A) showbase()和 eof() ( B) showpoint()和 eof() ( C) showpoint()和 bad() ( D) showpoint()和 good() 29 下面程序段的运行结果是 void main() int t, a, b, c; a=1; b=2;C=2; while(a b c) t=a; a=b; b=t; c-; cout a “ , “ b “ , “ c; ( A) 1, 2, 0 ( B) 2, 1, 0 ( C) 1, 2, 1 ( D) 2, 1, 1 30 下列程序中画线处应填入的语句是 class Base

11、 public: void fun()cout “Base of fun“ end1: ; class Derived: public Base void fun() _/显示基类的成员函数 fun cout “Derived of fun“ end1; ; ( A) fun(); ( B) Base fun(); ( C) Base fun(); ( D) Base- fun(); 31 若定义 int k=7, x=12;,则能使值为 3的表达式是 ( A) x%=(k%=5) ( B) x%=(k-k%5) ( C) x%=k-k%5 ( D) (x%=k)-(k%=5) 32 在位运算

12、中,操作数每右移一位,其结果相当于 ( A)操作数乘以 2 ( B)操作数除以 2 ( C)操作数乘以 4 ( D)操作数除以 4 33 有以下结构体说明和变量的定义,且指针 p指向变量 a,指针 q指向变量 b。则不能把结点 b连接到结点 a之后的语句是 struct node char data; struct node * next; a, b, *p= 18 【正确答案】 D 【试题解析】 通常,引用一个数组元素可以用下标法,如 apa形式,或指针法,如 *(&ai)的形式。本题中 a9=9, a10显然超出了数组范围,注意,数组的下标是从 0开始的。 19 【正确答案】 C 【试题解

13、析】 cout x+;语句中,程序先输出 x的值,然后再加 l,所以结果为 1,此时 x的值为 2;布 int x=0; x+=y*2;语句中,将 0的值赋给 x,然后再运算 x+=y*2的值,结果为 x=6(此时 x的值为局部变量 ), y的值不变,在最后在执行了 x语句后的值,所以应为 2。 20 【正确答案】 D 【试题解析】 本题首先通过第一个 while循环计算字符串 a的长度,再通过第二个循环,将字符串 a和 b相连,最后返回连接后的总长度。 21 【正确答案】 B 【试题解析】 首先,当 i=0时,数组中的位置是 a20=7,当然,如果用排除法的话,就不用考虑后面的循环了,因为在

14、 4个选项中,第 1个数为 7的选项只有B)。本题执行第 2次循环时, i的值为 l,则 cout函数中的数组指向为 a11=5,依次循环,可求出 答案。 22 【正确答案】 B 【试题解析】 C+语言中全局变量是任何函数都可以改变的量,静态变量的有效范围在定义它的类中,而普通的变量的有效性只在使用它的函数中,在本题中 c为全局变量, b为静态变量, a为普通变量, b和 c在类 A的对象 a1和 a2中都自加 l。所以 b, c为 2, a为 1。 23 【正确答案】 B 【试题解析】 C+语言中一个派生类能不能继承基类的所有数据成员受继承方式的限制。 24 【正确答案】 C 【试题解析】

15、构造函数是一类特殊的函数,其特点是函数名与类同名, 没有返回值,也可以省略不写,还可以刘类中的成员进行初始化。 25 【正确答案】 D 【试题解析】 C+中用友元函数重载运算符至少有一个参数,重载一目运算符要有一个参数,重载二目运算符要有两个参数。 26 【正确答案】 D 【试题解析】 C+语言中用成员函数重载时,重载一目运算符没有参数,重载二目运算符要有一个参数。 27 【正确答案】 D 【试题解析】 在 C+中规定如果一个类被声明为类模板,那么其中的所有成员函数就都成为了模板函数。 28 【正确答案】 B 【试 题解析】 表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是 sho

16、wpoint()和 eof()。 29 【正确答案】 A 【试题解析】 本题中 (a b c)的运算次序是先算 a b,返回 1,再运算 1 c,返回 1,所以表达式 a b c的值为 1。 30 【正确答案】 C 【试题解析】 如果在子类中要访问父类的函数应用 “ ”运算符。 31 【正确答案】 D 【试题解析】 运算符 “%”的两侧都应该是整型数。另外,本题需要掌握的知识点是 x%=k等价于 x=x%k。 32 【正确答案】 B 【试题解析】 右移运算符 “ ”是双目运算符。其功能是把 “ ”左边的运算数的各二进位全部右移若干位, “ ”右边的数指定移动的位数。例如:设 a=15, a 2

17、表示把 000001111右移为 00000011 (十进制 3)。 33 【正确答案】 B 【试题解析】 要把结点 b连接到结点 9之后,必须把 L的地址给 a的 next指针,选项 A)中,指针变量 q保存的就是变量 b的地址,选项 B)中的 p是指针变量,应该是 P- next=&b;在选项 D)中,用 *运算符取出结构体变量,并且保存的就 是 b的地址,所以正确。 34 【正确答案】 D 【试题解析】 一个类的友元函数对类成员的访问能力等同于类的成员函数,即能访问类的所有成员。 35 【正确答案】 C 【试题解析】 该函数的调用方式是 strcpy(字符数组,字符串 )其中 “字符串

18、”可以是申常量,也可以是字符数组。函数的功能是将 “字符串 ”完整地复制到 “字符数组 ”中,字符数组中原有内容被覆盖。使用该函数时注意: 字符数组必须定义得足够大,以便容纳复制过来的字符申:复制时,连同结束标志 0一起复制。 不能用赋值运算符 “=”将一 个字符串直接赋值给一个字符数组,只能用 strepy()函数来处理。 strcat (字符数组,字符串 )功能是把 “字符串 ”连接到 “字符数组 ”中的字符串尾端,并存储于 “字符数组 ”中。 “字符数组 ”中原来的结束标志被 “字符串 ”的第一个字符覆盖,而 “字符串 ”布操作中未被修改。使用该函数时注意: 由于没有边界检查,编程者要注

19、意保证 “字符数组 ”定义得足够大,以便容纳连接后的门标字符串;否则,会因长度不够而产生问题。 连接前两个字符串都有结束标志 0,连接后 “字符数组 ”中存储的字符串的结束标志 0,被舍弃,只在目标 串的最后保留一个 0。 36 【正确答案】 x字符 37 【正确答案】 x.operator-() 38 【正确答案】 bool 39 【正确答案】 rdstate() 40 【正确答案】 ios:showpos 41 【正确答案】 ios类 42 【正确答案】 封装 43 【正确答案】 flags() 44 【正确答案】 read 45 【正确答案】 friend class B 46 【正确答案】 下划线 47 【正确答案】 this指针 48 【正确答案】 1 3 49 【正确答案】 2 50 【正确答案】 成员选择运算符 (或 ” ”) 成员访问运算符 (或 ”- ”) 【试题解析】 本题考查的是使用对象和对象指针访问成员所使用的符号的不同,考生请注意它们的区别。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1