博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面试—每日一题(6)
阅读量:4943 次
发布时间:2019-06-11

本文共 2573 字,大约阅读时间需要 8 分钟。

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

 

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

     

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

 

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

 

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

         题目一:

char str[] = "Young";

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

char *p    = str;    

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

char i     = 10;     

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

好了,写出答案吧!

 

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

 

了吧!

 

题目二:

 

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

 

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

 

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

正解:见代码 #include <iostream> using namespace std; int main() { int a, b; cin>>a >>b; a = a + b; b = a - b; a = a - b; cout<<a<<" "<<b<<endl; }

题目三:

 

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 个空格。

 

正解:

#include <iostream> using namespace std; void Change(char *); int main() { char *ch = "Guo/tDong Young"; Change(ch); } void Change(char *ch_to_Change) { do { if ('/t' == *ch_to_Change) { cout<<" "; } else { cout<<*ch_to_Change; } }while (*(ch_to_Change++) != '/0'); }

题目九:

完成下列程序

 

*

 

*.*.

 

*..*..*..

 

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

 

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

 

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

 

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

 

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

 

正解: #include <iostream> using namespace std; int main() { for (int i = 0; i < 8; ++i) { for (int j = 0; j <= i; ++j) { cout<<"*"; for (int k = 0; k < i; ++k) { cout<<"."; } } cout<<endl; } } 

题目十:

 

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

 

你选择的理由。

 

正解:

非递归:

#include <iostream> using namespace std; int Phon(int); int main() { int choose = 10; //求第十项的值 cout<<Phon(choose)<<endl; } int Phon(int n) { int a0, a1, a2; int i = 0; a0 = 1; a1 = 1; while (i < n - 2) { a2 = a0 + a1; a1 = a0; a0 = a2; i++; } return a2; }

原因:效率高

递归: #include <iostream> using namespace std; int Phon(int); int main() { cout<<Phon(10)<<endl; } int Phon(int n) { if (1 == n || 2 == n) { return 1; } else { return Phon(n - 1) + Phon(n - 2); } }

原因:代码清晰简洁

 

好了,就写到这里了!

 

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

 

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

 

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

转载于:https://www.cnblogs.com/JPAORM/archive/2011/03/27/2509895.html

你可能感兴趣的文章
outlook 设置163邮箱
查看>>
mysql优化——show processlist命令详解
查看>>
Solr服务器搭建
查看>>
画世界怎么用光影_世界绘画经典教程:水彩光影魔法教程
查看>>
win+rsync+php,跨平台的fswatch+rsync同步备份
查看>>
vue2 cdn 加载html,vue项目中使用CDN加载
查看>>
数组转集合踩坑
查看>>
node.js的异步I/O、事件驱动、单线程
查看>>
vue cli3 子目录问题
查看>>
github.com访问慢解决
查看>>
微服务架构最强详解
查看>>
转:哈夫曼树详解
查看>>
.Net Core Identity外面使用Cookie中间件
查看>>
【坐在马桶上看算法】算法1:最快最简单的排序——桶排序
查看>>
C#中泛型之Dictionary
查看>>
强连通分量
查看>>
使用Code First模式开发如何更新数据库(转载)
查看>>
sqoop导出工具
查看>>
Codeforces Round #376 (Div. 2)
查看>>
Codeforces 607D Power Tree 线段树 (看题解)
查看>>