[计算机类试卷]国家二级(C++)笔试模拟试卷74及答案与解析.doc
《[计算机类试卷]国家二级(C++)笔试模拟试卷74及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C++)笔试模拟试卷74及答案与解析.doc(26页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C+)笔试模拟试卷 74及答案与解析 1 下列叙述中,正确的是 ( )。 ( A)非空循环队列的队尾指针等于排头指针时,也可以进行入队运算 ( B)循环队列为空时可以进行退队运算 ( C)退队运算后队列长度减 1 ( D)入队运算就是将新元素插入到队尾指针指向的位置 2 下列叙述不属于线性链表较之线性表顺序存储结构的优点的是 ( )。 ( A)线性链表存储方式简单 ( B)线性链表运算效率高 ( C)线性链表的存储空间易于扩展 ( D)线性链表便于存储空间的动态分配 3 设有下列 二叉树 (如下图所示 )对此二叉树中序遍历的结果是 ( )。 ( A) ABDGCEHIF ( B)
2、DGBAHEICF ( C) GDBHIEFCA ( D) ABCDEFGHI 4 若要求尽可能快地对实数数组进行稳定的排序,则应选 ( )。 ( A)快速排序 ( B)堆排序 ( C)归并排序 ( D)基数排序 5 在所有排序方法中,关键字比较的次数与记录的初始排列次序无关的是 ( )。 ( A)希尔排序 ( B)冒泡排序 ( C)插入排序 ( D)选择排序 6 函数重载是指 ( )。 ( A)两个或两个以上的函数取相同的函数名,但形参的个数或类型不同。 ( B)两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同。 ( C)两个以上的函数名字不同,但形参的个数或类型相同。
3、( D)两个以上的函数取相同的函数名,并且函数的返回类型相同。 7 下面关于对象的描述中正确的是 ( )。 ( A)任何对象都必须具有继承性 ( B)任何对象都必须具有多态性 ( C)操作是对象的静态属性 ( D)对象间的通信靠消息传递 8 在关系代数中,对一个关系投影操作以后,新关系的元组个 数跟原来关系的元组个数相比 ( )。 ( A)小于 ( B)小于或等于 ( C)等于 ( D)大于 9 关系数据库的概念模型是 ( )的集合。 ( A)关系模型 ( B)关系模式 ( C)关系子模式 ( D)存储模式 10 如果对一个关系实施了一种关系运算后得到了一个新的关系,而且新的关系中属性个数少于
4、原来关系中属性个数,这说明所实施的运算关系是 ( )。 ( A)选择 ( B)投影 ( C)连接 ( D)并 11 要把高级语言编写的源程序转换为目标程序,需要使用 ( )。 ( A)编辑程序 ( B)驱动程序 ( C)调试程序 ( D)编译程序 12 以下选项中,合法的字符常量是 ( )。 ( A) N ( B) 010 ( C) 68 ( D) D 13 定义如下枚举类型: enumMonday, Tuesday, Wednesday, Thursday,Friday=2; 则下列语句正确的是 ( )。 ( A)表达式 Wednesday=Friday的值是 true ( B) Dayda
5、y; day=3; ( C) Dayday; day=Monday+3; ( D) Dayday; day=Tuesday+10; 14 下列 for循环执行的次数为 ( )。 for(int i=0, j=10; i=j=10; i+, j-) ( A) 0 ( B) 11 ( C) 10 ( D)无数次 15 下列关于 goto语句的描述中,正确的是 ( )。 ( A) goto语句可在一个文件中随意转向 ( B) goto语句后面要跟一个它所转向的语句 ( C) goto语句可以同时转向多条语句 ( D) goto语句可以从一个循环体内转到循环体外 16 若有定义: int*p; 则下列
6、各选项中,不同于表达式 “*p=*p+1; ”的是 ( )。 ( A) *p+; ( B) +*p; ( C) *p+=1; ( D) +(*p); 17 下列数组的定义中,会产生错误的是 ( )。 ( A) int a=0,1,2,3,4,5,6; ( B) int a10=0,1,2,3,4,5,6; ( C) char a5=“hello“; ( D) char a5=h,e,1,1,o; 18 在 C+语言中,函数形参的默认存储类型是 ( )。 ( A) auto ( B) register ( C) static ( D) extem 19 下面类的定义,有 ( )处错误。 clas
7、s MyClass public: void MyClass(); MyClass(int Value); private: int i=0; ; ( A) 1 ( B) 2 ( C) 3 ( D) 4 20 下列关于多继承二义性的描述中,错误 的是 ( )。 ( A)一个派生类的两个基类中都有某个同名成员,在派生类中对这个成员的访问可能出现二义性。 ( B)解决二义性的最常用的方法是对成员名的限定法 ( C)基类和派生类中同时出现的同名函数,也存在二义性问题 ( D)一个派生类是从两个基类派生出来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,可能出现二义性 21 以下程序的功能
8、是:按顺序读入 10名学生 4门课程的成绩,计算出每个学生的平均分数并输出,程序如下: #include iostream using namespace std; int main( ) int n, k; float score, sum, ave; sum = 0.0; for(n = 1; n =10; n+) for(k =1; k =4; k+) cinscore; sum += score; ave=sum/4.0; cout“NO “ n “ave: “ ave end1; return 0; 上述程序运行后结果不正确,调式中发现有一条语句出现在程序中的位置不正确。 这条语句是
9、非曲直 ( )。 ( A) sum=0.0; ( B) sum+=score; ( C) ave= sum/4.0 ( D) cout “NO.“ n “ave:“ ave end1; 22 有以下程序: #include iostream using namespace std; char *x=“First“, “Second“, “Third“ ; void f(char *z ) cout *z+end1; int main ( ) char *y; y=x; f(y); return 0; ( A)产生语法错误 ( B) First ( C) Secpnd ( D) Third 23
10、 以下程序的输出结果是 ( )。 #include iostream using namespace std; int f(int b,int m, int n) int i,s = O; for(i = m;i n;i+=2) s+=b i; return s; int main ( ) int x a = 1,2,3,4,5,6,7,8,9; x = f(a,3,7); cout x end1; return 0; ( A) 10 ( B) 18 ( C) 8 ( D) 15 24 有以下程序: #include iostream using namespace std; class My
11、Class int m; publ i c: static int n; MyClass ( ) m = 0; void setvalue() m+; n+; void output () cout“m=“ m , n=“ n end1; ; int MyClass : n=0; int main() MyClass obj1, obj2; obj1.setvalue(); objl.output(); obj2.setvalue(); obj2.output(); return 0; ( A) m= 1 ,n= 1 换行 m= 1 ,n=1 ( B) m= 1 ,n= 1 换行 m=1 ,n
12、=2 ( C) m=1,n=1换行 m=2,n=1 ( D) m=1,n=1换行 m=2,n=2 25 有以下程序: #include iostream using namespace std; class Point public: void SetPoint(int x,int y); void Move(int xOff,int yOff); int GetX() return X; int GetY() return Y; private: int X,Y; ; void Point:SetPoint(int x, int y) X=x; Y=y; void Point: :Move(
13、int xOff, int yOff) X+=xOff; Y+=yOff; int main () Point p1; p1.SetPoint(1,2); p1.Move (5, 6); cout“Point1 is (“ p1.GetX() , p1.GetY() “)“ end1; return 0; 执行后的输出结果是 ( )。 ( A) Point1 is (6,8) ( B) Point1 is (1,2) ( C) Point1 is (5,6) ( D) Point1 is (4,4) 26 为使下列程序的正确输出结果为: Now is 2004-7-6 12:12:12 那么应
14、该在程序划线处填入的语句是 ( )。 #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; void DateTime(TIME private: int year,month, day; ; class TIME public: TIME(int h=0,int m=0,int s=0) hour=h; minute=m; second=s; _; /将类 DATE 中成员函数 DateTime
15、 声明为类 TIME 的友元函数 private: int hour,minute, second; ; void DATE: :DateTime(TIME int main ( ) DATE d(2004,7,6); TIME t (12, 12, 12); d. DateTime (t); return 0; ( A) friend void DateTime(TIME ( B) friend void DATE:DateTime(TIME ( C) void DateTime(TIME ( D) friend void DateTime(TIME 27 设有如下程序: #include
16、iostream using namespace std; class A public: int i; display() cout “class An“; ; class B public: int i; display() cout “class Bn“; ; class C : public A, public B int j; public: int i; show ( ) j = i * i; display(); ; int main() C demo; demo.show(); return O; 则主程序运行时将 ( )。 ( A)因为变量 i的重复定义而报错 ( B)因为对
17、象 demo间接调用 display()函数时产生二义性而报错 ( C)因为类定义的语法错误而不能运行 ( D)没有语法错误,能够正常输出结果 28 有如下程序: #include iostream using namespace std; class base public: virtual void f1() cout “F1Base“; virtual void f2() cout “F2Base “; ; class derive : public base void f1 ( ) cout “F1Derive“; void f2( int x ) cout “F2 Derive“;
18、; int main () base objl, * p; derive obj2; p = p - f1(); p - f2(); return 0; 执行后的输出结果是 ( )。 ( A) F1Derive F2Base ( B) F1Derive F2Derive ( C) F1Base F2Base ( D) F1Base F2Derive 29 有如下程序: #include iostream.h class x protected: int a; public: x() a=1; ; class x1 : virtual public x public: x1() a+=1; co
19、ut a; ; class x2 : virtual public x public: x2() a+=2; cout a; ; class y : public xl,public x2 public: y() cout a end1; ; int main() y obj; return O; 该程序运行后的输出结果是 ( )。 ( A) 1 ( B) 123 ( C) 242 ( D) 244 30 下列关于 getline() 函数的描述中,不正确的是 ( )。 ( A) getline()函数是用来从键盘上读取字符串的 ( B) getline()函数读取字符串长度是受限制的 ( C
20、) getline()函数读取字符串时,遇到终止符时就停止 ( D) getline()函数中所使用的终止符只能是换行符 31 对于长度为 n的线性表,若进行顺序查找,则时间复杂度为【 】。 32 已知某序列为 49, 38, 65, 97, 76, 13, 27,试采用该序列的第一个元素为枢轴进行快速排序,则经过 一趟快速排序之后所得到的序列为:【 】。 33 在选择运算所得到的结果关系中,所含的元组数不合【 】原关系中的元组数。 34 当输入 10, 11, 12时,下面程序运行结果是【 】。 #include iostream using namespace std; int main(
21、) int a,b,c,max; cin a b c; max=a; if (max B) max=b; if (max C) max=c; cout max end1; return 0; 35 求 1 100的和,可写成 “for(s=0,i=1;【 】; i+) s+=i; ”的形式。 36 以下程序调用 findmax()函数返回数组中的最大值。请填空完成此函数。 #include iostream using namespace std; int findmax(int*a, int n) int +p、 *s; for(p=a, s=a; p-a n; p+) if(【 】 ) *
22、s=*p; return(*S); int main() int x5=12, 21, 14, 16; cout findmax(X, 5) end1; return 0; 37 下面程序的输出结果是【 】。 #include iostream using namespace std; void f(int x) if(x) cout put(0+x%10); f(x 10); int main() f(11001); return 0; 38 非成员函数只有在声明为类的【 】才能访问这个类的所有 private成员。 39 有一种特殊的虚函数,重定义时不要求同名,这种虚函数是【 】。 40
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 笔试 模拟 74 答案 解析 DOC
