版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、sprintf函数操作的对象不限于字符串:虽然目的对象是字符串,但是源对象可以是字符串、也可以是任意基本类型的数据。这个函数重要用来实现(字符串或基本数据类型)向字符串的转换功能。假如源对象是字符串,并且指定%s格式符,也可实现字符串拷贝功能。2、请编写一个C函数,该函数给出一个字节中被置1的位的个数,并请给出该题的至少一个不同解法。val&=0x01;//与1相与}}3、请编写一个C函数,该函数将给定的一个字符串转换成整数。}4、请编写一个C函数,该函数将给定的一个整数转换成字符串。{intvalo=0;intval1=0;}}for(j=0;j<=i;j++))//倒置}}5、请编写一个C函数,该函数将一个字符串逆序。voidAntitoneValuecharj++;}})7、请编写一个C函数,该函数在一个字符串中找到也许的最长的子字符串,该}j++;}}}j++;}}}8、用<<,>>,I,&实现一个WORD(2个字节)}2俩个字节是16位前八位为高位后八位为低位然后结合9、编写一个函数,函数接受一个字符串,是由十六进制数组成的一组字符串,函数的功能是把接到的这组字符串转换成十进制数字.并将十进制数字返回.}编译器从用户工作途径开始搜索filename.h11、头文献的作用是什么?用户只需要按照头文献中的接口声明来调用库功能,而不必关心接口怎么实现的。编译器会从库中提取相应的代码。头文献能加强类型安全检查。假如某个接口被实现或被使用时,其方式与头文献中的声明不一致,编译器就会指犯错误,这一简朴的规则能大大减轻程序员调试、改错的承担。12、C++函数中值的传递方式有哪几种?C++函数的三种传递方式为:值传递、指针传递和引用传递。13、内存的分派方式的分派方式有几种?答:一、从静态存储区域分派。内存在程序编译的时候就已经分派好,这块内存在程序的整个运营期间都存在。例如全局变量。二、在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分派运算内置于解决器的指令集中,效率很高,但是分派的内存容量有限。三、从堆上分派,亦称动态内存分派。程序在运营的时候用malloc或new申请任意多少的内存,程序员自己负责在何时用free或delete释放内存。动态内存的生存期由我们决定,使用非常灵活,但问题也最多。14、实现双向链表删除一个节点P,在节点P后插入一个节点,写出这两个函数;//插入操作}15、请讲一讲析构函数和虚函数的用法和作用?析构函数是特殊的类成员函数,它没有返回类型,没有参数,不能随意调用,也没有重载,只有在类对象的生命期结束的时候,由系统自动调用。有适放内存空间的做用。虚函数是C++多态的一种表现,使用虚函数,我们可以灵活的进行动态绑定,当然是以一定的开销为代价。16、全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的?生命周期不同:全局变量随主程序创建和创建,随主程序销毁而销毁局部变量在局部函数内部,甚至局部循环体等内部存在,退出就不存在;内存中分派在全局数据区使用方式不同:通过声明后全局变量程序的各个部分都可以用到局部变量只能在局部使用;分派在栈区操作系统和编译器通过内存分派的位置来知道的,全局变量分派在全局数据段并且在程序开始运营的时候被加载。局部变量则分派在堆栈里面。overload是重载,重载是一种参数多态机制,即代码通过参数的类型或个数不同而实现的多态机制。是一种静态的绑定机制(在编译时已经知道具体执行的是哪个代码段)。override是覆盖。覆盖是一种动态绑定的多态机制。即在父类和子类中同名元素(如成员函数)有不同的实现代码。执行的是哪个代码是根据运营时实际情况而定的。1、方法名必须相同2、参数列表必须不相同3、返回值类型可以不相同注意:override存在于继继承的关系类中。1、方法名相同2、参数列表相同3、返回值类型相同注意:存在于同一类中,但是只有虚方法和抽象方法才干被覆写.18、解释堆和栈的区别。在传统的C中堆和栈实际是一块物理内存,堆重要用来动态分派内存,从堆栈内存的低端向上分派;而栈重要用来传递函数参数、返回值和局部参数内存分派,是从堆栈内存的高端向memoryleak,栈是静态分派,比如函数调用是需要分派堆栈,但堆栈能自动释放.19、论述含参数的宏与函数的优缺陷。宏是编译期的,函数是运营期的;宏不是实体,而函数是一个可寻址的实体;宏只是编译期替换,在程序里每碰到S(a,b),就用a*b代替,a和b两个实体并没有由宏实际产生,而函数S会在栈中定义两个对象a和b。宏没有生存期、作用域之类的概念,而函数就有。20、如何用最快的方法判断链表是否有环?用两个指针来遍历这个单向链表,第一个指针p1,每次走一步;第二个指针p2,每次走两步;当p2指针追上p1的时候,就表白链表当中有环路了。怎么判断链表中是否有环?{if(pHead==NULL||pHead->next==NULL)//无节点或只有一个节点并且无自环{pTemp1=pTemp1->next;//增量1pTemp=pTemp-nextnext//增量2}功能:把字符串转换成长整型数}1)使用两个指针进行遍历,快指针每次步进2,慢指针每次步进1;(这个算法的思想和经典问题"鉴定链表中是否存在环"的思想是}}(3)拥有资源:进程是拥有资源的独立单位,线程不拥有系统资源,但可(4)系统开销:在创建或撤消进程时,由于系统都要为之分派和回收资源,导致系统的开销39、存储过程是什么?有什么用?有什么优点?在数据库。中用户通过指定存储过程的名字并给出参数(假如该存储过程带有参数)来执行protected控制的是一个函数对一个类的成员(涉及成员变量及成员方法)的访问权限。只能访问静态成员(变量或函数)。42、解释一下多播(组播)和广播的含义?广播:主机之间“一对所有”的通讯模式,网络对其中每一台主机发出的信号都进行无条件复制并转发,所有主机都可以接受到所有信息(不管你是否需要).虚函数重要用于实现多态用,基类的某个函数前加个Virtual用来告诉编译系统,碰到这个解决过程时,要等到执行时再拟定到底调用哪个类的解决过程;每一个虚函数都会有一个入口地址,虚函数表保存所有虚函数的入口地址假如没有多态和虚拟继承,在C++中,struct和class的存取效率完全相同!简朴的说就是,存取class的datamember和非virtualfunction效率和struct完全相同!不管该datamember是定义在基类还是派生类的。假如不是为了和C兼容,C++中就不会有struct关键字。CObject的析构函数设为virtual型,则所有CObject类的派生类的析构函数都将自动变为virtual型,这保证了在任何情况下,不会出现由于析构函数未被调用而导致的内存泄露voidfun1(inta)const;const的作用是指在该函数内部不会改变此类的成员变量(除非该成员变量定义时加上violate关键字),否则修改了该成员变量就会报错.44、C++中为什么用模板类。答:(1)可用来创建动态增长和减小的数据结构(2)它是类型无关的,因此具有很高的可复用性。(3)它在编译时而不是运营时检查数据类型,保证了类型安全(4)它是平台无关的,可移植性(5)可用于基本数据类型45、Linux有内核级线程么。答:线程通常被定义为一个进程中代码的不同执行路线。从实现方式上划分,线程有两种类型:"用户级线程"和"内核级线程"。用户线程指不需要内核支持而在用户程序中实现的线以被定制或修改以适应特殊应用的规定,但是当一个线程因I/0而处在载入DLL时所需的信息及DLL函数定位。函数载入DLL。DLL载入后,模块可以通过调用GetProcAddress获取DLL函数的出口地址,然后就可以通过返回的函数指针调用DLL函数了。如此即可避免导入库文献了50、用预解决指令#define声明一个常数,用以表白1年中有多少秒(忽略闰年问题)这个简朴的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用:1).在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。2).在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3).在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。大多数应试者能对的回答第一部分,一部分能对的回答第二部分,同是很少的人能懂得第三部分。这是一个应试者的严重的缺陷,由于他显然不懂得本地化数据和代码范围的好处和重constint*a;//一个指向常整型数的指针,整型数是不可修改的,但指针可以int*consta;//一个指向整型数的常指针,指针指向的整型数是可以修改的,指针不可修改intconst*aconst;//一个指向常整型数的常指针,整型数不可修改,指针也是不可修改的53、给定一个数组,这个数组中既有正数又有负数,找出这个数组中的子数组,此子数组的和最大!final-修饰符(关键字)假如一个类被声明为final,意味着它不能再派生出新的子类,不能定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,finally-再异常解决时提供finally块来执行任何清除操作。假如抛出一个异常,那么相匹配的catch子句就会执行,然后控制就会进入finally块(假如有的话)。之前做必要的清理工作。这个方法是由垃圾收集器在拟定这个对象没有被引用时对这个对象调用的。它是在Object类中定义的,因此所有的类都继承了它。子类覆盖finalize()方法以整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。55、什么叫做多态性?在C++中是如何实现多态的?解:多态是指同样的消息被不同类型的对象接受时导致完全不同的行为,是对类的特定成员函数的再抽象。C++支持的多态有多种类型,重载(涉及函数重载和运算符重载)和虚函数是其中重要的方式。56、什么叫做抽象类?抽象类有何作用?抽象类的派生类是否一定要给出纯虚函数的实现?解:带有纯虚函数的类是抽象类。抽象类的重要作用是通过它为一个类族建立一个公共的接口,使它们可以更有效地发挥多态特性。抽象类声明了一组派生类共同操作接口的通用语义,而接口的完整实现,即纯虚函数的函数体,要由派生类自己给出。但抽象类的派生类并非一定要给出纯虚函数的实现,假如派生类没有给出纯虚函数的实现,这个派生类仍然是一个抽象类。57、一个链表的结点结构(1)已知链表的头结点head,写一个函数把这个链表逆序(Intel)}}}|}|}(2)已知两个链表head1和head2各自有序,请把它们合并成一个链表仍然有序,这次规定58、引用与指针有什么区别?1)引用必须被初始化,指针不必。2)引用初始化以后不能被改变,指针可以改变所指的对象。2)不存在指向空值的引用,但是存在指向空值的指针。59、数组a[N],存放了1至N-1个数,其中某个数反复一次。写一个函数,找出被反复的数答案:方法1:假如数就是1-N-1,那么求出a[N]的和,然后减去1-N-1就行了。}址中60、什么是预编译,何时需要预编译:1、总是使用不经常改动的大型代码体。2、程序由多个模块组成,所有模块都使用一组标准的包含文献和相同的编译选项。在这种情况下,可以将所有包含文献预编译为一个预编译头。61、单连表的建立,把'a'-'z'26个字母插入到连表中,并且倒叙,还要打印!方法1:方法2:nodetempnodemallocsizeofn62、设编号为1,2,…n的n个人围坐一圈,约定编号为k(1<=k<=n)的人从1开始报数,数到m的那个人出列,它的下一位又从1开始报数,数到m的那个人又出列,依次类推,直到所有人出列为止,由此产生一个出队编号的序列。j=0;}1}(})}}163、VC中,编译工具条内的Debug与Release选项是什么含义?Debug通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运营速度上都是最优的,以便用户很好地使用。Debug带有大量的调试代码,运营时需要相应的运营库,发布模式程序紧凑不具有调试代码和信息,直接可以运营(假如不需要运营库)64、编写mymemcpy函数,实现与库函数memcpy类似的功能,不能使用任何库函数;65、编写mystrcpy函数,实现与库函数strcpy类似的功能,不能使用任何库函数;可以把assert当作一个在任何系统状态下都可以安全使用的无害测试手段。while(str[count]!="\}68、实模式与保护模式。为什么要设计这两种模式?好处在什么地方?分别写出各自寻址的答:1.实模式,又叫实地址模式,CPU完全按照8086的实际寻址方法访问从00000h--FFFFFh(1MB大小)的地址范围的内存,在这种模式下,CPU只能做单任务运营;寻址公式为:物理地址=左移4位的段地址+偏移地址,即:物理地址是由16位的段地址和16位的段内偏移地址组成的。2.保护模式,又叫内存保护模式,寻址采用32位段和偏移量,最大寻址空间4GB,在这种模式下,系统运营于多任务,设计这种模式的因素和好处是:保护模式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度出国务工人员家属关爱及援助合同4篇
- 二零二五年度成立网络安全科技公司出资合同4篇
- 二零二五年度南京市租赁房屋租赁合同解除条款规范3篇
- 2025年度智能化电梯井改造施工合同4篇
- 二零二五年度智慧社区建设项目招标文件编制与智能化规划服务协议3篇
- 二零二五年度绿色物流承包装卸创新合同4篇
- 2021-2026年中国船用铝合金板材市场深度评估及行业投资前景咨询报告
- 二零二五版木工企业知识产权保护合同4篇
- 2025年度个人一手房买卖合同交房验收范本3篇
- 2023年-2024年项目部安全管理人员安全培训考试题新版
- 《装配式蒸压加气混凝土外墙板保温系统构造》中
- T-CSTM 01124-2024 油气管道工程用工厂预制袖管三通
- 2019版新人教版高中英语必修+选择性必修共7册词汇表汇总(带音标)
- 新译林版高中英语必修二全册短语汇总
- 基于自适应神经网络模糊推理系统的游客规模预测研究
- 河道保洁服务投标方案(完整技术标)
- 品管圈(QCC)案例-缩短接台手术送手术时间
- 精神科病程记录
- 阅读理解特训卷-英语四年级上册译林版三起含答案
- 清华大学考博英语历年真题详解
- 人教版三年级上册口算题(全册完整20份 )
评论
0/150
提交评论