1 / 11
文档名称:

C 试卷及答案.doc

格式:doc   大小:55KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C 试卷及答案.doc

上传人:xgs758698 2019/5/18 文件大小:55 KB

下载得到文件列表

C 试卷及答案.doc

文档介绍

文档介绍:一、选择题(每小题2分,共20分)1、关于对象概念的描述中,( )是错误的。 (或方法)的封装体 、对于int*pa[5];的描述,( )是正确的。,所指向的数组是5个int型元素pa是一个指向某个数组中第5个元素的指针,该元素是int型变量pa[5]表示某个数组的第5个元素的值pa是一个具有5个元素的指针数组,每个元素是一个int型指针3、下列for循环的循环体执行次数为( )。for(inti=0,j=10;i=j=4;i++,j--) 4、下述静态数据成员的特征中,( )是错误的。,要在静态数据成员名前加<类名>和作用域运算符静态数据成员不是所有对象所共用的5、( )是析构函数的特征。。6、已知:p是一个指向类A数据成员m的指针,A1是类A的一个对象, 如果要给m赋值为5,下列表达式( )是正确的。=->p=.*p=5D.*=57、关于new运算符的下列描述中,( )是错误的。、派生类的对象对它的基类成员中()是可以访问的。、下列( )是引用调用。,,实参是变量 ,实参是引用10、下述关于开关语句的描述中,()是正确的。,也可以有一个;;;。二、填空题(共60分)(一)、基本概念题(每题2分,共10分)1、____(1)____类型转换专门针对有虚函数的继承结构,它将基类指针转换成其派生类指针,以做好派生类操作的准备。2、函数重载是指函数的____(2)_____不同。 3、设有说明语句: inta[][4]={{1,2},{2,3,4,5}},*p=(int*)a;则*(p+5)的值为____(3)_____。 4、设有宏定义和变量说明: #(x,y)x+yinta=T(3,4)*T(3,5); 则变量a的初值为____(4)______。 5、编程质量的衡量标准包括可读性、易编程性、安全性、可扩充性、效率和____(5)____。(二)、完善程序题(每空2分,共20分)1、单链表中结点按元素值递增链接,DeleteAb实现删除结点值在a至b之间的结点(a≤b)的功能。#include<>structnode{intx;node*link;}node*DeleteAb(inta,intb,node*first){node*p=first;node*q=____(6)______;while(p&&p->x<b){if(____(7)____){q=p;p=p->link;}elseif(q==first){q=___(8)______;p=first=q;}else{q->link=____(9)______;p=q->link;}}return____(10)______;}voidmain(){nodea[10]={{1},{2},{3},{4},{5},{6},{7},{8},{9},{10}},*hd=a,*p;intx,y;for(inti=0;i<9;i++)a[i].link=&a[i+1];a[9].link=NULL;p=DeleteAb(x,y,hd);while(p){cout<<p->x;p=p->link;}}2、程序构造了一个集合类,其中以整形数组存放集合中的元素。通过重载运算符“*”,实现求两个集合交集的运算,即两个集合的共有元素。例如,设集合a,b分别为: 集合a={1,2,3,4,15,6,7,8,9,10}; 集合b={1,2,3,4,5,16,17,18,19,20};求交集a*b的结果为{1,2,3,4}。通过重载运算符“=”,实现两个集合的赋值运算。#include<>#include“”clas