C试题库.pdf_第1页
C试题库.pdf_第2页
C试题库.pdf_第3页
C试题库.pdf_第4页
C试题库.pdf_第5页
已阅读5页,还剩9页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C+试题库 1 基本试题: .1 请说出类中private,protect,public三种访问限制类 型的区别 .2 派生类B有与父类A相同名称的共有成员Member,请 问在B中如何访问A中的共有成员Member? .3 找错误 Void PrintInfo(int n,int m) if(n=NO_INFO) printf(“无信息”) return; switch(m) case1: printf(“信息”); case2: printf(“广告台); case3: printf(“文艺台”); .4 有如下类的定义 class base public: base():i(1) base(); int i; ; class derived:public base public: derived():j(2) derived(); int j; ; base:base() printf(“basen”); derived:derived() printf(“derivedn”); 请问如下语句的输出: base *b; b=new derived; delete b; .5 假设sizeof(int)=4,则如下代码应该输出什么: class Base public: Base() x=1; Int x; ; class Derive:public Base public: Derive()x=2; Int x; ; Derive d; Base Printf(“%d,%d,%d,b1.x,sizeof(b1),sizeof(d)”); .6 函数重载是什么意思?它与虚函数的概念有什么区 别? .7 问答 有如下类定义: class B int *m_iPoint; short int m_sLength; static int m_iTotal; public: virtual B(); ; 假设在32位的操作系统和编译器下,int型变量为4个字节,按4字节方式对齐,请问sizeof(B) 的大小为多少? .8 有如下类的定义 class member public: member() printf(“membern”): member() printf(“membern”): int I; ; class base public: base():i(1) printf(“basen”); virtual base(); int I; ; class derived:public base public: derived()printf(“derivedn); derived (); member m; ; base:base()printf(“basen”); derived:derived()printf(“derivedn); 请问如下语句的输出: base *b; b=new derived; delete b; .9 单选题(每小题1分,共6分) 说明:在本题中统一规定整型(int)数据占用4个字节的存储单元。 1、在每个C+程序中都必须包含有这样一个函数,该函数的函数名 为 。 A. main B. MAIN C. name D. function 2、设x和y均为bool量,则x”语句时,自动 调用该类构造函数的次数为 。 A. 3 B. 4 C. 6 D. 9 6、假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象 的加法,并返回相加结果,则该成员函数的声明语句为: 。 A. AB operator+(AB ”,则该数组所含元素的 个数为 ,所占存储空间的字节数为 。 7、变量分为全局和局部两种, 变量没有赋初值时,其值是不确 定的。 8、假定a是一个二维数组,则aij的指针访问方式为 。 9、假定一个结构类型定义为 “struct D int a ; union int b ; double c ; ; D * d2 ; ;” , 则该类型的大小为 字节。 10、对一个类中的数据成员的初始化可以通过构造函数中的 实现,也可以通过构造函数中的 实现。 11、假定AB为一个类,则执行“AB a10;”语句时,系统自动调用该 类的构造函数的次数为 。 12、假定类AB中有一个公用属性的静态数据成员bb,在类外不通过对 象名访问该成员bb的写法为 。 .11 给出下列程序运行后的输出结果(每小题6分,共36分) 1、# include void SB(char ch) switch(ch) case A: case a: cout # include void main() char *a5=“student“,“worker“,“cadre“,“soldier“,“peasant“; char *p1,*p2; p1=p2=a0; for (int i=0; i0) p1=ai; if (strcmp(ai,p2) int a=5; void main() int a=10,b=20; cout int LB(int *a,int n) int s=1; for (int i=0; i # include struct Worker char name15; / 姓名 int age; / 年龄 float pay; / 工资 ; void main() Worker x; char *t=“liouting“; int d=38; float f=493; strcpy(,t); x.age=d; x.pay=f; cout class A int a; public: A(int aa=0) a=aa; A() cout int SA(int a,int b) if (ab) return 1; else if (a=b) return 0; else return -1; 2、float FI(int n) / n为大于等于1的整数 float x,y=0; do cin x; n-; y+=x*x; while (n0); return y; 3、template void WE(Type a,Type b,int n) for (int i=0; if-name; StrNode * p=f; while (-n) p=p-next=new StrNode; cin p-name; p-next=NULL; .13 编写程序,把从键盘上输入的一批整数(以-1作为终止 输入的标志)保存到文本文件“a:xxk1.dat”中。(10分) 2 中级试题 .14 找出如下代码中的错误 CRITICAL_SECTION g_CriticalSection; Char * g_pStr=NULL; CexamApp:InitINstance() InitialCriticalSection( CreateThread(.,ThreadA); CexamApp:ExitInerance() DeleteCriticalSection( int CexamApp:ThreadA() EnterCriticalSECTION( g_pStr=new charMAX_STR_LEN; if (g_pStr=NULL) return-1; GetInput(g_pStr); Translate(g_pStr); Delete g_pStr; g_pStr =NULL; LeaveCritiaSection( Return(); .15 假设将临界区变量用下述类封装起来,请应用该临界 区类对上述代码进行改造以实现相同功能。 Class myCriticalSection Public: Static CRITICAL_SECTION m_CriticalSection; myCriticalSection ()Enter CriticalSection( myCriticalSection ()Leave CriticalSection( .16 请阅读下面程序,并写出最终输出结果: include # include class TMsg public: TMsg(); Virtual TMsg(); Static int number; Static int count; Static int freeHead; Void*operator new(size_t size); Void operator delete(void*pAddress); ; const int ItemUsedMark =-2; const int ItemEndMark =-1; const int MaxBufferOfTMsg =10; int*msg_flag=NULL; char (*msg_butter)sizeof(TMsg); int TWsg:count =0; int TWsg:number =0; int TWsg:freeHead =0; void*TMsg:operator new(size_t size) if(TWsg:freeHead=0) TWsg:freeHead=index; (TWsg:number)-; (TWsg:count )-; else printf(“Error:Try to delete one message more than one times.n”); else (TWsg:count )-; delete(char*)pAddress; pAddress =NULL; int main() TMsg*pMsg15; msg_flag=new intMaxBufferOfTMsg; msg_buffer=new charMaxBufferOfTMsgsizeof(TMsg); for(int loop=0;loop MaxBufferOfTMsg-1;loop+) msg_flagloop=loop+1; msg_flagMaxBufferOfTMsg-1=ItemEndMark; for(int i=0; i15; i+) pMsgi=new TMsg; printf(“count=%d,number=%d,freeHead=%dn”, TMsg:count, TWsg:number,TWsg:freeHead ); Return(); 3 高试题 .17 C+作为一个面向对语言,你个人觉得它最有意义的 特性是什么?说说在设计的时候具体怎样实现这种特 性? .18 说出并描述一个你觉得非常好的算法? .19 说出几种排序算法? .20 什么是稳定排序? .21 什么是模板类? .22 JAVA和C+有什么相同和不同之处? .23 如下表: 表名为 UU 有两项 ID CLASS 例: 1 彩电 2 冰箱 3 彩电 4 电扇 用SQL语言实现输出哪个产品数量最多(只用一条SQL语言) .24 在TCP/IP层次模型中与OSI参考模型第四层相对应的 主要协议有_ 和 ,其中后者 提供无连接的不可靠传输服。(4分) .25 在OSI中,完成相邻节点间流量控制功能的层次是 。(2分) .26 IP地址为 的B类网络,若要切割为9个子 网,而且都要 连上Internet,请问子网掩码设为( )。(4分) A B C D .27 以下哪一个不是关于千兆位以太网的正确描述( )。(4分) A 数据传输速率为1000MBit/S B 支持全双工传送方式 C 只能基于光纤实现 D 帧格式与以太网帧格式相同 .28 设有98个已排序元素,采用二分法查找时,最大比较次 数是( )。(4分) A 49 B 15 C 20 D 7 .29 高度为h的完全二叉树结点数最多有( )(4分) A 2h-1 B 2h+1 C 2h-1 D 2h+1 .30 Hash表是用于数据存储的一种有效的数据结构, Hash表的查找复杂度依赖于Hash值算法的有效性, 在最好的情况下,Hash表的查找复杂度为( );在 最坏的情况下,Hsah表的查找复杂度为( )(4 分) A O(1) B O(logn) C O(n) D O(nlogn) .31 写出进程的主要状态。(12分) .32 TCP为何采用三次握手来建立连接,若采用二次握手 可以吗?为什么?(12分) .33 设一维整型数组data已进行了初始化,则其元素个数 可由操作符sizeof通过表达式 _计算出来。(2分) .34 在继承机制下,当对象消亡时,编译系统先执行 _的析构函数,然后再执行_的析构函 数。(4分) .35 设有“int w34;”,pw是与数组名w等价的数组指 针,则pw

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论