java笔试题试题及答案.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
答案:正确   2.Unicode是用16位来表示一个字的。()   答案:正确    3.原生类中的数据类型均可任意转换。()   答案:错误   1.分别写出BOOL,int,float,指针类型的变量a 与“零”的比较语句。   答案:   BOOL :    if ( !a ) or if(a)   int :     if ( a == 0)   float :   const EXPRESSION EXP = 0.000001            if ( a EXP a -EXP)   pointer : if ( a != NULL) or if(a == NULL)     2.请说出const与#define 相比,有何优点?   答案:1) const 常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误。              2) 有些集成化的调试工具可以对const 常量进行调试,但是不能对宏常量进行调试。     3.简述数组与指针的区别?   数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。指针可以随时指向任意类型的内存块。   (1)修改内容上的差别   char a[] = “hello”;   a[0] = ‘X’;   char *p = “world”; // 注意p 指向常量字符串   p[0] = ‘X’; // 编译器不能发现该错误,运行时错误   (2) 用运算符sizeof 可以计算出数组的容量(字节数)。sizeof(p),p 为指针得到的是一个指针变量的字节数,而不是p 所指的内存容量。C++/C 语言没有办法知道指针所指的内存容量,除非在申请内存时记住它。注意当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。   char a[] = hello world;   char *p = a;   cout sizeof(a) endl; // 12 字节   cout sizeof(p) endl; // 4 字节   计算数组和指针的内存容量   void Func(char a[100])   {   cout sizeof(a) endl; // 4 字节而不是100 字节   }   4.类成员函数的重载、覆盖和隐藏区别?   答案:   a.成员函数被重载的特征:   (1)相同的范围(在同一个类中);   (2)函数名字相同;   (3)参数不同;   (4)virtual 关键字可有可无。   b.覆盖是指派生类函数覆盖基类函数,特征是:   (1)不同的范围(分别位于派生类与基类);   (2)函数名字相同;   (3)参数相同;   (4)基类函数必须有virtual 关键字。   c.“隐藏”是指派生类的函数屏蔽了与其同名的基类函数,规则如下:   (1)如果派生类的函数与基类的函数同名,但是参数不同。此时,不论有无virtual关键字,基类的函数将被隐藏(注意别与重载混淆)。   (2)如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有virtual 关键字。此时,基类的函数被隐藏(注意别与覆盖混淆)     5. There are two int variables: a and b, don’t use “if”, “? :”, “switch”or other judgement statements, find out the biggest one of the two numbers.   答案:( ( a + b ) + abs( a - b ) ) / 2     6. 如何打印出当前源文件的文件名以及源文件的当前行号?   答案:   cout __FILE__ ;   cout__LINE__ ;   __FILE__和__LINE__是系统预定义宏,这种宏并不是在某个文件中定义的,而是由编译器定义的。     7. main 主函数执行完毕后,是否可能会再执行一段代码,给出说明?   答案:可以,可以用_onexit 注册一个函数,它会在main 之后执行int fn1(void), fn2(void), fn3(void), fn4 (void);   void main( void )   {   String str(zhanglin);   _onexit( fn1 );   _onexit( fn2 );   _onexit( fn3 );   _onexit

文档评论(0)

159****8201 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档