部分c、c++笔试题集锦

2021-01-20 20:35

网上收集的c/c++的笔试题,将部分整理成节,上传后大家方便。不是很全,但是可以作为笔试的参考吧。

C++笔试

1. 由于虚拟机从第一个匹配的catch子句处继续执行,所以catch子句表中的顺序是很重要的。因为Java代码是结构化的,因此总可以把某个方法的所有的异常处理器都按序排列到一个表中,对任意可能的程序计数器的值,都可以用线性的顺序找到合适的异常处理块,以处理在该程序计数器值下发生的异常情况。

·如果找不到匹配的catch子句,那么当前方法得到一个“未截获异常”的结果并返回到当前方法的调用者,好像异常刚刚在其调用者中发生一样。如果在调用者中仍然没有找到相应的异常处理块,那么这种错误传播将被继续下去。如果错误被传播到最顶层,那么系统将调用一个缺省的异常处理块。 2. strcpy

extern char *strcpy(char *dest,char *src); 用法:#include <string.h> 功能:把src所指 由NULL结束的字符串 复制到dest所指的数组中。 说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。 返回指向dest的指针。

char * strcpy(char * strDest,const char * strSrc) {

if ((strDest==NULL)||(strSrc==NULL)) //[1]

throw “Invalid argument(s)”; //[2] char * strDestCopy=strDest; //[3] while ((*strDest++=*strSrc++)!=’\0′); //[4]

return strDestCopy; } 3. JVM在整个jdk中处于最底层,负责与操作系统的交互,用来屏蔽操作系统环境,提供一个完整的java运行环境,因此也就 虚拟了计算机,操作系统装入JVM是通过jdk中的java.exe来完成的,通过以下4步:

1,创建JVM装在环境和配置 2,装载JVM.dll

3,初始化JVM.dll并挂载到JNIENV(JNI调用接口)实例。 4,调用JNIENV实例,装载并处理class类。 4 内存泄露

内存溢出指你申请了10个字节的空间,但是你在这个空间写入11或以上字节的数据,就是溢出内存泄漏指你用malloc或new申请了一块内存,但是没有通过free或delete将内存释放,导致这块内存一直处于占用状态

内存泄露是指程序中间动态分配了内存,但是在程序结束时没有释放这部分内存,从而造成那一部分内存不可用的情况,重起计算机可以解决,但是也有可能再次发生内存泄露,内存泄露和硬件没有关系,它是由软件引起的。

一般我们常说的内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的,大小任意的(内存块的大小可以在程序运行期决定),使用完后必须显示释放的内存。应用程序一般使用malloc,realloc,new等函数从堆中分配到一块内存,使用完后,程序必须负责相应的调用free或delete释放该内存块,否则,这块内存就不能被再次使用,我们就说这块内存泄漏了。 5. char* p = “12345 “;

printf (“%c “, *p++); printf( “%c “, *p++);

为什么输出 1, 2, 而不是 2, 3 ? 答:对于表达式中的++而言,记住一个顺序:

后置++在表达式后求值 前置++在表达式前求值 因此题目变为:

char* p = “12345 “; printf( “%c “, *p); p++;

printf( “%c “, *p); p++;

6.基类指针、派生类指针与他们的关系

基类指针可以指向基类对象; 派生类指针可以指向派生类对象; 基类指针可以指向派生类对象(无需强制转换),但只能引用基类中有的成员;

派生类指针指向基类对象,会引发语法错


部分c、c++笔试题集锦.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:混凝土结构设计2_复习题及答案2011_2012年

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: