![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
yanzi1225627
南无飒哆喃。三藐三菩陀。俱胝喃。怛侄他。唵。折戾主戾。准提娑婆哈。南无阿弥陀佛。
展开
-
C语言 sizeof和strlen之间的那些事 C/C++软件开发求职面试题 必备考点(一)
找工作在即,以后决定每天至少写一个知识点,主要是记录,逼迫自己动手、总结加深印象。当然如果能有一言半语让他人收益,后学幸运之至也。如有错误,还希望大家帮忙指出来。感激不尽。 后学保证每个写出来的结果都是自己在电脑上亲自跑过的,咱人笨,以前学的也半吊子。很多时候只能靠运行出来的结果再反过来总结,再结合书上讲的,才能融为自己的。环境为:Fedora14 GCC / g++编译器 32原创 2012-08-07 14:00:24 · 4556 阅读 · 5 评论 -
算法设计:从一个很大很大的数组里找前N个最大数的思路之一
这里先讲一种类似于快速排序的方法。注意题目要求,不要求完全排序,只要求最快解决问题!这个题是我面试NI公司时,对方问我的。原话是从1亿个数据里,找出前一百个最大的。首先看源码吧:void main(int a[], int start, int end, int N)//从数组a里,找出前N个最大的。如果是a[100],则start = 0, end = 99.注意这个索 引问题原创 2012-10-25 08:30:36 · 14983 阅读 · 2 评论 -
2013盘古搜索校园招聘笔试 回忆录
分java和c数据结构两个大教室,本来考的是java一看全不会就到另外一个教室考了。内容是五道选择题,和两道算法编程题,两道算法设计题。选择题考了快速排序的性能,完全二叉树的叶子节点和深度之间的关系。大题分别是:1,用非递归来实现二分查找2,在查找二叉树中,找两个节点最近的公共父亲节点3,从一亿个数据里,找前1000个最大的,如何设计4,有一个关键词数据库很大,里面有几原创 2012-10-25 08:37:29 · 3471 阅读 · 0 评论 -
关于宏#define使用陷阱总结
宏定义发生在预编译阶段,简单的说本质就是文本替换。使用时,有以下注意事项:1,用宏定义表达式时,要使用完备的括号如一下三个例子:#define ADD(a,b) a+b#define ADD(a, b) (a + b)#define ADD(a, b) (a) +(b)这三种定义,全部都是不符合要求的。陷阱如下:在计算ADD(a,b)*ADD(c,d)时,显然第一种出原创 2012-11-02 09:31:30 · 2569 阅读 · 0 评论 -
算法设计:有n个数,范围是从1到n,且只有唯一的两个数相同,如何最快的求相同的这个数值?
为了方便问题描述,假设n = 10,即数组a[10]里有10个数,范围是从1到10,且里面只有两个数的值是相同的。如何求这个相同的数值。常规思路:1,先冒泡排序,然后用while循环找出这个相同的数值2,直接用冒泡的思路,i从0到n-2,j = i+1,依次比,找出相同的数值。上述复杂度都太高,而且没有充分利用到这里面的特殊条件:有且只有两个值是相同的。事实上,可以对这个数组a原创 2012-11-03 16:08:55 · 4318 阅读 · 18 评论 -
算法设计:如何求数组中第2大的数
一种思路是利用两次冒泡法,因为第一次冒泡,最大的在a[n-1],第二次冒泡后,次最大值在a[n-2]这样直接返回即可。核心代码如下:for(int i=0; i<2; i++)for(int j=0; j<n-i-1; j++){ if(a[j] >a[j+1]) swap(a[j], a[j+1]);}return a[n-2];但是这样做,显然效率不够高,几乎原创 2012-10-25 16:50:25 · 17300 阅读 · 6 评论 -
算法设计:如何求数组中第i大 或 第i小的数 (续上)
http://blog.csdn.net/yanzi1225627/article/details/8111806 、http://www.eyeandroid.com/thread-9629-1-1.html这里讨论了求第二大的思路。现在研究如果是第i大怎么办? 先清晰一下概念,如果有个数组a[6] = 2 60 10 32 84 6; 那么第1大的数是最大值84, 第2大是60, 第3大是原创 2012-10-25 18:35:34 · 5680 阅读 · 1 评论 -
深圳宜搜2013校园招聘 笔试回忆录
分C/C++ 和java、 hadoop、android、数据分析几大类,笔试题各不相同。后来java和hadoop做的相同的题。我做的c/C++试题。两道选择题很简单。剩下的是大题:1,写出你知道的排序方法,及时间复杂度及稳定性。至少五个2,写出熟悉的Linux的命令 至少十个3,现在有个数组如a[] = { 5 8 910 2 3 4}, 即数组不是一直递增的,而是分成两段递增原创 2012-11-07 20:12:47 · 3621 阅读 · 0 评论 -
TI公司电话面试 ---- 问题回忆录 2012年8月20
C/C++部分:1,C的全局变量和局部变量,用同一个名字C是否允许?多个子函数和全局变量重名,在局部函数里究竟指的是哪个?2,int const*p 和int *const p的区别3,函数指针和指针函数的区别,为什么会用到函数指针? 提示---和函数数组有关系。函数数组??4,算法部分,递归排序 插入排序5,MFC基本的三种类型,单文档对话框建成之后有多少个类单片原创 2012-08-20 17:35:36 · 6549 阅读 · 0 评论 -
程序员最该看的30本书---------------------------国外编辑推荐
“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西。”很多程序员响应,他们在推荐时也写下自己的评语。以前就有国内网友介绍这个程序员书单,不过都是推荐数 Top 10的书。其实除了前10本之外,推荐数前30左右的书籍都算经典 ,下面就按照各本书的推荐数排列。1. 《代码大全》 史原创 2012-08-11 09:17:51 · 15947 阅读 · 26 评论 -
C++里if语句的return 什么作用
谁让自己基础差呢,突然想到这个问题,写了个小测试例子:#include using namespace std;void test(int x);int main() {int a;coutcin>>a;couttest(a); coutreturn 0;}void test(int x){if(x>100){cout原创 2012-07-31 12:56:51 · 12878 阅读 · 3 评论 -
北京某嵌入式公司2013校园招聘笔试题
北京一个嵌入式公司的,具体什么公司记不清了。当时把题目抄在了白纸上,今天翻出来,记录于此。1,Arm编译后结果有几部分?跟存储ROM和RAM有什么关系?2,常见的嵌入式操作系统3,嵌入式处理器一般有哪几类中断,各有什么用途?4,评价usigned int zero = 0; usigned int CompZero = 0xFF;7, volatil原创 2012-12-09 13:12:43 · 4796 阅读 · 0 评论 -
百度2013校园招聘软件研发工程师笔试题 高清扫描版(网络首发)
百度2013校园招聘软件研发工程师笔试题,朋友给的卷子我扫描的。那天很遗憾错过了百度的笔试。总体说,百度不是非常看重笔试结果,一般考的不太好的也给机会去一面,也可以霸面。百度看的是人的潜力和学习能力,考的题么很重算法。这点互联网公司都一样。百度的北京研发,是19万吧今年。所以不要轻易放弃百度啊!!! 题目还是有难度的,希望各位同仁共同参研。下面发张截图:完整版下载请点击:原创 2012-12-10 16:20:18 · 11362 阅读 · 0 评论 -
搜狗2013校园招聘笔试题 高清扫描(网络首发,共20页)
搜狗的笔试题挺难的,个人觉的,分了好几大类在一张卷子上。共20页。今年参加笔试的人有三四千吧,两千多是有的。通知面试的人有几百号吧。最终整个陕西就要了两个人。 年薪23万。题目挺难的,但我同学说感觉还好,挺灵活的。如有意者,早早准备还是有希望的。我把题目发出来,希望大家共同学习参研,共同进步。下面发几个截图,如果要完整版请点击链接下载或加入到指定的群里。完整版下载原创 2012-12-10 16:30:14 · 7416 阅读 · 0 评论 -
万达信息科技2013春季招聘 面试记录
对这个单位不是太了解,也不知道跟那个万达广场什么关系。只知道这单位经常给政府部门做东西,多是Java javaweb 数据库之类的。问了一道算法题,假定给数字 5 5 6 8,有运算符加 减 乘 除,问怎么设计算法才能让输出结果等于一个给定值,比如24. (回溯法?)还问了个问题,西安的面积是多大? 这个真心不知道,我说转换成计算西安有几个区,估算其中一个区的面积。还有问到structs。另外,就原创 2013-03-19 16:59:51 · 4982 阅读 · 1 评论 -
C++的String类的字符串分割实现----(效果等于Java的String类的split函数)
功能需求,输入一个字符串“1-2-3”切割出“1”、“2”、“3”。在Java下直接用String的split函数就可以了。c++下String没有直接提供这个函数,需要自己写。 网上给出的解决方案是这里的三种方法。但我是通过JNI访问的,在里面用这些vector可能不中,自己封装了个,仅供参考: String recogScop = "01-02-03"; cout<<recog原创 2013-05-31 11:28:26 · 6274 阅读 · 3 评论 -
windows下 使用ADT Bundle自带Eclipse 配置Cygwin、CDT进行C/C++开发过程
第一步:安装CDT 默认的ADT Bundle已经带了CDT工具,如果以前安装的eclipse没带的话,可以点击help--install new software,在work with里选择最上面的all available sites,然后选择CDT,进行安装。也可以直接添加一个CDT的网址,在http://www.eclipse.org/cdt/downloads.php 选择适合eclip原创 2013-11-22 07:16:15 · 12442 阅读 · 7 评论 -
由实例浅析C中的static、extern、multiple definition of用法及陷阱
在JNI中,经常会遇到这种场景:想在一个.h文件中写一些全局变量,然后所有的cpp文件都能够使用。如下有个a.h文件:/* * a.h * * Created on: 2014-4-16 * Author: Administrator */#ifndef A_H_#define A_H_int mAge = 0;void setAge(int age);int原创 2014-04-17 00:16:18 · 4446 阅读 · 1 评论 -
算法设计:二维数组,横向纵向均递增,如何查找n是否在数组里??
这个题在笔试中经常会考到,这里做个总结。思路就是,从矩阵的最右上角的元素开始扫描a[i][j],如果要查找的数n小于该元素,则让i--,即往左移动一个数据再比较。如果n大于该数,则让j++,让原来的数往下移动一个数接着比较。 这里的设计思路就是充分利用了,数组横向纵向都递增的规律。而且巧妙的,一次只改变行数或列数,对应的列数或行数保持不变来进行搜索。 这和二维数组的螺旋打印异曲同工,待杂家有时原创 2012-10-24 17:52:22 · 5565 阅读 · 0 评论 -
人民搜索2013年招聘的三道算法题 西安站
一共二十道选择题,都是考数据结构的,挺难的。三道算法题:第一道,一个有序的数组,里面有重复的,找到第一个出现某个数字的位置。 思路是二分这般查找,先查找到,然后找所在的首次位置。第二道,有一个N*M的方格子,每个方格子上都有一定数目的金币。小明现在在最左上角的位置(0,0),往最右下角走,只能向右向下走,请问怎么走才能使得到的金币最大?? 第二问,走到最右下角时,然后再返回到左上角,只原创 2012-10-30 22:00:46 · 2746 阅读 · 0 评论 -
字符串拼接函数strcat的实现 while(*p++ !='\0')跳出后,p究竟指向哪? C/C++求职面试必备考点(三)
在研究strcat函数实现的时候,发现了while(*p++ !=‘\0’)的大秘密,也让我发现了在上篇博客中我犯的一个错误。原以为跳出后,P指向'\0',而实际上并非如此!我按跳出后P指向'\0',结果怎么拼接都实现不了,NND。为了验证这个问题,我们先上个小程序吧:#includevoid main(){ char *p = "abcdefg"; while(*p+原创 2012-08-08 16:04:49 · 7246 阅读 · 7 评论 -
不调用库函数,实现字符串复制函数char * strcpy(char * dst, const char * src) C/C++软件开发求职面试题 必备考点(二)
直接来源码:#incude char *strcpy(char *dst, const char *src){if(dst == NULL || src == NULL)return;char *dstFirst = dst;while( (*dst ++ = *src ++) != '\0');return dstFirst;} int getLen(原创 2012-08-08 13:41:34 · 4905 阅读 · 2 评论 -
C语言 复杂指针的申明问题 数组指针 指针数组 函数指针 指针函数一览无遗! C/C++求职面试必备考点(四)
首先,看如下8个题,如果您能不看任何资料的情况下做对。那么恭喜您,这块应该基本没问题了。因为再复杂的组合都是从这上面8种里变出来的。1,定义一个整形数2,定义一个指向整形数的指针3,定义一个指向指针的指针,它指向的指针,是一个指向整形数的指针4,定义一个具有10个整形数的数组5,定义一个具有10个指针的数组,这些指针都是指向整形数的6,定义一个指向有10个整形数 数组的指针原创 2012-08-09 13:06:52 · 4326 阅读 · 1 评论 -
指针赋值 int a[5]={.... ...}, a 、&a[0]、 &a三者之间的区别 浅析 C/C++求职面试必备考点(五)
首先,来看代码:#include void main(){char a[] = "BruceLee!";char *p = a;printf("%c\n", *(p+4));printf("%c\n", p[4]);printf("%s\n", p);printf("%c\n", a[4]);printf("%c\n", *(a+4));printf("%s\n", a原创 2012-08-12 22:50:44 · 7812 阅读 · 2 评论 -
2012威盛软件类面试(一上午三轮)
威盛的面试,一上午三轮。第一轮、第二轮之后,有人直接就进入终面,也就是hr面。四人一组,hr问问题后,大家依次回答。比如,自我介绍,自己的优点缺点,自己的定位,觉的自己的性格好坏。我的第一轮面试,主要讲项目。第二轮,讲完项目之后,考了c语言。 atoi函数,让自己封装。并让自己作一些安全性检测,如输入是否为NULL,是否在0到9的范围内。最后问,如果测试的话你能想出几种测试的情况。然后问了原创 2012-09-26 16:08:05 · 2626 阅读 · 0 评论 -
2012华为软件机试题 浅析 --------------------C/C++ 西安交大考点
热火朝天准备了两天的华为机试,终于考了。考前很虚,很多东西没看。好在华为的机试不考死记硬背的东西,考的编程的规范、思维。今年的考题只有一道,时间20分钟。所有人都是C/C++,没有java。真正编代码的时间也就五六分钟,题很简单。但我觉的,还是很有水平的题。题目:将字符串中的每一个字符,变成他的下一个字符。大小写不变,如果是z就改成a。(其他的没说,如果是Z改成A)。比如,输入为abcf,输出原创 2012-09-10 16:06:23 · 5963 阅读 · 14 评论 -
2012华为软件机试题 浅析(二) ------------------C/C++ 西安交大考点
经与哥们联系,有的时间段的人,机试考的是这个题:将一个字符串中的小写字母变成大写的,如果是大写的则保持不变。如果是字母之外的符号如“,”、“?”等,则去掉这些符号。原型给定void change2(const char *pIn, char *pOut)。下面是我的作答,仅供参考:void change2(const char *pIn, char *pOut){ //c原创 2012-09-10 17:19:36 · 4452 阅读 · 10 评论 -
2012美国国家仪器NI公司 第二次面试内容
虽然自己没机会参加,把内容记下,看到这篇文章的同道有志于往NI发展的,可以提前准备。第二次面试是明天,与第一次面试相隔一天。面试时间为一整上午,分为四轮:第一,纯英语ppt汇报。内容不限,但最好是自己做过的项目相关的。第二,性格测试。一人一个大哥,给你聊,或者做题,看你性格各方面是否稳定。第三,技术面试。第四,上机编程,半个小时时间。这四轮下来,通过的也就该发offer了吧原创 2012-09-13 08:20:49 · 6291 阅读 · 0 评论 -
2012美国国家仪器(NI)公司 面试回忆录
昨天的宣讲,今天下午第一轮面试,意料中被毙掉了!最近很累,每天找工作像打仗一样,但觉的还是应该把心得及面试内容及时写下,总结。 这是正式找工作第一次面试,中午一觉睡过了,谁知道去高新六路要一个半小时,他大爷的,我一路上抢了个摩的,就这还迟到了十分钟,唉,悲剧啊。 这次面试称为综合面试,半个小时,原则上不考技术,一个屋子里四个经理在同时面试。其他组都问的做的项目,原创 2012-09-12 21:55:30 · 8860 阅读 · 0 评论 -
2012中兴软件笔试 回忆录
昨晚中兴笔试,时间为70分钟,题量和网上流传的2012年(是2012年招聘,其实是2011年考的题,下载链接为:http://download.csdn.net/detail/yanzi1225627/4573065)的题量一模一样。分别是:选择题:20*1分多选题:20*2分判断题:10*1分简答题:4*4编程题:2*7时间不算紧张,因为前面选择题和判断不会也可以蒙。今年原创 2012-09-16 09:20:51 · 4997 阅读 · 3 评论 -
书-----(暑假公司实习,带我的师父推荐的关于编程方面的书)
基础:• C:《The c programming langage》• C++:《Thinking in C++》,《The c++ programming language》,《effective c++》,《more effective c++》,《exceptional c++》,《more exceptional c++》,《inside the c++ object mo原创 2012-10-09 10:55:56 · 3598 阅读 · 0 评论 -
2012 苏州瑞晟微电子 面试(共两轮,每次近一个半小时)
期待已久的苏州瑞晟微电子终于来了。面试一共两轮,之前笔试过,但他们公司参考笔试的成分只有10%不到,很看重个人的能力,不愧是台湾同胞开的公司啊,很人性化。面试官都是从台湾来的。 就是今年他们怎么面试这么晚啊。 第一轮面试,算是技术面试吧。首先自我介绍,谈自己的项目,他中间会打断问一些问题。如Tcp的拥塞控制,怎么控制流量的,TCP和UDP的区别,大概写下UDP的socket流程。中间,原创 2012-10-12 09:03:40 · 30410 阅读 · 10 评论 -
2012年阿里巴巴笔试 西安站 研发/算法工程师
一共100分的题,分单选20分,多选20分(一共四道,每个5分),填空题40分,综合题20分。综合题:当你输入网址,如www.taobao.com,然后按下回车键,分析 浏览器、TCP、UDP、HTTP,以及服务器端是如何工作的,一共20分。大题1,有一个公司,每个员工过生日的时候,所有人都放假一天,假设一年365天,每个人的生日是均匀分配在365天,问这个公司招多少人,公司所有员工的期望原创 2012-10-11 22:32:47 · 7815 阅读 · 0 评论 -
2012 360校招技术类--------算法设计 传教士过河问题(欢迎各位大牛赐教)
在河的左岸,有M个传教士,和C个野人,一条船。已知,M》=C。且,1:船只能载两个人,当然得有一个人划船。传教士和野人都可以划船。 2:当野人数目超过传教士数目时,传教士就会有危险。问:现在传教士想把所有人都运到河对岸,该怎么运? 请编程规划出方案。请大家赐教! (个人的疑惑:如果两个野人一条船到河对岸,那么野人会把船再划回来吗? 从题意来看,得不到明确判断啊原创 2012-10-13 09:22:44 · 3098 阅读 · 3 评论 -
2012年 人人网校招 研发类的三道大题
1,有一个单向循环链表,要求删除连续重复出现的,(head节点存放数据,且各个节点都是有数据的)如,s1-s1-s2-s3-s4-s4-s1,删除后得到s1-s2-s3-s4.注意,如果尾节点数据和头结点数据相同,则要删除一个。题目上给出了函数原型。2,在一条自西向东的公路上有10个加油站。现在要选出一个站点作为总补给点,运油车从总补给点一次只能载一车油,且每天要给每个站点都送一车油。问,原创 2012-10-13 09:32:10 · 3271 阅读 · 0 评论 -
4399研发类笔试 回忆录 2012------大牛指点下
1, 2个进程共享3个内存资源,不死锁,每个进程申请多少个资源?2, 短作业优先调度算法3, 哈夫曼带权路径长度4, 折半查找的次数5, 关系数据库处理的基本单元是?? 大题:1,环状单链表,给一个指针指向一个节点,求离这个节点最远的那个节点2, 用c++或java实现工厂模式、迭代器模式,3, SQL更新,给的有具体的背景,一共三问4, 数字全原创 2012-10-13 23:03:34 · 3939 阅读 · 0 评论 -
找工作时 谨记三个圈
今天去汇川面试,面试官的一席话让我受益匪浅。找工作时,一定要看三个圈:第一个圈,自己的能力、强项。第二个圈,自己的意愿第三个圈,外部环境,公司所能提供的岗位!如果这三个圈有交集,这份工作无疑是一份满意的工作!如果没有交集,那就看自己的意愿,是否愿意放弃自己的强项,转学其他领域。 我们个人是拿这三个圈衡量定位自己,不要忘记,面试官也在以这三个圈在框我们,看是否有交集!原创 2012-10-17 14:06:57 · 2358 阅读 · 0 评论 -
C/C++拾遗(一):关于数组的指针和数组元素首地址的一道经典题
代码如下:#include int main(void){ int a[5] = {1, 2, 3, 4, 5}; int *ptr = (int *)(&a+1); int *p1 = a; int *p2 = &a[0]; int *p3 = (int *)(&a); if(p1 == p2){ printf("p1 == p2\n"); }else{ pr原创 2014-10-27 23:00:34 · 5548 阅读 · 1 评论