面试—每日一题(6)

    今天是第六期了!也总算到第六期了,不管搞什么,都贵在坚持!我还会坚持下去的,直到我找不到

 

面试来写为止!呵呵!我看,这下子够我喝一壶的了!

     

    今天这篇博文没有前几期的那么有主题,就是今天的这篇博文比较杂,题很多,不是针对某一个知识

 

点的,但是,每一个知识点,写出来也不够一篇博文的,所以我就把它们写在一起,正好凑成一篇博文!

 

好了,废话少说,速速进入今天的主题吧!

         题目一:

char str[] = "Young";

cout << sizeof(str) << ": ";

char *p    = str;    

cout << sizeof(p) << ": ";

char i     = 10;     

cout << sizeof(i) << ": ";

好了,写出答案吧!

 

正解:输出结果为: 6, 4, 1 。在说点题外话吧,从这题你也可以稍微的看出数组名和指针的某些区别

 

了吧!

 

题目二:

 

在不用到地方参数的情况下,交换两个参数的值。

 

平时,我们交换两个数的值一般都会用到一个中间变量,现在不能用这个中间变量来解决这个问题!

 

这就是题目的意思!解决吧!

题目三:

 

int i=10, j=10, k=3; k*=i+j; k 最后的值是 ?

 

这道题关键是清楚运算符的优先级。

 

正解:正解就是你到自己的机子上运行一下吧!哈哈!不能总是看吧,动手试一试!我不告诉你!

 

题目四:

class A

{

public:

  A() { p=this; }

  ~A() { if(p!=NULL) { delete p; p=NULL; } }

 

  A* p;

};

代码有什么问题?

 

正解:可能引起无限递归

 

题目五:

i nclude filename.h ”和# i nclude <filename.h> 的区别 ?

 

正解:

对于# i nclude <filename.h> 编译器从标准库开始搜索 filename.h

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

 

题目六:

内存的分配方式的分配方式有几种 ?

 

正解:

我有一篇专门是讲这个的博文,可以去看看,答案就在那个里面!

 

题目七:

实现双向链表删除一个节点 P ,在节点 P 后插入一个节点,写出这两个函数 ;

 

正解:见我的博文《算法不会,尚能饭否双线循环链表》

 

题目八:

写一个函数,将其中的 /t 都转换成 4 个空格。

 

正解:

题目九:

完成下列程序

 

*

 

*.*.

 

*..*..*..

 

*...*...*...*...

 

*....*....*....*....*....

 

*.....*.....*.....*.....*.....*.....

 

*......*......*......*......*......*......*......

 

*.......*.......*.......*.......*.......*.......*.......*.......

 

题目十:

 

费波那其数列, 1 1 2 3 5 ……编写程序求第十项。可以用递归,也可以用其他方法,但要说明

 

你选择的理由。

 

正解:

非递归:

原因:效率高


原因:代码清晰简洁

 

好了,就写到这里了!

 

还有大家一定要注意了,我以上的代码写的比较简单,其实,在真正的面试中是不能这么写代码的。

 

那你肯定会问我,那么该如何写呢 ?

 

面试中如何写代码?预知详情,请看下篇博文《面试—每日一题( 7 )》!好了,拜拜!


posted @ 2011-03-27 11:03  Java EE  阅读(139)  评论(0编辑  收藏  举报