ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:19.98KB ,
资源ID:20250819      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20250819.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++笔试题Word格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C++笔试题Word格式.docx

1、 CSub obj;A. constructing CSub class B. constructing CBase class constructing CBase class constructing CSub class destructing CSub class destructing CBase class destructing CBase class destructing CSub classC. constructing CBase class constructing CSub class destructing CSub class destructing CBase

2、class D. constructing CSub class constructing CBase class destructing CBase class destructing CSub class4.在一个cpp文件里面,定义了一个static类型的全局变量,下面一个正确的描述是:A.只能在该cpp所在的编译模块中使用该变量B.该变量的值是不可改变的C.该变量不能在类的成员函数中引用D.这种变量只能是基本类型(如int,char)不能是C+类型5.观察下面一段代码:class ClassAvirtual ClassA();virtual void FunctionA();class

3、 ClassB virtual void FunctionB(); class ClassC : public ClassA,public ClassBClassC aObject;ClassA* pA=&aObject;ClassB* pB=&ClassC* pC=&关于pA,pB,pC的取值,下面的描述中正确的是:A.pA,pB,pC的取值相同. B.pC=pA+pBC.pA和pB不相同 D.pC不等于pA也不等于pB6.参照1.5的代码,假设定义了ClassA* pA2,下面正确的代码是:A.pA2=static_cast(pB);B.void* pVoid=static_cast pA

4、2=static_cast(pVoid);C.pA2=pB;D.pA2=static_cast(static_cast(pB);7.参照1.5的代码,下面那一个语句是不安全的: A.delete pA B.delete pB C.delete pC8.下列程序的运行结果为:int a=2;int b=+a;couta/6 A.0.5 B.0 C0.7 D.0.66666669.有如下一段代码:#define ADD(x,y) x+yint m=3;m+=m*ADD(m,m);则m的值为: A.15 B.12 C.18 D.5810.如下是一个带权的图,图中结点A到结点D的关键路径的长度是:A.

5、13 B.15 C.28 D.5811.下面的模板声明中,正确的是:A.templateB.templateC.templateD.template12.在Windows编程中下面的说法正确的是:A.两个窗口,他们的窗口句柄可以是相同的 B.两个窗口,他们的处理函数可以是相同的C.两个窗口,他们的窗口句柄和窗口处理函数都不可以相同.13.下面哪种情况下,B不能隐式转换为A?A.class B:public A B.class A:public BC.class Boperator A(); D.class AA(const B&);14.某公司使用包过滤防火墙控制进出公司局域网的数据,在不考虑

6、使用代理服务器的情况下,下面描述错误的是”该防火墙能够( )”.A.使公司员工只能访问Internet上与其业务联系的公司的IP地址.B.仅允许HTTP协议通过,不允许其他协议通过,例如TCP/UDP.C.使员工不能直接访问FTP服务器端口号为21的FTP地址.D.仅允许公司中具有某些特定IP地址的计算机可以访问外部网络15.数字字符0的ASCII值为48,若有以下程序:main() char a=1,b=2;printf(“%c,”,b+);printf(“%dn”,b-a);程序运行之后的输出结果是:A.3,2 B.50,2 C.2,2 D.2,50二. 填空题(共40分)本程序从正文文件

7、text.in读入一篇英文短文,统计该短文中不同单词和它的出现次数,并按词典编辑顺序将单词及它的出现次数输出到正文文件word.out中.程序用一棵有序二叉树存储这些单词及其出现的次数,一边读入一边建立.然后中序遍历该二叉树,将遍历经过的二叉树上的节点的内容输出.程序中的外部函数int getword(FILE* pFile,char* pszWordBuffer,int nBufferLen);从与pFile所对应的文件中读取单词置入pszWordBuffer,并返回1;若单词遇文件尾,已无单词可读时,则返回0.#include malloc.hctype.hstring.h#define

8、SOURCE_FILE text.in#define OUTPUT_FILE word.out#define MAX_WORD_LEN 128typedef struct treenode char szWordMAX_WORD_LEN; int nCount; struct treenode* pLeft; struct treenode* pRight;BNODE;int getword(FILE* pFile,char* pasWordBuffer,int nBufferLen);void binary_tree(BNODE* ppNode,char* pszWord) if(ppNod

9、e != NULL & pszWord != NULL) BNODE* pCurrentNode = NULL; BNODE* pMemoNode = NULL; int nStrCmpRes=0; _(1)_;pCurrentNode=*ppNode while(pCurrentNode) /*寻找插入位置*/ nStrCmpRes = strcmp(pszWord, _(2)_ );pCurrentNode-nCount if(!nStrCmpRes) _(3)_; pCurrentNode-nCount+ return; else _(4)_; pMemoNode=pCurrentNod

