设为首页 加入收藏

TOP

网易C++笔试题
2012-10-10 09:02:29 来源: 作者: 【 】 浏览:3467
Tags:网易 试题

网易C++(www.cppentry.com)笔试题1. #i nclude 和#i nclude “filename.h” 有什么区别?

答:对于#i nclude ,编译器从标准库路径开始搜索filename.h

对于#i nclude “filename.h”,编译器从用户的工作路径开始搜索filename.h 

 

 

网易C++(www.cppentry.com)笔试题2. 在C++(www.cppentry.com) 程序中调用被C 编译器编译后的函数,为什么要加extern “C”?

答:C++(www.cppentry.com)语言支持函数重载,C 语言不支持函数重载。函数被C++(www.cppentry.com)编译后在库中的名字与C 语言的不同。假设某个函数的原型为: void foo(int x, int y);

该函数被C 编译器编译后在库中的名字为_foo , 而C++(www.cppentry.com) 编译器则会产生像_foo_int_int 之类的名字。

C++(www.cppentry.com)提供了C 连接交换指定符号extern“C”来解决名字匹配问题。

 

 

网易C++(www.cppentry.com)笔试题3. 一个类有基类、内部有一个其他类的成员对象,构造函数的执行顺序是怎样的

答:先执行基类的(如果基类当中有虚基类,要先执行虚基类的,其他基类则按照声明派生类时的顺序依次执行),再执行成员对象的,最后执行自己的。

 

 

网易C++(www.cppentry.com)笔试题4. New delete 与malloc free 的区别

答案:用malloc 函数不能初始化对象,new 会调用对象的构造函数。Delete 会调用对象的destructor,而free 不会调用对象的destructor.

 

 

网易C++(www.cppentry.com)笔试题5.  Struct 和class 的区别

答案:struct 中成员变量和成员函数默认访问权限是public,class 是private

 

 

网易C++(www.cppentry.com)笔试题6.请问下面程序有什么错误
   int a[60][250][1000],i,j,k;
   for(k=0;k<=1000;k++)
    for(j=0;j<250;j++)
     for(i=0;i<60;i++)
      a[i][j][k]=0;
答案:把循环语句内外换一下

 

 

网易C++(www.cppentry.com)笔试题7. 请写出下列代码的输出内容
#include<stdio.h>
main()
{
int a,b,c,d;
a=10;
b=a++;
c=++a;
d=10*a++;
printf("b,c,d:%d,%d,%d",b,c,d);
return 0;
答:10,12,120

 

网易C++(www.cppentry.com)笔试题8. 写出BOOL,int,float,指针类型的变量a 与零的比较语句。

答案: BOOL : if ( !a )

int : if ( a == 0)

float : const EXPRESSION EXP = 0.000001

if ( a < EXP && a >-EXP)

pointer : if ( a != NULL)

 

 

网易C++(www.cppentry.com)笔试题9.已知strcpy 函数的原型是:

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

其中strDest 是目的字符串,strSrc 是源字符串。不调用C++(www.cppentry.com)/C 的字符串库函数,请编写函数 strcpy

答案:

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

{

if ( strDest == NULL || strSrc == NULL)

return NULL ;

if ( strDest == strSrc)

return strDest ;

char *tempptr = strDest ;

while( (*strDest++ = *strSrc++) != ‘’)

;

return tempptr ;

}

 

 

网易C++(www.cppentry.com)笔试题10.写一个函数找出一个整数数组中,第二大的数

答案:

const int MINNUMBER = -32767 ;

int find_sec_max( int data[] , int count) //类似于1 4 4 4这样的序列将认为1是第二大数

{

int maxnumber = data[0] ;

int sec_max = MINNUMBER ;

for ( int i = 1 ; i < count ; i++)

{

if ( data[i] > maxnumber )

{

sec_max = maxnumber ;

maxnumber = data[i] ;

}

else

{

if ( data[i] > sec_max )

sec_max = data[i] ;

}

}

return sec_max ;

}

 
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇关于C++ Traints——网易09年笔试.. 下一篇2012网易C++笔试题解答

最新文章

热门文章

C 语言

C++基础

windows编程基础

linux编程基础

C/C++面试题目