10、e pCurrentNode = nStrCmpRes0?pRight :pLeft; pCurrent=new BNODE; if(pCurrentNode ! memset(pCurrentNode,0,sizeof(BNODE); strncpy(pCurrentNode-szWord,pszWord,MAX_WORD_LEN-1);nCount=1; if(pMemoNode=NULL) _(5)_; *ppNode= pCurrentNode else if(nStrCmpRes0) pMemoNode-pRight=pCurrentNode;pLeft=pCurrentNode;v

11、oid midorder(FILE* pFile,BNODE* pNode) if(_(6)_) return;!pNode|!pFile midorder(pFile,pNode-pLeft); fprintf(pFile,%s %dn,pNode-szWord,pNode-nCount);pRight); FILE* pFile=NULL; BNODE* pRootNode=NULL; char szWordMAX_WORD_LEN=0; pFile=fopen(SOURCE_FILE,r if(pFile=NULL) printf(Cant open file %sn,SOURCE_FI

12、LE); while(getword(pFile,szWord,MAX_WORD_LEN)=1) binary_tree(_(7)_);/ pRootNode,szWord fclose(pFile); pFile=fopen(OUTPUT_FILE,w midorder(pFile,pRootNode);三. 附加题(每题30分,2题,共60分)1. 从程序健壮性进行分析,下面的FillUserInfo函数和Main函数分别存在什么问题?iostreamstring#define MAX_NAME_LEN 20struct USERINFO int nAge; char szNameMAX_

13、NAME_LEN;void FillUserInfo(USERINFO* parUserInfo) stu:请输入用户的个数:; int nCount=0; std:cinnCount; for(int i=0;inAge;string strName;请输入姓名:strName; strcpy(parUserInfoi.szName,strName.c_str();int main(int argc,char* argv) USERINFO arUserInfos100=0; FillUserInfo(arUserInfos);The first name is: printf(arUser

14、Infos0.szName);n return 0;2. 假设你在编写一个使用多线程技术的程序,当程序中止运行时,需要怎样一个机制来安全有效的中止所有的线程?请描述其具体流程.本文来自CSDN博客,转载请标明出处:struct CLS int m_i; CLS( int i ) : m_i(i) CLS( ) CLS(0);void main( void )CLS obj1; / 调用无参数构造函数,再调用CLS(0)?CLS obj2(1);cout obj1.m_i endl;/-858993460 obj2.m_i a = a;b = b; CTest(int a) new(this)

15、CTest(a,5);int main(int argc, char* argv) CTest obj(1); cout a is obj.a b is obj.b CTest:CTest() /new(this) CTest(a,5);CTest(a,5);这种情况下,第二个有参构造函数就是在第一个构造函数的基础上进行初始化。若构造函数调用自身,则会出现无限递归调用,将会发生堆栈溢出。First-chance exception in ThinkingInCPlusPlus.exe: 0xC00000FD: Stack Overflow.从这里,我们归纳如下:1)在c+里,由于构造函数允许有默认参数,使得这种构造函数调用构造函数来重用代码的需求大为减少。因此应尽量避免这样使用,适用不当会带来意想不到的问题2)如果仅仅为了一个构造函数重用另一个构造函数的代码,那么完全可以把构造函数中的公共部分抽取出来定义一个成员函数(推荐为private),然后在每个需要这个代码的构造函数中调用该函数即可3)偶尔我们还是希望在类的构造函数里调用另一个构造函数,关键是让第二个构造函数在第一次分配好的内存上执行,而不是分配新的内存,这个可以用标准库的placement new或者明确通过第一个对象的this指针来调用第二个构造函数,此时相当于普通的函数调用。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1