﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-C++ Programmer's Cookbook-随笔分类-interview</title><link>http://www.cppblog.com/mzty/category/588.html</link><description>&lt;br/&gt;  
&lt;br/&gt;
&lt;a href = "http://www.cppblog.com/mzty/archive/2007/03/02/19109.html"&gt;&lt;font size = 5 color ="#00FFFF"&gt;{C++ 基础}&lt;font/&gt;&lt;/a&gt;

&lt;a href = "http://www.cppblog.com/mzty/archive/2007/08/13/29922.html"&gt;&lt;font size = 5 color ="#00FFFF"&gt;{C++ 高级}&lt;font/&gt;&lt;/a&gt;

&lt;a href = "http://www.cppblog.com/mzty/archive/2007/04/16/22064.html"&gt;&lt;font size = 5 color ="#00FFFF"&gt;{C#界面，C++核心算法}&lt;font/&gt;&lt;/a&gt;

&lt;a href = "http://www.cppblog.com/mzty/archive/2007/03/04/19163.html"&gt;&lt;font size = 5 color ="#00FFFF"&gt;{设计模式}&lt;font/&gt;&lt;/a&gt;

&lt;a href = "
http://www.cppblog.com/mzty/archive/2007/03/04/19167.html"&gt;&lt;font size = 5 color ="#FF0000"&gt;{C#基础}&lt;font/&gt;&lt;/a&gt;





</description><language>zh-cn</language><lastBuildDate>Tue, 20 May 2008 04:43:30 GMT</lastBuildDate><pubDate>Tue, 20 May 2008 04:43:30 GMT</pubDate><ttl>60</ttl><item><title>笔试题二（转）</title><link>http://www.cppblog.com/mzty/archive/2008/02/18/42876.html</link><dc:creator>梦在天涯</dc:creator><author>梦在天涯</author><pubDate>Mon, 18 Feb 2008 05:26:00 GMT</pubDate><guid>http://www.cppblog.com/mzty/archive/2008/02/18/42876.html</guid><wfw:comment>http://www.cppblog.com/mzty/comments/42876.html</wfw:comment><comments>http://www.cppblog.com/mzty/archive/2008/02/18/42876.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/mzty/comments/commentRss/42876.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/mzty/services/trackbacks/42876.html</trackback:ping><description><![CDATA[给定九个数，例如：1，3，3，5，6，7，8，8，9计算出这九个数的排列的种数。需要考虑重复情况，如果给定9个1，则只有一种结果。 <br>限制：不能使用stl库 <br>要求：完成函数&nbsp;unsigned&nbsp;int&nbsp;foo(unsigned&nbsp;int&nbsp;*arr); <br>输入算法代码，并给出算法复杂度分析。
<p>分析：&nbsp;</p>
<p>#include &lt;cstdlib&gt;<br>#include &lt;iostream&gt;</p>
<p>using namespace std;<br>unsigned int foo(unsigned int *arr)<br>{<br>&nbsp;&nbsp;&nbsp; unsigned int p[] ={1,2,6,24,120,720,5040,40320,362880};<br>&nbsp;&nbsp;&nbsp; unsigned int i,j,c,s=p[8];//first the number is p<sup>9<sub>9</sub></sup><br>&nbsp;&nbsp;&nbsp; for(i = 0; i &lt; 7; i++)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(j = i+1; j &lt; 8; j++)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(arr[i]&gt;arr[j])&nbsp; //swap two number<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; arr[i]^=arr[j];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; arr[j]^=arr[i];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; arr[i]^=arr[j];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; i = 0;<br>&nbsp;&nbsp;&nbsp; c = 0;<br>&nbsp;&nbsp;&nbsp; while(i&lt;8)<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; j = i+1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while(arr[i]==arr[j])//compute the number of the repetition&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c++;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; j++;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s/=p[c];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c=0;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i=j;<br>&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; return s;<br>}<br>&nbsp;&nbsp; <br>int main()<br>{<br>&nbsp;&nbsp;&nbsp; unsigned int a[]={1,3,3,5,6,7,8,8,9};<br>&nbsp;&nbsp;&nbsp; cout&lt;&lt;"The number of permutation is: "&lt;&lt;foo(a)&lt;&lt;endl;<br>&nbsp;&nbsp;&nbsp; system("pause");<br>&nbsp;&nbsp;&nbsp; return 0;<br>}&nbsp;&nbsp;&nbsp;&nbsp; <br>还可以改进排序那部分。</p>
<p>转一个经典的题目：</p>
<p>给一个天平,问如何用3次把这个小球找出来 <br>并且求出这个小球是比其他的轻还是重 <br>将12个球分别编号为a1,a2,a3.......a10,a11,a12. <br>第一步：将12球分开3拨，每拨4个，a1~a4第一拨，记为b1，&nbsp;a5~a8第2拨，记为b2，其余第3拨，记为b3； <br>第二步：将b1和b2放到天平两盘上，记左盘为c1，右为c2；这时候分两中情况： <br><br>1.c1和c2平衡，此时可以确定从a1到a8都是常球；然后把c2拿空，并从c1上拿下a4，从a9到a12四球里随便取三球，假设为a9到a11，放到c2上。此时c1上是a1到a3，c2上是a9到a11。从这里又分三种情况： <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A：天平平衡，很简单，说明没有放上去的a12就是异球，而到此步一共称了两次，所以将a12随便跟11个常球再称一次，也就是第三次，马上就可以确定a12是重还是轻； <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B：若c1上升，则这次称说明异球为a9到a11三球中的一个，而且是比常球重。取下c1所有的球，并将a8放到c1上，将a9取下，比较a8和a11（第三次称），如果平衡则说明从c2上取下的a9是偏重异球，如果不平衡，则偏向哪盘则哪盘里放的就是偏重异球； <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C：若c1下降，说明a9到a11里有一个是偏轻异球。次种情况和B类似，所以接下来的步骤照搬B就是； <br><br>2.c1和c2不平衡，这时候又分两种情况，c1上升和c1下降，但是不管哪种情况都能说明a9到a12是常球。这步是解题的关键。也是这个题最妙的地方。 <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A：c1上升，此时不能判断异球在哪盘也不能判断是轻还是重。取下c1中的a2到a4三球放一边，将c2中的a5和a6放到c1上，然后将常球a9放到c2上。至此，c1上是a1，a5和a6，c2上是a7，a8和a9。此时又分三中情况： <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1）如果平衡，说明天平上所有的球都是常球，异球在从c1上取下a2到a4中。而且可以断定异球轻重。因为a5到a8都是常球，而第2次称的时候c1是上升的，所以a2到a4里必然有一个轻球。那么第三次称就用来从a2到a4中找到轻球。这很简单，随便拿两球放到c1和c2，平衡则剩余的为要找球，不平衡则哪边低则哪个为要找球； <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2）c1仍然保持上升，则说明要么a1是要找的轻球，要么a7和a8两球中有一个是重球（这步懂吧？好好想想，很简单的。因为a9是常球，而取下的a2到a4肯定也是常球，还可以推出换盘放置的a5和a6也是常球。所以要么a1轻，要么a7或a8重）。至此，还剩一次称的机会。只需把a7和a8放上两盘，平衡则说明a1是要找的偏轻异球，如果不平衡，则哪边高说明哪个是偏重异球； <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3）如果换球称第2次后天平平衡打破，并且c1降低了，这说明异球肯定在换过来的a5和a6两求中，并且异球偏重，否则天平要么平衡要么保持c1上升。确定要找球是偏重之后，将a5和a6放到两盘上称第3次根据哪边高可以判定a5和a6哪个是重球； <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B：第1次称后c1是下降的，此时可以将c1看成c2，其实以后的步骤都同A，所以就不必要再重复叙述了。至此，不管情况如何，用且只用三次就能称出12个外观手感一模一样的小球中有质量不同于其他11球的偏常的球。而且在称的过程中可以判定其是偏轻还是偏重。 <br><br>3.U2 合唱团在17 分钟内得赶到演唱会场，途中必需跨过一座桥，四个人从桥的同一端出发，你得帮助他们到达另一端，天色很暗，而他们只有一只手电筒。一次同时最多可以有两人一起过桥，而过桥的时候必须持有手电筒，所以就得有人把手电筒带来带去，来回桥两端。手电筒是不能用丢的方式来传递的。四个人的步行速度各不同，若两人同行则以较慢者的速度为准。Bono 需花1 分钟过桥，Edge 需花2 分钟过桥，Adam需花 5 分钟过桥，Larry 需花10 分钟过桥。他们要如何在17 分钟内过桥呢？（有个同济的学生写文章说他当时在微软面试时就是碰到了这道题，最短只能做出在19分钟内过桥，微软的人对他讲这样的结果已经是不错的了！）&nbsp; <br>&nbsp; A点到 B 点 <br>&nbsp;1 和2 过去 2 分钟 2&nbsp; <br>&nbsp;2 过来 4 分钟 2+2=4 <br>10和 5过去 14 分钟 4+10=14&nbsp;&nbsp; <br>1 过来 15 分钟 14+1=15&nbsp;&nbsp; <br>1 和2 过去 17 分钟 15+2=17 </p>
<p>第一组&nbsp;&nbsp;<br>　　1.烧一根不均匀的绳，从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子，问如何用烧绳的方法来计时一个小时十五分钟呢?<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ans:三根绳，<font color=#ff0000>开始的时候，第一根点燃两端，第二根点燃一端，第三根不点</font>。<font color=#ff0000>第一根绳烧完(30分钟)后，点燃第二根绳的另一端</font>，第二根只要15分钟就可以烧完了，第二根绳烧完(45分钟)后，点燃第三根绳子两端，第三根绳烧完(1小时15分)后，计时完成<br><br>　　2.你有一桶果冻，其中有黄色、绿色、红色三种，闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻?<br><br>　　3.如果你有无穷多的水，一个3公升的提捅，一个5公升的提捅，两只提捅形状上下都不均匀，问你如何才能准确称出4公升的水?<br><br>　　4.一个岔路口分别通向诚实国和说谎国。来了两个人，已知一个是诚实国的，另一个是说谎国的。诚实国永远说实话，说谎国永远说谎话。现在你要去说谎国，但不知道应该走哪条路，需要问这两个人。请问应该怎么问?<br><br>　　5.12个球一个天平，现知道只有一个和其它的重量不同，问怎样称才能用三次就找到那个球。13个呢?(注意此题并未说明那个球的重量是轻是重，所以需要仔细考虑)<br><br>　　6.在9个点上画10条直线，要求每条直线上至少有三个点?<br><br>　　7.在一天的24小时之中，时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时间?你怎样算出来的?<br><br>　　8.怎么样种植4棵树木，使其中任意两棵树的距离相等?<br><br>　　第二组&nbsp;&nbsp;<br><br>　　1.为什么下水道的盖子是圆的?<br><br>　　2.中国有多少辆汽车?<br><br>　　3.将汽车钥匙插入车门，向哪个方向旋转就可以打开车锁?<br><br>　　4.如果你要去掉中国的34个省(含自治区、直辖市和港澳特区及台湾省)中的任何一个，你会去掉哪一个，为什么?<br><br>　　5.多少个加油站才能满足中国的所有汽车?<br><br>　　6.想象你站在镜子前，请问，为什么镜子中的影象可以颠倒左右，却不能颠倒上下?<br><br>　　7.为什么在任何旅馆里，你打开热水，热水都会瞬间倾泻而出?<br><br>　　8.你怎样将Excel的用法解释给你的奶奶听?<br><br>　　9.你怎样重新改进和设计一个ATM银行自动取款机?<br><br>　　10.如果你不得不重新学习一种新的计算机语言，你打算怎样着手来开始?<br><br>　　11.如果你的生涯规划中打算在5年内受到奖励，那获取该项奖励的动机是什么?观众是谁?<br><br>　　12.如果微软告诉你，我们打算投资五百万美元来启动你的投资计划，你将开始什么样商业计划?为什么?<br><br>　　13.如果你能够将全世界的电脑厂商集合在一个办公室里，然后告诉他们将被强迫做一件事，那件事将是什么?　<br><br>&nbsp;<br><br>第三组&nbsp;&nbsp;<br><br>　　1.你让工人为你工作7天，回报是一根金条，这个金条平分成相连的7段，你必须在每天结束的时候给他们一段金条。如果只允许你两次把金条弄断，你如何给你的工人付费?<br><br>　　2.有一辆火车以每小时15公里的速度离开北京直奔广州，同时另一辆火车每小时20公里的速度从广州开往北京。如果有一只鸟，以30公里每小时的速度和两辆火车同时启动，从北京出发，碰到另一辆车后就向相反的方向返回去飞，就这样依次在两辆火车之间来回地飞，直到两辆火车相遇。请问，这只鸟共飞行了多长的距离?<br><br>　　3.你有四个装药丸的罐子，每个药丸都有一定的重量，被污染的药丸是没被污染的药丸的重量+1。只称量一次，如何判断哪个罐子的药被污染了?<br><br>　　4.门外三个开关分别对应室内三盏灯，线路良好，在门外控制开关时候不能看到室内灯的情况，现在只允许进门一次，确定开关和灯的对应关系?<br><br>　　5.人民币为什么只有1、2、5、10的面值?<br><br>　　6.你有两个罐子以及50个红色弹球和50个蓝色弹球，随机选出一个罐子，&nbsp;随机选出一个弹球放入罐子，怎么给出红色弹球最大的选中机会?在你的计划里，得到红球的几率是多少?<br><br>　　7.给你两颗6面色子，可以在它们各个面上刻上0-9任意一个数字，要求能够用它们拼出任意一年中的日期数值<br><br>　　第四组&nbsp;<br><br>　　第一题&nbsp;.&nbsp;五个海盗抢到了100颗宝石，每一颗都一样大小和价值连城。他们决定这么分：<br><br>　　抽签决定自己的号码(1、2、3、4、5)<br><br>　　首先，由1号提出分配方案，然后大家表决，当且仅当超过半数的人同意时，按照他的方案<br><br>　　进行分配，否则将被扔进大海喂鲨鱼<br><br>　　如果1号死后，再由2号提出分配方案，然后剩下的4人进行表决，当且仅当超过半数的人同<br><br>　　意时，按照他的方案进行分配，否则将被扔入大海喂鲨鱼<br><br>　　依此类推<br><br>　　条件：每个海盗都是很聪明的人，都能很理智地做出判断，从而做出选择。<br><br>　　问题：第一个海盗提出怎样的分配方案才能使自己的收益最大化?<br><br>　　第二题&nbsp;.&nbsp;一道关于飞机加油的问题，已知：<br><br>　　每个飞机只有一个油箱，<br><br>　　飞机之间可以相互加油(注意是相互，没有加油机)<br><br>　　一箱油可供一架飞机绕地球飞半圈，<br><br>　　问题：<br><br>　　为使至少一架飞机绕地球一圈回到起飞时的飞机场，至少需要出动几架飞机?(所有飞机从同一机场起飞，而且必须安全返回机场，不允许中途降落，中间没有飞机场)第三题.&nbsp;汽车加油问题&nbsp;&nbsp;<br><br>　　一辆载油500升的汽车从A开往1000公里外的B，已知汽车每公里耗油量为1升，A处有无穷多的油，其他任何地点都没有油，但该车可以在任何地点存放油以备中转，问从A到B最少需要多少油<br><br>　　第四题.&nbsp;掷杯问题<br><br>　　一种杯子，若在第N层被摔破，则在任何比N高的楼层均会破，若在第M层不破，则在任何比M低的楼层均会破，给你两个这样的杯子，让你在100层高的楼层中测试，要求用最少的测试次数找出恰巧会使杯子破碎的楼层。<br><br>　　第五题.&nbsp;推理游戏<br><br>　　教授选出两个从2到9的数，把它们的和告诉学生甲，把它们的积告诉学生乙，让他们轮流猜这两个数<br><br>　　甲说：&#8220;我猜不出&#8221;<br><br>　　乙说：&#8220;我猜不出&#8221;<br><br>　　甲说：&#8220;我猜到了&#8221;<br><br>　　乙说：&#8220;我也猜到了&#8221;<br><br>　　问这两个数是多少<br><br>　　第六题.&nbsp;病狗问题<br><br>　　一个住宅区内有100户人家，每户人家养一条狗，每天傍晚大家都在同一个地方遛狗。已知这些狗中有一部分病狗，由于某种原因，狗的主人无法判断自己的狗是否是病狗，却能够分辨其他的狗是否有病，现在，上级传来通知，要求住户处决这些病狗，并且不允许指认他人的狗是病狗(就是只能判断自己的)，过了7天之后，所有的病狗都被处决了，问，一共有几只病狗?为什么?<br><br>　　第八题.&nbsp;监狱里有100个房间，每个房间内有一囚犯。一天，监狱长说，你们狱房外有一电灯，你们在放风时可以控制这个电灯(熄或亮)。每天只能有一个人出来放风，并且防风是随机的。如果在有限时间内，你们中的某人能对我说：&#8220;我敢保证，现在每个人都已经至少放过一次风了。&#8221;我就放了你们!问囚犯们要采取什么策略才能被监狱长放掉?如果采用了这种策略，大致多久他们可以被释放?<br><br>&nbsp;<br><br>第五组&nbsp;&nbsp;<br><br>　　1.某手机厂家由于设计失误，有可能造成电池寿命比原来设计的寿命短一半(不是冲放电时间)，解决方案就是免费更换电池或给50元购买该厂家新手机的折换券。请给所有已购买的用户写信告诉解决方案。<br><br>　　2.一高层领导在参观某博物馆时，向博物馆馆员小王要了一块明代的城砖作为纪念，按国家规定，任何人不得将博物馆收藏品变为私有。博物馆馆长需要如何写信给这位领导，将城砖取回。<br><br>　　3.营业员小姐由于工作失误，将2万元的笔记本电脑以1.2万元错卖给李先生，王小姐的经理怎么写信给李先生试图将钱要回来?<br><br>　　4.给你一款新研制的手机，如果你是测试组的组长，你会如何测试?<br><br>　　5.如何为函数int&nbsp;atoi(const&nbsp;char&nbsp;*&nbsp;pstr)编写测试向量?<br><br>　　第六组&nbsp;&nbsp;<br><br>　　1.链表和数组的区别在哪里?<br><br>　　2.编写实现链表排序的一种算法。说明为什么你会选择用这样的方法?<br><br>　　3.编写实现数组排序的一种算法。说明为什么你会选择用这样的方法?<br><br>　　4.请编写能直接实现char&nbsp;*&nbsp;strcpy(char&nbsp;*&nbsp;pstrDest,const&nbsp;char&nbsp;*&nbsp;pstrSource)函数功能的代码。<br><br>　　5.编写反转字符串的程序，要求优化速度、优化空间。<br><br>　　6.在链表里如何发现循环链接?<br><br>　　7.给出洗牌的一个算法，并将洗好的牌存储在一个整形数组里。<br><br>　　8.写一个函数，检查字符是否是整数，如果是，返回其整数值。(或者：怎样只用4行代码<br><br>　　9.给出一个函数来输出一个字符串的所有排列。<br><br>　　10.请编写实现void&nbsp;*&nbsp;malloc(int)内存分配函数功能一样的代码。<br><br>　　11.给出一个函数来复制两个字符串A和B。字符串A的后几个字节和字符串B的前几个字节重叠。<br><br>　　12.怎样编写一个程序，把一个有序整数数组放到二叉树中?<br><br>　　13.怎样从顶部开始逐层打印二叉树结点数据?请编程。<br><br>　　14.怎样把一个链表掉个顺序(也就是反序，注意链表的边界条件并考虑空链表)?&nbsp;--<br><br>　　15.请编写能直接实现int&nbsp;atoi(const&nbsp;char&nbsp;*&nbsp;pstr)函数功能的代码<br><br>-----------------------------------------------------------------------------------<br>第一组题答案：&nbsp;<br><br>　　<br>　　2)根据抽屉原理，4个<br><br>　　3)3升装满;3升-〉5升(全注入);3升装满;3升-〉5升(剩1升);5升倒掉;3升-〉5升(注入1升);3升装满;3升-〉5升;完成(另：可用回溯法编程求解)<br><br>　　4)问其中一人：另外一个人会说哪一条路是通往诚实国的?回答者所指的那条路必然是通往说谎国的。<br><br>　　5)12个球：<br><br>　　第一次：4，4&nbsp;如果平了：<br><br>　　那么剩下的球中取3放左边,取3个好球放右边，称：<br><br>　　如果左边重，那么取两个球称一下，哪个重哪个是次品，平的话第三个重，是次品，轻的话同理<br><br>　　如果平了，那么剩下一个次品，还可根据需要称出次品比正品轻或者重<br><br>　　如果不平：<br><br>　　那么不妨设左边重右边轻，为了便于说明，将左边4颗称为重球，右边4颗称为轻球，剩下4颗称为好球<br><br>　　取重球2颗，轻球2颗放在左侧，右侧放3颗好球和一颗轻球<br><br>　　如果左边重<br><br>　　称那两颗重球，重的一个次品，平的话右边轻球次品<br><br>　　如果右边重<br><br>　　称左边两颗轻球，轻的一个次品<br><br>　　如果平<br><br>　　称剩下两颗重球，重的一个次品，平的话剩下那颗轻球次品<br><br>　　13个球：<br><br>　　第一次：4，4，如果平了<br><br>　　剩5颗球用上面的方法仍旧能找出次品，只是不能知道次品是重是轻<br><br>　　如果不平，同上　<br><br>6)&nbsp;&nbsp;<br><br>　　o&nbsp;o&nbsp;o<br><br>　　o&nbsp;o&nbsp;o<br><br>　　o&nbsp;o&nbsp;o<br><br>　　7)<br><br>　　23次，因为分针要转24圈，时针才能转1圈，而分针和时针重合两次之间的间隔显然&gt;1小时，它们有23次重合机会，每次重合中秒针有一次重合机会，所以是23次<br><br>　　重合时间可以对照手表求出，也可列方程求出<br><br>　　8)<br><br>　　在地球表面种树，做一个地球内接的正四面体，内接点即为所求<br><br>　　第二组&nbsp;无标准答案&nbsp;&nbsp;<br><br>　　第三组&nbsp;<br><br>　　1.&nbsp;分成1,2,4三段，第一天给1，第二天给2取回1，第3天给1，第4天给4取回1、2，第5天给1，第6天给2取回1，第七天给1<br><br>　　2.&nbsp;求出火车相遇时间，鸟速乘以时间就是鸟飞行的距离<br><br>　　3.&nbsp;四个罐子中分别取1,2,3,4颗药丸，称出比正常重多少，即可判断出那个罐子的药被污染<br><br>　　4.&nbsp;三个开关分别：关，开，开10分钟，然后进屋，暗且凉的为开关1控制的灯，亮的为开关2控制的灯，暗且热的为开关3控制的灯<br><br>　　5.&nbsp;因为可以用1，2，5，10组合成任何需要的货币值，日常习惯为10进制<br><br>　　6.&nbsp;题意不理解...*_*<br><br>　　7.&nbsp;012345&nbsp;0126(9)78<br><br>　　第四组&nbsp;都是很难的题目&nbsp;&nbsp;<br><br>　　第一题：97&nbsp;0&nbsp;1&nbsp;2&nbsp;0&nbsp;或者&nbsp;97&nbsp;0&nbsp;1&nbsp;0&nbsp;2&nbsp;(提示：可用逆推法求出)<br><br>　　第二题：3架飞机5架次，飞法：<br><br>　　ABC&nbsp;3架同时起飞，1/8处，C给AB加满油，C返航，1/4处，B给A加满油，B返航，A到达1/2处，C从机场往另一方向起飞，3/4处，C同已经空油箱的A平分剩余油量，同时B从机场起飞，AC到7/8处同B平分剩余油量，刚好3架飞机同时返航。所以是3架飞机5架次。第三题：需要建立数学模型&nbsp;&nbsp;<br><br>　　(提示，严格证明该模型最优比较麻烦，但确实可证，大胆猜想是解题关键)<br><br>　　题目可归结为求数列&nbsp;an=500/(2n+1)&nbsp;n=0,1,2,3......的和Sn什么时候大于等于1000,解得n&gt;6<br><br>　　当n=6时，S6=977.57<br><br>　　所以第一个中转点离起始位置距离为1000-977.57=22.43公里<br><br>　　所以第一次中转之前共耗油&nbsp;22.43*(2*7+1)=336.50升<br><br>　　此后每次中转耗油500升<br><br>　　所以总耗油量为7*500+336.50=3836.50升<br><br>　　第四题：需要建立数学模型<br><br>　　题目可归结为求自然数列的和S什么时候大于等于100，解得n&gt;13<br><br>　　第一个杯子可能的投掷楼层分别为：14，27，39，50，60，69，77，84，90，95，99，100<br><br>　　第五题：3和4(可严格证明)<br><br>　　设两个数为n1，n2，n1&gt;=n2，甲听到的数为n=n1+n2，乙听到的数为m=n1*n2<br><br>　　证明n1=3，n2=4是唯一解<br><br>　　证明：要证以上命题为真，不妨先证n=7<br><br>　　1)必要性：<br><br>　　i)&nbsp;n&gt;5&nbsp;是显然的，因为n&lt;4不可能，n=4或者n=5甲都不可能回答不知道<br><br>　　ii)&nbsp;n&gt;6&nbsp;因为如果n=6的话，那么甲虽然不知道(不确定2+4还是3+3)但是无论是2，4还是3，3乙都不可能说不知道(m=8或者m=9的话乙说不知道是没有道理的)<br><br>　　iii)&nbsp;n&lt;8&nbsp;因为如果n&gt;=8的话，就可以将n分解成&nbsp;n=4+x&nbsp;和&nbsp;n=6+(x-2)，那么m可以是4x也可以是6(x-2)而4x=6(x-2)的必要条件是x=6即n=10，那样n又可以分解成8+2，所以总之当n&gt;=8时，n至少可以分解成两种不同的合数之和，这样乙说不知道的时候，甲就没有理由马上说知道。<br><br>　　以上证明了必要性<br><br>　　2)充分性<br><br>　　当n=7时，n可以分解成2+5或3+4<br><br>　　显然2+5不符合题意，舍去，容易判断出3+4符合题意，m=12，证毕<br><br>　　于是得到n=7&nbsp;m=12&nbsp;n1=3&nbsp;n2=4是唯一解。第六题：7只(数学归纳法证明)&nbsp;&nbsp;<br><br>　　1)若只有1只病狗，因为病狗主人看不到有其他病狗，必然会知道自己的狗是病狗(前提是一定存在病狗)，所以他会在第一天把病狗处决。<br><br>　　2)设有k只病狗的话，会在第k天被处决，那么，如果有k+1只，病狗的主人只会看到k只病狗，而第k天没有人处决病狗，病狗主人就会在第k+1天知道自己的狗是病狗，于是病狗在第k+1天被处决<br><br>　　3)由1)2)得，若有n只病狗，必然在第n天被处决<br><br>　　第八题：<br><br>　　约定好一个人作为报告人(可以是第一个放风的人)<br><br>　　规则如下：<br><br>　　1、报告人放风的时候开灯并数开灯次数<br><br>　　2、其他人第一次遇到开着灯放风时，将灯关闭<br><br>　　3、当报告人第100次开灯的时候，去向监狱长报告，要求监狱长放人......<br><br>　　按照概率大约30年后(10000天)他们可以被释放<br><br>　　第五组无标准答案&nbsp;&nbsp;<br><br>　　第六组部分题参考答案：&nbsp;&nbsp;<br><br>　　4.<br><br>char&nbsp;*&nbsp;strcpy(char&nbsp;*&nbsp;pstrDest,const&nbsp;char&nbsp;*&nbsp;pstrSource)<br>{<br>&nbsp;assert((pstrDest!=NULL)&amp;&amp;(pstrSource!=NULL));&nbsp;<br>&nbsp;char&nbsp;*&nbsp;pstr=pstrDest;<br>&nbsp;while((*(pstrDest++)=*(pstrSource++))!='\0');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;pstr;<br>}<br>&nbsp;<br><br><br>　　5.<br><br>char&nbsp;*&nbsp;strrev(char&nbsp;*&nbsp;pstr)<br>{<br>&nbsp;assert(pstr!=NULL);<br>&nbsp;<br>&nbsp;char&nbsp;*&nbsp;p=pstr;<br>&nbsp;char&nbsp;*&nbsp;pret=pstr;<br>&nbsp;while(*(p++)!='\0');<br>&nbsp;p--;<br>&nbsp;char&nbsp;tmp;<br>&nbsp;while(p&gt;pstr)<br>&nbsp;{<br>&nbsp;&nbsp;tmp=*p;<br>&nbsp;&nbsp;*(p--)=*(pstr);<br>&nbsp;&nbsp;*(pstr++)=tmp;&nbsp;&nbsp;<br>&nbsp;}<br>&nbsp;return&nbsp;pret; <br><br>百度笔试题：<br>IP段格式:ip1&nbsp;ip2。之间以空格分开，ip形式为X.X.X.X，数据保存在文件中，文件不超过2k行，无序。现在要求编写算法去掉可重IP，可重有三种形式：包含、交叠、紧靠。 <br><br>例如，文件内容为： <br>10.0.0.0&nbsp;10.0.0.12 <br>10.0.0.5&nbsp;10.0.0.10&nbsp;&nbsp;&nbsp;&nbsp;( &lt;=&nbsp;包含) <br>10.0.0.8&nbsp;10.0.0.<span style="COLOR: #ff0000">15</span>&nbsp;&nbsp;&nbsp;&nbsp;( &lt;=&nbsp;交叠) <br>10.0.0.<span style="COLOR: #ff00ff">15</span>&nbsp;10.0.0.24&nbsp;&nbsp;&nbsp;( &lt;=&nbsp;紧靠) <br><br>最后输出为: <br>10.0.0.0&nbsp;10.0.0.24</p>
<p>code：<br>/*<br>**这个函数的作用是将文件中的一行对应的两个数据转换成整形的数据<br>**比如把10.0.0.0&nbsp;10.0.0.12 转换后，left=10*2<sup>24,</sup>就是10.0.0.0对应的整数，每个数字对应8位，right=left+12<br>*/<br>void ParseLine( char line[], size_t length, unsigned int &amp;left, unsigned int &amp;right)<br>{<br>&nbsp;&nbsp;&nbsp; size_t i;<br>&nbsp;&nbsp;&nbsp; for( i=0; i&lt;length; i++ )<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( line[i]=='.' || line[i]==' ' )//将点变成0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line[i]=0;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; <font style="BACKGROUND-COLOR: #00ffff"><font style="BACKGROUND-COLOR: #ffff00">char *p&nbsp;&nbsp; = (char*)&amp;left;</font><br></font>&nbsp;&nbsp;&nbsp; char *num = line;<br>&nbsp;&nbsp;&nbsp; for( i=3; i&lt;4; --i ) //<font color=#ff0000>size是size_t，而size_t是unsigned int，所以i=0再自减后变成了最大的整数，循环就会终止<br></font>&nbsp;&nbsp;&nbsp; {<br>&nbsp;//&nbsp;cout&lt;&lt;i&lt;&lt;",";<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *(p+i) = strtol( num, &amp;num&nbsp; ,10 );<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;cout&lt;&lt;static_cast&lt;int&gt;(*(p+i))&lt;&lt;",";<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ++num;<br>&nbsp;//&nbsp;cout&lt;&lt;num&lt;&lt;":";<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; cout&lt;&lt;endl;<br>&nbsp;&nbsp;&nbsp; p = (char*)&amp;right;<br>&nbsp;&nbsp;&nbsp; for( i=3; i&lt;4; --i )<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *(p+i) = strtol( num, &amp;num, 10 );<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ++num;<br>&nbsp;&nbsp;&nbsp; }<br>}</p>
<p><br>void UniqueSequence(&nbsp; vector&lt;unsigned int&gt; &amp; uSeq, unsigned int left, unsigned int right )<br>{<br>&nbsp;&nbsp;&nbsp; size_t i, lPos=-1, rPos=-1;<br>&nbsp;&nbsp;&nbsp; for( i=0; i&lt;uSeq.size(); i++ )<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if( left &lt;= uSeq.at(i)&nbsp; )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lPos = i;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; for( ;i&lt;uSeq.size(); i++ )<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if( right&lt;=uSeq.at(i) )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rPos=i;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; if( lPos == -1 )<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; uSeq.push_back( left );<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; uSeq.push_back( right );&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;<br>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; if( lPos%2 == 0 )<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(&nbsp; uSeq.at(lPos)==left )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; uSeq.insert( uSeq.begin()+lPos, left );<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;else<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --lPos;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; if( rPos == -1 )<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; uSeq.erase( uSeq.begin()+(lPos+1), uSeq.end() );<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; uSeq.push_back(right);<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;else if(&nbsp; rPos%2 == 0&nbsp; )<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if( uSeq.at(rPos)== right )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; uSeq.erase( uSeq.begin()+(lPos+1), uSeq.begin()+(rPos+1) );<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; uSeq.erase( uSeq.begin()+(lPos+1), uSeq.begin()+rPos );<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; uSeq.insert( uSeq.begin()+rPos, right&nbsp; );<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;else<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; uSeq.erase( uSeq.begin()+(lPos+1), uSeq.begin()+rPos );<br>&nbsp;&nbsp;&nbsp; }<br>}</p>
<p><br>void PrintIP( unsigned int num )<br>{<br>&nbsp;&nbsp;&nbsp; char *p = (char*)&amp;num;<br>&nbsp;&nbsp;&nbsp; for( size_t i=3;i&gt;0; --i)<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cout&lt;&lt; (int)p[i]&lt;&lt;".";<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; cout&lt;&lt;(int)p[0];<br>}</p>
<p>#define MAX_BUFFER_LENGTH 100<br>int main()<br>{<br>&nbsp;&nbsp;&nbsp; unsigned int left, right;<br>&nbsp;&nbsp;&nbsp; char buffer[MAX_BUFFER_LENGTH];<br>&nbsp;&nbsp;&nbsp; ifstream infile( "test.txt" );<br>&nbsp;&nbsp;&nbsp; if( infile.fail() )<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 0;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; vector&lt;unsigned int&gt; uSeq;<br>&nbsp;&nbsp;&nbsp; while( infile.getline(buffer, MAX_BUFFER_LENGTH) )<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ParseLine(buffer, strlen(buffer), left, right);<br>&nbsp;//&nbsp;cout&lt;&lt;left&lt;&lt;","&lt;&lt;right&lt;&lt;endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UniqueSequence( uSeq, left, right );<br>&nbsp;&nbsp;for( size_t i=0; i&lt;uSeq.size(); i+=2 )<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PrintIP(uSeq.at(i) );<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cout&lt;&lt;"&nbsp; ";<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PrintIP(uSeq.at(i+1));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cout&lt;&lt;endl;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;cout&lt;&lt;endl;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; for( size_t i=0; i&lt;uSeq.size(); <font color=#ff0000>i+=2</font> )<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PrintIP(uSeq.at(i) );<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cout&lt;&lt;"&nbsp; ";<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PrintIP(uSeq.at(i+1));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cout&lt;&lt;endl;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; return 0;<br>}<br><br>/*<strong>long</strong> <strong>strtol(</strong> <strong>const</strong> <strong>char</strong> <strong>*</strong><em>nptr</em><strong>,</strong> <strong>char</strong> <strong>**</strong><em>endptr</em><strong>,</strong> <strong>int</strong> <em>base</em> <strong>),</strong>其中nptr是以NULL结尾字符串，<em>endptr</em>是字符串停止扫描的地方（Pointer to character that stops scan），<strong>strtol</strong> returns the value represented in the string <em>nptr，The <strong>strtol</strong> function converts nptr to a <strong>long</strong>. <strong>strtol</strong> stops reading the string nptr at the first character it cannot recognize as part of a number. This may be the terminating null character, or it may be the first numeric character greater than or equal to base. <br></em><font style="BACKGROUND-COLOR: #ffcc00">string = "-10110134932This stopped it";<br>&nbsp; l = strtol( string, &amp;stopstring, 10 );<br>&nbsp; printf( "string = %s", string );<br>&nbsp; printf("&nbsp;&nbsp; strtol = %ld", l );<br>&nbsp; printf("&nbsp;&nbsp; Stopped scan at: %s", stopstring );<br>&nbsp; string = "10110134932";<br>&nbsp; printf( "string = %s\n", string );<br>&nbsp; /* Convert string using base 2, 4, and 8: */<br>&nbsp; for( base = 2; base &lt;= 8; base *= 2 )<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp; /* Convert the string: */<br>&nbsp;&nbsp;&nbsp;&nbsp; ul = strtoul( string, &amp;stopstring, base );<br>&nbsp;&nbsp;&nbsp;&nbsp; printf( "&nbsp;&nbsp; strtol = %ld (base %d)\n", ul, base );<br>&nbsp;&nbsp;&nbsp;&nbsp; printf( "&nbsp;&nbsp; Stopped scan at: %s\n", stopstring );<br>&nbsp; }<br>打印的结果是：<br>string = -10110134932This stopped it&nbsp;&nbsp; strtol = -2147483647&nbsp;&nbsp; Stopped scan at: This stopped itstring = 10110134932<br>&nbsp; strtol = 45 (base 2)<br>&nbsp; Stopped scan at: 34932<br>&nbsp; strtol = 4423 (base 4)<br>&nbsp; Stopped scan at: 4932<br>&nbsp; strtol = 2134108 (base 8)<br>&nbsp; Stopped scan at: 932<br>*/</font></p>
<p><font style="BACKGROUND-COLOR: #ffffff">5.如果存在两个变量：a和b，不使用&#8220;if&#8221;、&#8220;?:&#8221;、 &#8220;switch&#8221;和其它的判断语句，找出两个数中的最大值。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 答案：( ( a + b ) + abs( a - b ) ) / 2</font></p>
<p>6. 写一个函数找出一个整数数组中，第二大的数 （microsoft）<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const int MINNUMBER = -32767 ;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int find_sec_max( int data[] , int count)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int maxnumber = data[0] ;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int sec_max = MINNUMBER ;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for ( int i = 1 ; i &lt; count ; i++)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( data[i] &gt; maxnumber )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sec_max = maxnumber ;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; maxnumber = data[i] ;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( data[i] &gt; sec_max )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sec_max = data[i] ;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return sec_max ;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p><img src ="http://www.cppblog.com/mzty/aggbug/42876.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/mzty/" target="_blank">梦在天涯</a> 2008-02-18 13:26 <a href="http://www.cppblog.com/mzty/archive/2008/02/18/42876.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>笔试题（转）</title><link>http://www.cppblog.com/mzty/archive/2008/02/18/42875.html</link><dc:creator>梦在天涯</dc:creator><author>梦在天涯</author><pubDate>Mon, 18 Feb 2008 05:25:00 GMT</pubDate><guid>http://www.cppblog.com/mzty/archive/2008/02/18/42875.html</guid><wfw:comment>http://www.cppblog.com/mzty/comments/42875.html</wfw:comment><comments>http://www.cppblog.com/mzty/archive/2008/02/18/42875.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/mzty/comments/commentRss/42875.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/mzty/services/trackbacks/42875.html</trackback:ping><description><![CDATA[<div class=postText>
<p><br>一、如何判断一个单链表是有环的？（注意不能用标志位，最多只能用两个额外指针）<br>&nbsp;&nbsp; struct node { char val; node* next;}<br>&nbsp;&nbsp;&nbsp;bool check(const node* head) {} //return&nbsp;false : 无环；true: 有环<br>&nbsp;&nbsp;&nbsp; 一种O（n）的办法就是（搞两个指针，一个每次递增一步，一个每次递增两步，如果有环的话两者必然重合，反之亦然）：<br>&nbsp;&nbsp;&nbsp;&nbsp;bool check(const node* head)<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if(head==NULL)&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;return false;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;node *low=head, *fast=head-&gt;next;<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; while(fast!=NULL &amp;&amp; fast-&gt;next!=NULL)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; low=low-&gt;next;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fast=fast-&gt;next-&gt;next;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(low==fast) <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp; }</p>
<p>&nbsp;二、删除一个单项链表的最中间的元素，要求时间尽可能短（不能使用两次循环）<br>struct link<br>{<br>&nbsp;&nbsp;&nbsp; int data;<br>&nbsp;&nbsp;&nbsp; struct link *next;<br>};<br><font color=#ff0000>void delMiddle(link *head)<br></font>{<br>&nbsp;&nbsp; &nbsp;if(head == NULL)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;<br>&nbsp;&nbsp; &nbsp;else if(head-&gt;next == NULL)<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;delete head;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;return;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp; &nbsp;else<br>&nbsp;&nbsp; &nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;link *low = head;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; link *fast = head-&gt;next;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while(fast != NULL &amp;&amp; fast-&gt;next != NULL)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;{&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;fast = fast-&gt;next-&gt;next;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;if(fast == NULL)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;low = low-&gt;next;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; link *temp = low-&gt;next;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;low-&gt;next = low-&gt;next-&gt;next;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;delete temp;<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp; }<br>}<br>int main()<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;struct link *head,*l;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;struct link *s;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;head = (link*)malloc(sizeof(link));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; head-&gt;data=0;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;head-&gt;next = NULL;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l = head;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;for(int i=1; i&lt;9; i++)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s = (link*)malloc(sizeof(link));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s-&gt;data = i;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s-&gt;next = NULL;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l-&gt;next= s;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;l = l-&gt;next;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print(head);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;delMiddle(head);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print(head);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 0;<br>}</p>
<p>三、输入n，求一个n*n矩阵，规定矩阵沿45度线递增(威盛)<br><span style="COLOR: #008000">/**<br>&nbsp;* 得到如下样式的二维数组<br>* zigzag（jpeg编码里取象素数据的排列顺序）<br>*<br>*&nbsp;&nbsp; 0, 1, 5, 6,14,15,27,28,<br>*&nbsp;&nbsp; 2, 4, 7,13,16,26,29,42,<br>*&nbsp;&nbsp; 3, 8,12,17,25,30,41,43,<br>*&nbsp;&nbsp; 9,11,18,24,31,40,44,53,<br>*&nbsp;&nbsp; 10,19,23,32,39,45,52,54,<br>*&nbsp;&nbsp; 20,22,33,38,46,51,55,60,<br>*&nbsp;&nbsp; 21,34,37,47,50,56,59,61,<br>*&nbsp;&nbsp; 35,36,48,49,57,58,62,63<br>&nbsp;*/</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">void zigzag(int n)<br>{<br>&nbsp;int **a =(int**) malloc(n*sizeof(int *));&nbsp; //分配空间<br>&nbsp;<br>&nbsp;if(NULL == a)<br>&nbsp;&nbsp;return ;<br>&nbsp;int i;<br>&nbsp;for(i = 0; i &lt; n; i++) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if((a[i] =(int*) malloc(n * sizeof(int))) == NULL) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while(--i&gt;=0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; free(a[i]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; free(a);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;<br>&nbsp;bool flag = false; //这个标志位用来判断是从45度角生成还是225度角生成<br>&nbsp;int count = 0;<br>&nbsp;for(i=0; i&lt;n; i++)&nbsp; //生成的上半部分的数据<br>&nbsp;{<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;if(flag)<br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;for(int r = 0; r&lt;=i; r++)<br>&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;a[r][i-r] = count;<br>&nbsp;&nbsp;&nbsp;&nbsp;count++;<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;flag = false;<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;else<br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;for(int r = i; r&gt;=0; r--)<br>&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;a[r][i-r] = count;<br>&nbsp;&nbsp;&nbsp;&nbsp;count++;<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;flag = true;<br>&nbsp;&nbsp;}<br>&nbsp;}<br>&nbsp;for(i=n-1; i&gt;=0; i--)&nbsp; //生成的是下半部分的数据<br>&nbsp;{<br>&nbsp;//&nbsp;cout&lt;&lt;i&lt;&lt;endl;<br>&nbsp;&nbsp;if(flag)<br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;for(int r = 0; r&lt;=i-1; r++)<br>&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;int r1 = n-i+r;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //代表当前行<br>&nbsp;&nbsp;&nbsp;&nbsp;int c1 = 2*n-i-1-r1;&nbsp; //代表当前列<br>&nbsp;&nbsp;&nbsp;&nbsp;a[r1][c1] = count;<br>&nbsp;&nbsp;&nbsp;&nbsp;count++;<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;flag = false;<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;else<br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;for(int r = i-1; r&gt;=0; r--)<br>&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"ddd"&lt;&lt;endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;int r1 = n-i+r;<br>&nbsp;&nbsp;&nbsp;&nbsp;int c1 = 2*n-i-1-r1;<br>&nbsp;//&nbsp;&nbsp;&nbsp;cout&lt;&lt;r1&lt;&lt;","&lt;&lt;c1&lt;&lt;endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;a[r1][c1] = count;<br>&nbsp;&nbsp;&nbsp;&nbsp;count++;<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;flag = true;<br>&nbsp;&nbsp;}<br>&nbsp;}<br>&nbsp;for(int r = 0; r&lt;n; r++)<br>&nbsp;{<br>&nbsp;&nbsp;for(int c=0; c&lt;n; c++)<br>&nbsp;&nbsp;&nbsp;cout&lt;&lt;a[r][c]&lt;&lt;",";<br>&nbsp;&nbsp;cout&lt;&lt;endl;<br>&nbsp;}<br>}<br>int main()<br>{<br>&nbsp;int n;<br>&nbsp;cin&gt;&gt;n;<br>&nbsp;zigzag(n);<br>&nbsp;return 0;<br>}<br>网上还有一个人写了一个比较巧的算法：<br><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">*<br>* 得到如下样式的二维数组<br>* zigzag（jpeg编码里取象素数据的排列顺序）<br>*<br>*&nbsp;&nbsp; 0, 1, 5, 6,14,15,27,28,<br>*&nbsp;&nbsp; 2, 4, 7,13,16,26,29,42,<br>*&nbsp;&nbsp; 3, 8,12,17,25,30,41,43,<br>*&nbsp;&nbsp; 9,11,18,24,31,40,44,53,<br>*&nbsp;&nbsp; 10,19,23,32,39,45,52,54,<br>*&nbsp;&nbsp; 20,22,33,38,46,51,55,60,<br>*&nbsp;&nbsp; 21,34,37,47,50,56,59,61,<br>*&nbsp;&nbsp; 35,36,48,49,57,58,62,63<br></span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br><br>#include </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">stdio.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> main()<br>{<br>&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> N;<br>&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> s, i, j;<br>&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> squa;<br>&nbsp;&nbsp;&nbsp; scanf(</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">%d</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">N);<br>&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000"> 分配空间 </span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">**</span><span style="COLOR: #000000">a </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> malloc(N </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">));<br>&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(a </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> NULL)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">0</span><span style="COLOR: #000000">;<br>&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">0</span><span style="COLOR: #000000">; i </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> N; i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">((a[i] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> malloc(N </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">))) </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> NULL) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">--</span><span style="COLOR: #000000">i</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #800080">0</span><span style="COLOR: #000000">)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; free(a[i]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; free(a);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">0</span><span style="COLOR: #000000">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000"> 数组赋值 </span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp; squa </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> N</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">N;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">0</span><span style="COLOR: #000000">; i </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> N; i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(j </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">0</span><span style="COLOR: #000000">; j </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> N; j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> i </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> j;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(s </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> N)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color=#ff0000>a[i][j] </font></span><font color=#ff0000><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> s</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">(s</span><span style="COLOR: #000000">+</span><span style="COLOR: #800080">1</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">/</span><span style="COLOR: #800080">2</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> (((i</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">j)</span><span style="COLOR: #000000">%</span><span style="COLOR: #800080">2</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">0</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">?</span></font><span style="COLOR: #000000"><font color=#ff0000> i : j);<br></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"> {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> (N</span><span style="COLOR: #000000">-</span><span style="COLOR: #800080">1</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">i) </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> (N</span><span style="COLOR: #000000">-</span><span style="COLOR: #800080">1</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">j);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color=#ff0000>a[i][j] </font></span><font color=#ff0000><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> squa </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000"> s</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">(s</span><span style="COLOR: #000000">+</span><span style="COLOR: #800080">1</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">/</span><span style="COLOR: #800080">2</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000"> (N </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000"> (((i</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">j)</span><span style="COLOR: #000000">%</span><span style="COLOR: #800080">2</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">0</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">?</span></font><span style="COLOR: #000000"><font color=#ff0000> i : j));<br></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000"> 打印输出 </span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">0</span><span style="COLOR: #000000">; i </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> N; i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(j </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">0</span><span style="COLOR: #000000">; j </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> N; j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">%-6d</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">, a[i][j]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">\n</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">);<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">0</span><span style="COLOR: #000000">;<br>}<br></span></span></p>
<p><span style="COLOR: #000000"><span style="COLOR: #000000">四、打印1到1000的整数，不能使用流程控制语句(for,while,goto等)也不能使用递归<br>1.<br>typedef <span style="COLOR: #0000ff">struct</span><span style="COLOR: #000000"> _test{<br>&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> a;<br>&nbsp;&nbsp;&nbsp; _test(){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">%d\n</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">,_test::a);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp; }Test;<br>&nbsp; </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> Test::a </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">1</span><span style="COLOR: #000000">;<br><br>&nbsp; </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;&nbsp; main()&nbsp;&nbsp; <br>&nbsp; {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; Test tt[</span><span style="COLOR: #800080">1000</span><span style="COLOR: #000000">];<br>&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">0</span><span style="COLOR: #000000">;<br>&nbsp; }&nbsp;&nbsp; <br>2.<br>#include &nbsp; &lt;stdio.h&gt; <br>#define &nbsp; B &nbsp; P,P,P,P,P,P,P,P,P,P <br>#define &nbsp; P &nbsp; L,L,L,L,L,L,L,L,L,L <br>#define &nbsp; L &nbsp; I,I,I,I,I,I,I,I,I,I,N <br>#define &nbsp; I &nbsp; printf( "%3d &nbsp; ",i++) <br>#define &nbsp; N &nbsp; printf( "\n ")&nbsp;<br>int&nbsp; main() <br>{ <br>&nbsp; &nbsp; int &nbsp; i &nbsp; = &nbsp; 1; <br>&nbsp; &nbsp; B; <br>} <br>或<br><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000"> A(x) x;x;x;x;x;x;x;x;x;x;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> main () <br>{<br>&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> n </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">1</span><span style="COLOR: #000000">; <br>&nbsp;&nbsp;&nbsp; A(A(A(printf (</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">%d </span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">, n</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">))));<br><br>&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">0</span><span style="COLOR: #000000">;<br>}</span><br><br></span></span></span><span style="COLOR: #000000"><span style="COLOR: #000000"></span></span></p>
<p><span style="COLOR: #000000">五、struct &nbsp; S &nbsp; { <br>&nbsp; &nbsp; &nbsp; &nbsp; int &nbsp; i; <br>&nbsp; &nbsp; &nbsp; &nbsp; int &nbsp; * &nbsp; p; <br>}; <br>void &nbsp; main() <br>{ <br>&nbsp; &nbsp; &nbsp; &nbsp; S &nbsp; s; <br>&nbsp; &nbsp; &nbsp; &nbsp; int &nbsp; * &nbsp; p &nbsp; = &nbsp; &amp;s.i; <br>&nbsp; &nbsp; &nbsp; &nbsp; p[0] &nbsp; = &nbsp; 4; <br>&nbsp; &nbsp; &nbsp; &nbsp; p[1] &nbsp; = &nbsp; 3; <br>&nbsp; &nbsp; &nbsp; &nbsp; s.p &nbsp; = &nbsp; p; <br>&nbsp; &nbsp; &nbsp; &nbsp; s.p[1] &nbsp; = &nbsp; 1; <br>&nbsp; &nbsp; &nbsp; &nbsp; s.p[0] &nbsp; = &nbsp; 2; <br>} <br>问程序会在哪一行死掉。 （microsoft）<br>解： S&nbsp;&nbsp; s; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;&nbsp; </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;&nbsp; p&nbsp;&nbsp; </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;&nbsp; </span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">s.i;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">s.i的地址存储在p里</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p[</span><span style="COLOR: #800080">0</span><span style="COLOR: #000000">]&nbsp;&nbsp; </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;&nbsp; </span><span style="COLOR: #800080">4</span><span style="COLOR: #000000">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">修改了s.i</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p[</span><span style="COLOR: #800080">1</span><span style="COLOR: #000000">]&nbsp;&nbsp; </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;&nbsp; </span><span style="COLOR: #800080">3</span><span style="COLOR: #000000">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">修改了s.p</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;s.p&nbsp;&nbsp; </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;&nbsp; p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">s.p指向s.i</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;s.p[</span><span style="COLOR: #800080">1</span><span style="COLOR: #000000">]&nbsp;&nbsp; </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;&nbsp; </span><span style="COLOR: #800080">1</span><span style="COLOR: #000000">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">修改s.p本身</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s.p[</span><span style="COLOR: #800080">0</span><span style="COLOR: #000000">]&nbsp;&nbsp; </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;&nbsp; </span><span style="COLOR: #800080">2</span><span style="COLOR: #000000">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">s.p指向的是0x00000001,尝试向这里写,出错<br><font color=#000000>&nbsp;&nbsp;&nbsp;&nbsp; s.p[0] &nbsp; &nbsp; &nbsp; = &nbsp; &nbsp; &nbsp; 2; &nbsp; 时出错 <br>&nbsp;&nbsp;&nbsp;&nbsp; 因为s.p存的是s.i的地址,s.p[1]为s.p,当s.p[1]=1时,s.p此时存放的是1了,而不是地址s.i,故在s.p[0] &nbsp; = &nbsp; 2时出错. <br>此时相当于s.p=ox00000001;地址ox0000001 &nbsp; = &nbsp; 2;当然就出错了 <br><br>如果语句s.p[0] &nbsp; =2 &nbsp; 先于s.p[1]=1则程序就不会出错.此时语句相当于s.i=2;s.p=1; </font><br></span></span></p>
<p><span style="COLOR: #000000">六、题目描述： <br>1.&nbsp;&nbsp; int &nbsp; swap(int &nbsp; *x,int &nbsp; *y) <br>{ <br>&nbsp; &nbsp; if(x==NULL &nbsp; &#166; &#166; &nbsp; y==NULL) <br>&nbsp; &nbsp; &nbsp; &nbsp; return &nbsp; -1; <br>&nbsp; &nbsp; *x &nbsp; += &nbsp; *y; <br>&nbsp; &nbsp; *y &nbsp; = &nbsp; *x- &nbsp; *y; <br>&nbsp; &nbsp; *x &nbsp; -= &nbsp; *y; <br>&nbsp; &nbsp; &nbsp; return &nbsp; 1; <br>} <br>请改错，溢出已经考虑，不是错误 <br>2. <br>void &nbsp; foo(int &nbsp; *x, &nbsp; int &nbsp; *y) <br>{ <br>&nbsp; &nbsp; *x &nbsp; += &nbsp; *y; <br>&nbsp; &nbsp; *x &nbsp; += &nbsp; *y; <br>} <br>void &nbsp; fun(int &nbsp; *x, &nbsp; int &nbsp; *y) <br>{ &nbsp; <br>&nbsp; &nbsp; *x &nbsp; += &nbsp; 2 &nbsp; * &nbsp; (*y); <br>&nbsp; } <br>问两个函数是否等价，能否互换 <br>解答<font color=#ff0000>：第一题的函数是交换。但假如考虑x, &nbsp; y都是指向同一个变量,结果是这个变量的值为0. <br>第二题的两个函数是有区别的,也考虑x,y是指向同一个变量.这样第一个函数的结果是这个变量的4倍.但第二个函数的结果是变量的3倍</font>.<br></span></p>
</div><img src ="http://www.cppblog.com/mzty/aggbug/42875.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/mzty/" target="_blank">梦在天涯</a> 2008-02-18 13:25 <a href="http://www.cppblog.com/mzty/archive/2008/02/18/42875.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>2007年迅雷招聘网上试题及解答1 (转)</title><link>http://www.cppblog.com/mzty/archive/2008/02/18/42874.html</link><dc:creator>梦在天涯</dc:creator><author>梦在天涯</author><pubDate>Mon, 18 Feb 2008 05:20:00 GMT</pubDate><guid>http://www.cppblog.com/mzty/archive/2008/02/18/42874.html</guid><wfw:comment>http://www.cppblog.com/mzty/comments/42874.html</wfw:comment><comments>http://www.cppblog.com/mzty/archive/2008/02/18/42874.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/mzty/comments/commentRss/42874.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/mzty/services/trackbacks/42874.html</trackback:ping><description><![CDATA[<p>转自：<a href="http://blog.csdn.net/ztj111/archive/2007/10/20/1834284.aspx">http://blog.csdn.net/ztj111/archive/2007/10/20/1834284.aspx</a></p>
<p>1.下列程序的输出结果为：(B)<br>#include&lt;iostream.h&gt;<br>void main()<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char* a[ ] = { "hello", "the", "world"};<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char** pa = a;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pa++;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cout&lt;&lt;&#8221;*pa&lt;&lt;endl;<br>}<br>A) theworld&nbsp;&nbsp;&nbsp; B) the&nbsp;&nbsp; C) ello&nbsp;&nbsp;&nbsp; D) ellotheworld<br>&nbsp;<br>2. 已知二叉树后序遍历序列是bfegcda，中序遍历序列是badefcg，它的前序遍历序列是：(B)<br>A) abcdefg&nbsp;&nbsp;&nbsp;&nbsp; B) abdcefg&nbsp;&nbsp;&nbsp; C) adbcfeg&nbsp;&nbsp;&nbsp; D) abecdfg<br>&nbsp;<br>3. 栈和队列的共同特点是：(C)<br>A) 都是先进先出&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B) 都是先进后出<br>C) 只允许在短点处插入和删除元素 D) 没有共同点<br>&nbsp;<br>4. 下面程序的运行结果为：(A)<br>#include &lt;iostream.h&gt;<br>void main()<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int a, x;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(a = 0, x = 0; a&lt;=1 &amp;&amp; !x++; a++)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a++;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cout&lt;&lt; a &lt;&lt; x &lt;&lt;endl;<br>}<br>A) 21&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B) 22&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C) 32&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D) 41<br>&nbsp;<br>5. 下列选项，不正确的是：(B) while后没有分号<br>&nbsp;A) for(int a=1; a&lt;=10; a++);<br>B) int a=1;<br>&nbsp;&nbsp; do<br>&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a++;<br>&nbsp;&nbsp; }while(a&lt;=10)<br>C) int a=1;<br>&nbsp;&nbsp; while(a&lt;=10)<br>&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a++;<br>}<br>D) for(int a= 1; a&lt;=10; a++)a++;<br>6. 下面关于数组的初始化正确的是：(B)<br>A) char str[2] = {&#8220;a&#8221;,&#8221;b&#8221;};<br>B) char str[2][3]={&#8220;a&#8221;,&#8221;b&#8221;};<br>C) char str[2][3]={{&#8216;a&#8217;,&#8217;b&#8217;},{&#8216;e&#8217;,&#8217;d&#8217;},{&#8216;e&#8217;,&#8217;f&#8217;}};<br>D) char str[] = {&#8220;a&#8221;, &#8220;b&#8221;};<br>&nbsp; </p>
<p>7. 下列说法正确的是：(B)<br>A) 内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方<br>B) 内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方<br>C) 类的内联函数必须在类体内定义<br>D) 类的内联函数必须在类体外通过关键字inline定义<br>&nbsp;<br>8．下面对静态成员的描述中，正确的是：(D)<br>A) 静态数据成员可以在类体内初始化<br>B) 静态数据成员不可以被类的对象调用<br>C) 静态数据成员不能受private控制符的作用<br>D) 静态数据成员可以直接用类名调用<br>&nbsp;<br>9. 下列运算符中，在C++语言中不能重载的是：(C)<br>A) *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B) &gt;=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C) ::&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D) delete<br>&nbsp;<br>10 下面关于多态性的描述，错误的是：(C)<br>A) C++语言的多态性分为编译时的多态性和运行时的多态性<br>B) 编译时的多态性可通过函数重载实现<br>C) 运行时的多态性可通过模板和虚函数实现 //模板的是编译时多态性，而虚函数是运行时<br>D) 实现运行时多态性的机制称为动态绑定<br>&nbsp;<br>11. 如果进栈序列为e1,e2,e3,e4,e5,则可能的出栈序列是：(D)<br>A) e3,e2,e5,e4,e1<br>B) e2,e3,e5,e4,e1<br>C)&nbsp;&nbsp;&nbsp; e3,e2,e4,e5,e1<br>D) 以上都有可能<br>&nbsp;<br>12 下面关于类和对象的描述中，错误的是：(A)<br>A) 类就是C语言中的结构体类型，对象就是C语言中的结构体变量<br>B) 类和对象之间的关系是抽象和具体的关系<br>C) 对象是类的实例，一个对象必须属于一个已知的类<br>D) 类是具有共同行为的若干对象的统一描述体<br>&nbsp;<br>13.下面关于数组的描述错误的是：（D）<br>A) 在C++语言中数组的名字就是指向该数组第一个元素的指针<br>B) 长度为n的数组，下标的范围是0－n-1<br>C) 数组的大小必须在编译是确定<br>D) 数组只能通过值参数和引用参数两种方式传递给函数<br>注释：<br>在把数组作为参数传递给函数时，有值传递(by value)和地址传递(by reference)两种方式。 <br>&nbsp;&nbsp;&nbsp; 在值传递方式中，要在数组参数的尾部加上一对方括号([])，调用函数时只需将数组的地址(即数组名)传递给函数。 <br>&nbsp;&nbsp;&nbsp; 例如：如果数组x被声明为：int x[10]; <br>&nbsp;&nbsp;&nbsp; 那麽函数被说明为：void byval_func(int[]); <br>&nbsp;&nbsp;&nbsp; 参数int[]告诉编译程序byval_func()函数只有一个参数,即一个由int型值组成的数组。&nbsp;&nbsp;&nbsp;&nbsp; <br>函数调用时只需将数组名传递给函数:byval_func(x);<br>#include &lt;stdio.h&gt; <br>&nbsp;void byval_func(int[]); <br>&nbsp;void main(void); <br>&nbsp;void main(void)<br>&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp; int x[10];<br>&nbsp;&nbsp;&nbsp;&nbsp; int y;<br>&nbsp;&nbsp;&nbsp;&nbsp; for(y=0;y&lt;10;y++)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x[y]=y;<br>&nbsp;&nbsp;&nbsp;&nbsp; byval_func(x);&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;} <br>&nbsp;void byal_func(int i[])<br>&nbsp;{ <br>&nbsp;&nbsp;&nbsp;&nbsp; int y;<br>&nbsp;&nbsp;&nbsp;&nbsp; for(y=0;y&lt;10;y++)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("%d\n",i[y]);<br>&nbsp;}<br>在值传递方式中,数组x将被复制一份,复制所得的数组将被存放在栈中,然后由byval_func()函数接收并打印出来。由於传递给byval_func()函数的是初始数组的一份拷贝，因此在byval_func()函数内部修改传递过来的数组对初始数组没有任何影响。 <br>&nbsp;&nbsp;&nbsp; 值传递方法的开销是很大的，因为首先它要完整地复制初始数组并将这份拷贝存放到栈中，这将耗费相当可观的运行时间， 因而值传递方法效率较低；其次，初始化数组的拷贝需要占用额外的内存空间（栈中的内存）；最后，编译程序需要专门产生一部分用来复制初始数组的代码，这将使程序变大。<br>&nbsp;&nbsp;&nbsp; 地址传递方法克服了值传递方法的缺点。在地址传递方法中，传递给函数的是指向初始数组的指针，不用复制数组，因此程序变得简练，也节省了栈中的内存空间。在地址传递过程中,只需在函数原形中将函数的参数说明为指向数组元素数据类型的一个指针。<br>&nbsp;&nbsp;&nbsp; 例如同样定义一个数组x：int x[10];<br>&nbsp;&nbsp;&nbsp; 那麽函数被说明为：int const_funt(const int*);<br>&nbsp;&nbsp;&nbsp; 参数const int*告诉编译程序const_funt()函数只有一个参数,即指向一个int类型常量的指针。<br>&nbsp;&nbsp;&nbsp; 函数调用时只需将数组的地址传递给函数:const_func(x);<br>#include &lt;stdio.h&gt; <br>&nbsp;void const_func(const int*); <br>&nbsp;void main(void); <br>&nbsp;void main(void)<br>&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp; int x[10];<br>&nbsp;&nbsp;&nbsp;&nbsp; int y;<br>&nbsp;&nbsp;&nbsp;&nbsp; for(y=0;y&lt;10;y++)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x[y]=y;<br>&nbsp;&nbsp;&nbsp;&nbsp; constl_func(x);&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;} <br>&nbsp;void const_func(const int*i)<br>&nbsp;{ <br>&nbsp;&nbsp;&nbsp;&nbsp; int y;<br>&nbsp;&nbsp;&nbsp;&nbsp; for(y=0;y&lt;10;y++)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("%d\n",*(i+y));<br>&nbsp;}<br>&nbsp;在值传递方式中,没有复制初始数组并将其拷贝存放在栈中,const_func()函数只接收到指向一个int类型常量的指针,因此在编写程序时要保证传递给const_func()函数的是指向一个由int类型常量组成的数组的指针。const修饰符的作用是防止意外修改初始数组中的某一个元素。<br>&nbsp;<br>14． 引用标准库时，下面的说法你认为哪个是正确的：（B）<br>A) 语句#include &#8220;stdlib.h&#8221;是正确的，但会影响程序的执行速度<br>B) 语句#include &lt;stdlib.h&gt;是正确的，而去程序执行速度比#include &#8220;stdlib.h&#8221;要快<br>C) 语句#include &lt;stdlib.h&gt;和#include &#8220;stdlib.h&#8221;都是正确的，程序执行速度没有区别<br>D) 语句#include &#8220;stdlib.h&#8221;是错误的<br>注释：include&nbsp;&nbsp; ""是先从本地目录开始寻找，然后去寻找系统路径，而Include&nbsp;&nbsp; &lt;&gt;&nbsp;&nbsp; 相反先从系统目录，后从本地目录，<br>&nbsp;<br>15.设a、b、c、d、m、n均为int型变量，且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式（m=a&gt;b）&amp;&amp;(n=c&gt;d)运算后，n的值为：（C）<br>A) 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B) 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C) 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D) 7<br>&nbsp;<br>16．不能作为重载函数的调用的依据是：（C）<br>A) 参数个数&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B) 参数类型<br>C) 函数类型&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D) 函数名称<br>&nbsp;<br>17．下列程序的输出结果为: (D)<br>#include&lt; iostream. h&gt;<br>int func(int n)<br>{<br>　　if〔n&lt;1)return 1;<br>else return n+func(n-1);<br>return 0;<br>}<br>void main()<br>{<br>cout&lt;&lt;func(5)&lt;&lt;endl;<br>}<br>A) 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B)10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C)15&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D)16<br>&nbsp;<br>18. 建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这3种构造函数的调用顺序为: (A)<br>A)abc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 　　B)acb<br>C)cab&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D)cba<br>&nbsp;<br>19. 如果友元函数重载一个运算符时，其参数表中没有任何参数则说明该运算符是：（D）<br>A）一元运算符&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B）二元运算符<br>C）选项A）和选项B）都可能&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D）重载错误<br>解析：C++中用友元函数重载运算符至少有一个参数，重载一目运算符要有一个参数，重载二目运算符要有两个参数。<br>&nbsp;<br>20. 有以下程序段：（D）？<br>#define F(X,Y)&nbsp;&nbsp; (X)--; (Y)++ (X)*(Y);<br>&#8230;<br>int i, a = 3, b = 4;<br>for( i = 0; i&lt;5; i++)&nbsp;&nbsp; F(a,b)<br>printf(&#8220;%d, %d&#8221;, a, b);<br>输出结果是：（）<br>A) 3, 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B) 3, 5<br>C) -2, 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D) -2, 9<br>&nbsp;<br>21. 下列for循环的循环体执行次数为：（A）<br>for(int i(10), j(1); i=j=0; i++, j--)<br>A) 0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B) 1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C) 无限;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D)以上都不对<br>&nbsp;<br>22. 下面程序的输出结果是（D）<br>char *p1= &#8220;123&#8221;, *p2 = &#8220;ABC&#8221;, str［50］= "xyz";<br>strcpy（str+2,strcat（p1,p2））;<br>cout &lt;&lt; str;<br>A）xyz123ABC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B）z123ABC<br>C）xy123ABC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D）出错<br>&nbsp;<br>23．下面函数的执行结果是输出（B）<br>char str[ ] = &#8220;xunlei&#8221;;<br>char *p = str;<br>int n = 10;<br>printf(&#8220;%d, %d, %d\n&#8221;, sizeof(str), sizeof(p), sizeof(n));<br>A) 4, 4, 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B) 7, 4, 4<br>C) 6, 4, 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D) 6, 6, 4<br>&nbsp;<br>33. 有下列程序段：<br>char *p, *q;<br>p = (char*) malloc(sizeof(char) * 20);<br>q = p;<br>scanf(&#8220;%s %s&#8221;, p, q);<br>printf(&#8220;%s %s\n&#8221;, p, q);<br>若从键盘输入：abc def， 则输出结果是（A）<br>A) def def&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B) abc def<br>C) abc d&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D) d d<br>解析：q=p;因此p,q指向的是同一段内存.scanf先是把abc写到p指向的空间,再把def写到q指向的空间,也就是同一段空间,因此abc被def覆盖了.<br>&nbsp;<br>34．现在有以下语句：<br>struct _THUNDER{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int iVersion;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char cTag;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char cAdv;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int iUser;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char cEnd;<br>}Thunder;<br>int sz = sizeof(Thunder);<br>则执行后，变量sz的值将得到（D）<br>A) 11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B) 12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C) 13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D) 16<br>&nbsp;<br>35. 有如下程序段：<br>void GetMemeory(char* p)<br>｛<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p = (char*) malloc (100);<br>｝<br>void test()<br>{<br>char *str=NULL;<br>GetMemory(str);<br>strcpy(str,&#8221;Thunder&#8221;);<br>strcat(str+2, &#8220;Downloader&#8221;);<br>&nbsp;printf(str);<br>}<br>请问运行Test函数结果是：（D）<br>A) Thunder Downloader&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B) under Downloader<br>C) Thunderownloader&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D) 程序崩溃<br>解析：在函数中给指针分配空间，实际上是给指针的临时变量分配空间，函数结束后，这个临时变量也消亡，而str仍然为NULL，没有为其分配空间，此时strcpy()是肯定会出错的。<br>&nbsp;<br>36. 函数调用exec((v1,v2), (v3,v4,v5),v6,v7);中，实参的个数是（A）<br>A) 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B) 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C) 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D) 7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;<br>37. p是指向类X的成员m的指针，s是类X的一个对象。现要给m赋值，（C）是正确的。<br>A) s.p = 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B) s-&gt;p = 5<br>C) s.*p = 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D) *s.p = 5<br>&nbsp;<br>38. 函数fun（char* p） { return p;}的返回值是（B）<br>A)无确切值&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B) 行参p中存放的地址值<br>C) 一个临时存储单元的地址&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D) 行参p自身的地址值<br>&nbsp;<br>39．a,b均为不等于0的整形变量，以下关系式恒成立的是：（C）<br>A) a*b/a*b == 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B) a/b*b/a == 1<br>C) a/b*b + a%b == a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D) a/b*b == a<br>&nbsp;<br>40. 设有如下说明：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; typedef struct ST{ long a; int b; char c[2]; } NEW; <br>则下面叙述中正确的是：(C)<br>A）以上的说明形式非法&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B）ST是一个结构体类型 <br>C）NEW是一个结构体类型&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D）NEW是一个结构体变量<br>&nbsp;<br>41. 下列表达式正确的是：（C）<br>A) 9++&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B) （x+y）++&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C) c+++c+++c++&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D) ++（a-b--）<br>&nbsp;<br>42．在int b[ ][3] = {{1},{3,2},{4,5,6},{0}};中，sizeof(b) = （D）。<br>A) 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B) 12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C) 28&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D) 48<br>&nbsp;<br>43．以下程序的输出结果是：(D)<br>#define M(x,y,z) x*y+z<br>main()<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int a=1, b=2, c=3;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&#8220;%d\n&#8221;,M(a+b,b+c,c+a));<br>}<br>A）19&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B) 17&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C) 15&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D) 12<br>&nbsp;<br>44．若有以下定义和语句：<br>int u=010, v= 0x10, w=10;<br>printf(&#8220;%d，%d,%d\n&#8221;,u,v,w);<br>则输出结果是：(A)<br>A)8,16,10&nbsp;&nbsp;&nbsp;&nbsp; B)10,10,10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C)8,8,10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D)8,10,10<br>&nbsp;<br>45. 下面程序段的输出结果是：（B）<br>int a=5, b=4, c=3, d=2;<br>if(a&gt;b&gt;c)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&#8220;%d\n&#8221;,d);<br>else if((c-1&gt;=d)==1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&#8220;%d\n&#8221;, d+1);<br>else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&#8220;%d\n&#8221;, d+1);<br>A) 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B) 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C) 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D) 编译错误<br>&nbsp;<br>46．有如下程序段，请问k的值是：（D）<br>enum {a, b=5, c, d=4, e} k; k =c;<br>A) 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B）4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C) 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D) 6<br>&nbsp;<br>47．有如下程序段：<br>int i, n = 0;<br>double x = 1, y1 = 2.1/1.9, y2 = 1.9/2.1;<br>for( i = 1; i&lt;22; i++)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x = x*y1;<br>while( x!=1.0)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x =x*y2;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; n++;<br>}<br>printf(&#8220;%d\n&#8221;, n);<br>请问执行结果是：（A）<br>A) 21&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B) 22&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C)无限循环&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D) 程序崩溃<br>&nbsp;<br>48. 用树形结构表示实体之间联系的模型是（C）<br>A) 关系模型&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B) 网状模型&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C) 层次模型&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D)以上三个都是<br>&nbsp;<br>49．有如下程序段：<br>char fun(char *);<br>main()<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char *s = &#8220;one&#8221;, a[5] = {0}, (*f1)(char *) = fun, ch;<br>}<br>则对函数fun的调用语句正确的是（C）<br>A) *f1(&amp;a);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B) f1（*s）;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C) f1(&amp;ch)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D) ch = *f1(s);要改成（*f1）(s)才正确<br>&nbsp;<br>50．有如下程序段：<br>int c = 23;<br>printf(&#8220;%d\n&#8221;, c&amp;c);<br>请问执行结果是：（C）<br>A) 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B) 46&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C) 23&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D) 以上都不对<br></p><img src ="http://www.cppblog.com/mzty/aggbug/42874.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/mzty/" target="_blank">梦在天涯</a> 2008-02-18 13:20 <a href="http://www.cppblog.com/mzty/archive/2008/02/18/42874.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>英语口语复试（转） </title><link>http://www.cppblog.com/mzty/archive/2006/08/22/11584.html</link><dc:creator>梦在天涯</dc:creator><author>梦在天涯</author><pubDate>Tue, 22 Aug 2006 10:01:00 GMT</pubDate><guid>http://www.cppblog.com/mzty/archive/2006/08/22/11584.html</guid><wfw:comment>http://www.cppblog.com/mzty/comments/11584.html</wfw:comment><comments>http://www.cppblog.com/mzty/archive/2006/08/22/11584.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/mzty/comments/commentRss/11584.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/mzty/services/trackbacks/11584.html</trackback:ping><description><![CDATA[
		<font face="Verdana">1. 自我介绍(self-introduce)<br />Good morning. I am glad to be here for this interview. First let me introduce<br />myself. My name is ***, 24. I come from ******,the capital of *******Province. I graduated from the ******* department of *****University in July ,2001.In the past two years I have been prepareing for the postgraduate examination while I have been teaching *****in NO.****middle School and I was a head-teacher of a class in junior grade two.Now all my hard work has got a result since I have a chance to be interview by you .<br />I am open-minded ,quick in thought and very fond of history.In my spare time,I have broad interests like many other youngers.I like reading books, especially those about *******.Frequently I exchange with other people by making comments in the forum on line.In addition ,during my college years,I was once a Net-bar technician.So, I have a comparative good command of network application.I am able to operate the computer well.I am skillful in searching for information in Internet.I am a football fan for years.Italian team is my favorite.Anyway,I feel great pity for our country’s team.<br />I always believe that one will easily lag behind unless he keeps on learning .Of course, if I am given a chance to study ****** in this famous University,I will stare no effort to master a good command of advance ******. </font>
		<p>
		</p>
		<p>2.考研原因 (reasons for my choice)<br />There are several reasons.<br />I have been deeply impressed by the academic atmosphere when I came here last summer. In my opinion, as one of the most famous ******in our country, it provide people with enough room to get further enrichment . This is the first reason.<br />The second one is I am long for doing research in ******throughout my life. Its a pleasure to be with my favorite ******for lifetime. I suppose this is the most important factor in my decision.<br />Thirdly, I learnt a lot from my *****job during the past two years. However, I think further study is still urgent for me to realize self-<i>value</i>. Life is precious. It is necessary to seize any chance for self-development, especially in this competitive modern world.<br />In a word, I am looking forward to making a solid foundation for future profession after two years study here.</p>
		<p>3.研究生期间你的计划 (plans in the postgraduate study)</p>
		<p>First, I hope I can form systematic view of *****. As for ******, my express wish is to get a complete comprehension of the formation and development as well as **************. If possible, I will go on with my study for doctorate degree.<br />In a word, I am looking forward to making a solid foundation for future profession after two years study here.</p>
		<p>(简单了一些,望高手补充)</p>
		<p>4 .介绍你的家乡(about hometown)</p>
		<p>I am from , a famous city with a long history over 2,200 years. It is called “Rong Cheng ” because there were lots of banians even 900 years ago. The city lies in the eastern part of the province. It is the center of politics, economy and culture. Many celebrities were born here, for instance, Yanfu, Xie Bingxin, Lin Zexu and so on . . You know, there is a saying that “The greatness of a man lends a glory to a place”. I think the city really deserves it. The top three artware are Shoushan Stone, cattle-horn combs and bodiless lacquerware. In addition, it is famous for the hot springs. Theyare known for high-quality. Visitors athome and abroad feel it comfortable bathing here.There is my beloved hometown.</p>
		<p>5.你的家庭(about family)<br />There are four members in my family; my parents, my cute cat of 9 years old and<br />me. My father is a technician in the Fujian TV station. He often goes out on b<br />usiness. So most of the housework is done by my industrious mom. Climbing at weekends is our common interest. The fresh air and natural beauty can help us get rid of tiredness. They can strengthen our relation, too.During my prepareing for coming here,my parents’love and support have always been my power.and I hope in future I wil be able to repay them.</p>
		<p>6.你的大学(about university)</p>
		<p>**********University is the oldest one in the province. It was founded in *******and covers an area of over******* mu. The building area is ************square meters. It develops into a comprehensive university with efforts of generations, especially after the reform and opening up. It takes the lead among the *********universities with nice teaching and scientific research ability. The library has a storage of *******books. . various research institutes are set up including 52 research centers. There are teaching research experimental bases. For example, the computer center, analyzing-test center, modern education technical center and so on.<br /><br /><br /><br /><br /></p>
		<p>Q： Can you sell yourself in two minutes？ Go for it. （你能在两分钟內自我推荐吗？大胆试试吧！） <br />A： With my qualifications and experience, I feel I am hardworking, responsible and diligent in any project I undertake. Your organization could benefit from my analytical and interpersonal skills.(依我的资格和经验，我觉得我对所从事的每一个项目都很努力、负责、勤勉。我的分析能力和与人相处的技巧，对贵单位必有价值。) </p>
		<p>Q：Give me a summary of your current job description. (对你目前的工作，能否做个概括的说明。) <br />A：I have been working as a computer programmer for five years. To be specific, I do system analysis, trouble shooting and provide software support. (我干了五年的电脑程序员。具体地说，我做系统分析，解决问题以及软件供应方面的支持。） </p>
		<p>Q：Why did you leave your last job？(你为什么离职呢？) <br />A： Well, I am hoping to get an offer of a better position. If opportunity knocks, I will take it.（我希望能获得一份更好的工作，如果机会来临，我会抓住。） <br />A：I feel I have reached the "glass ceiling" in my current job. / I feel there is no opportunity for advancement. （我觉得目前的工作，已经达到顶峰，即沒有升迁机会。) </p>
		<p>Q：How do you rate yourself as a professional？(你如何评估自己是位专业人员呢？) <br />A： With my strong academic background, I am capable and competent. (凭借我良好的学术背景，我可以胜任自己的工作，而且我认为自己很有竞争力。） <br />A：With my teaching experience, I am confident that I can relate to students very well. (依我的教学经验，我相信能与学生相处的很好。) </p>
		<p>Q： What contribution did you make to your current (previous) organization？(你对目前/从前的工作单位有何贡献？) <br />A： I have finished three new projects, and I am sure I can apply my experience to this position. (我已经完成三个新项目，我相信我能将我的经验用在这份工作上。) </p>
		<p>Q：What do you think you are worth to us？(你怎么认为你对我们有价值呢？) <br />A：I feel I can make some positive contributions to your company in the future. (我觉得我对贵公司能做些积极性的贡献。) </p>
		<p>Q：What make you think you would be a success in this position？ (你如何知道你能胜任这份工作？） <br />A：My graduate school training combined with my internship should qualify me for this particular job. I am sure I will be successful. (我在研究所的训练，加上实习工作，使我适合这份工作。我相信我能成功。) </p>
		<p>Q：Are you a multi-tasked individual？(你是一位可以同时承担数项工作的人吗？) or <br />Do you work well under stress or pressure？(你能承受工作上的压力吗?) <br />A：Yes, I think so. <br />A：The trait is needed in my current（or previous) position and I know I can handle it well. (这种特点就是我目前（先前）工作所需要的，我知道我能应付自如。) </p>
		<p>Q：What provide you with a sense of accomplishment. （什么会让你有成就感？） <br />A：Doing my best job for your company. (为贵公司竭力效劳。) <br />A：Finishing a project to the best of my ability. (尽我所能，完成一个项目。) </p>
		<p>　 Q：If you had a lot of money to donate, where would you donate it to？Why？(假如你有很多钱可以捐赠，你会捐给什么单位？为什么？) <br />A：I would donate it to the medical research because I want to do something to help others. (我会捐给医药研究，因为我要为他人做点事。) <br />A：I prefer to donate it to educational institutions. (我乐意捐给教育机构。) </p>
		<p>　 Q：What is most important in your life right now？(眼下你生活中最重要的是什么？) <br />A：To get a job in my field is most important to me. (对我来说，能在这个领域找到工作是最重要的。) <br />A：To secure employment hopefully with your company. (希望能在贵公司任职对我来说最重要。) </p>
		<p>　 Q：What current issues concern you the most？(目前什么事是你最关心的？) <br />A：The general state of our economy and the impact of China' entry to WTO on our industry. (目前中国经济的总体情況以及中国入世对我们行业的影响。) </p>
		<p>　 Q： How long would you like to stay with this company？(你会在本公司服务多久呢？) <br />A： I will stay as long as I can continue to learn and to grow in my field. (只要我能在我的行业力继续学习和长进，我就会留在这里。) </p>
		<p>　 Q：Could you project what you would like to be doing five years from now？(你能预料五年后你会做什么吗？) <br />A：As I have some administrative experience in my last job, I may use my organizational and planning skills in the future. <br />(我在上一个工作中积累了一些行政经验，我将来也许要运用我组织和计划上的经验和技巧。) <br />A：I hope to demonstrate my ability and talents in my field adequately. (我希望能充分展示我在这个行业的能力和智慧。) <br />A：Perhaps, an opportunity at a management position would be exciting.（也许有机会，我将会从事管理工作。） <br />如果不愿正面回答，也可以说： <br />It would be premature for me to predict this. （现在对此问题的预测，尚嫌过早。） <br />甚至还可以打趣的说： <br />Hypothetically speaking, I might be able to do your current job as a director.（或 CEO 或 president）((说不定，我也能做你现在主任的工作呢！) </p>
		<p>　 Q： What range of pay-scale are you interested in？(你喜欢那一种薪水层次标准？) <br />A： Money is important, but the responsibility that goes along with this job is what interests me the most. (薪水固然重要，但这工作伴随而来的责任更吸引我。) <br />A： 假如你有家眷，可以说： <br />To be frank and open with you, I like this job, but I have a family to support. (坦白地说，我喜欢这份工作，不过我必须要负担我的家庭。) </p>
		<p>Q：What is your strongest trait(s)？(你个性上最大的特点是什么？) <br />A：Helpfulness and caring.（乐于助人和关心他人。） <br />A：Adaptability and sense of humor.（适应能力和幽默感。） <br />A：Cheerfulness and friendliness.（乐观和友爱。） </p>
		<p>Q： How would your friends or colleagues describe you？（你的朋友或同事怎样形容你？） <br />A： (pause a few seconds) (稍等几秒钟再答，表示慎重考虑。) <br />They say Mr. Chen is an honest, hardworking and responsible man who deeply cares for his family and friends. (他们说陈先生是位诚实、工作努力，负责任的人，他对家庭和朋友都很关心。) <br />A：They say Mr. Chen is a friendly, sensitive, caring and determined person. (他们说陈先生是位很友好、敏感、关心他人和有决心的人。) </p>
		<p>Q：What personality traits do you admire？(你欣赏哪种性格的人？) <br />A： (I admire a person who is）honest, flexible and easy-going. (诚实、不死板而且容易相处的人。) <br />A： (I like) people who possess the "can do" spirit. (有"实际行动"的人。) </p>
		<p>Q：What leadership qualities did you develop as an administrative personnel？(作为行政人员，你有什么样的领导才能？) <br />A：I feel that learning how to motivate people and to work together as a team will be the major goal of my leadership. (我觉得学习如何把人们的积极性调动起来，以及如何配合协同的团队精神，是我行政工作的主要目标。) <br />A：I have refined my management style by using an open-door policy. (我以开放式的政策，改进我的行政管理方式。) </p>
		<p>Q：How do you normally handle criticism？(你通常如何处理別人的批评？) <br />A：Silence is golden. Just don't say anything; otherwise the situation could become worse. I do, however, accept constructive criticism. (沈默是金。不必说什么，否则情况更糟，不过我会接受建设性的批评。) <br />A：When we cool off, we will discuss it later. (我会等大家冷靜下来再讨论。) </p>
		<p>Q： What do you find frustrating in a work situation？(在工作中，什么事令你不高兴？) <br />A： Sometimes, the narrow-minded people make me frustrated. (胸襟狭窄的人，有时使我泄气。) <br />A：Minds that are not receptive to new ideas. (不能接受新思想的那些取。) </p>
		<p>Q：How do you handle your conflict with your colleagues in your work? (你如何处理与同事在工作中的意见不和？) <br />A：I will try to present my ideas in a more clear and civilized manner in order to get my points across. (我要以更清楚文明的方式，提出我的看法，使对方了解我的观点。) </p>
		<p>Q：How do you handle your failure？(你怎样对待自己的失敗？) <br />A： None of us was born "perfect". I am sure I will be given a second chance to correct my mistake. （我们大家生来都不是十全十美的，我相信我有第二个机会改正我的错误。） <br /><br /><br /><br /><br />General Introduction*<br />I am a third year master major in automation at Shanghai Jiao Tong University, P. R. China. With tremendous interest in Industrial Engineering, I am writing to apply for acceptance into your Ph.D. graduate program.<br />Education background<br />In 1995, I entered the Nanjing University of Science &amp; Technology (NUST) -- widely considered one of the China’s best engineering schools. During the following undergraduate study, my academic records kept distinguished among the whole department. I was granted First Class Prize every semester, and my overall GPA(89.5/100) ranked No.1 among 113 students. In 1999, I got the privilege to enter the graduate program waived of the admission test. I selected the Shanghai Jiao Tong University to continue my study for its best reputation on Combinatorial Optimization and Network Scheduling where my research interest lies. <br />At the period of my graduate study, my overall GPA(3.77/4.0) ranked top 5% in the department. In the second semester, I became teacher assistant that is given to talented and matured students only. This year, I won the Acer Scholarship as the one and only candidate in my department, which is the ultimate accolade for distinguished students endowed by my university. Presently, I am preparing my graduation thesis and trying for the honor of Excellent Graduation Thesis. <br />Research experience and academic activity<br />When a sophomore, I joined the Association of AI Enthusiast and began to narrow down my interest for my future research. In 1997, I participated in simulation tool development for the scheduling system in Prof. Wang’s lab. With the tool of OpenGL and Matlab, I designed a simulation program for transportation scheduling system. It is now widely used by different research groups in NUST. In 1998, I assumed and fulfilled a sewage analysis &amp; dispose project for Nanjing sewage treatment plant. This was my first practice to convert a laboratory idea to a commercial product.<br />In 1999, I joined the distinguished Professor Yu-Geng Xi's research group aiming at Network flow problem solving and Heuristic algorithm research. Soon I was engaged in the FuDan Gene Database Design. My duty was to pick up the useful information among different kinds of gene matching format. Through the comparison and analysis for many heuristic algorithms, I introduced an improved evolutionary algorithm -- Multi-population Genetic Algorithm. By dividing a whole population into several sub-populations, this improved algorithm can effectively prevent GA from local convergence and promote various evolutionary orientations. It proved more efficiently than SGA in experiments, too. In the second semester, I joined the workshop-scheduling research in Shanghai Heavy Duty Tyre plant. The scheduling was designed for the rubber-making process that covered not only discrete but also continuous circumstances. To make a balance point between optimization quality and time cost, I proposed a Dynamic Layered Scheduling method based on hybrid Petri Nets. The practical application showed that the average makespan was shortened by a large scale. I also publicized two papers in core journals with this idea. Recently, I am doing research in the Composite Predict of the Electrical Power system assisted with the technology of Data Mining for Bao Steel. I try to combine the Decision Tree with Receding Optimization to provide a new solution for the Composite Predictive Problem. This project is now under construction. <br />Besides, In July 2000, I got the opportunity to give a lecture in English in Asia Control Conference (ASCC) which is one of the top-level conferences among the world in the area of control and automation. In my senior year, I met Prof. Xiao-Song Lin, a visiting professor of mathematics from University of California-Riverside, I learned graph theory from him for my network research. These experiences all rapidly expanded my knowledge of English and the understanding of western culture.<br />I hope to study in depth<br />In retrospect, I find myself standing on a solid basis in both theory and experience, which has prepared me for the Ph.D. program. My future research interests include: Network Scheduling Problem, Heuristic Algorithm research (especially in GA and Neural network), Supply chain network research, Hybrid system performance analysis with Petri nets and Data Mining. <br />Please give my application materials a serious consideration.  Thank you very much. </p>
<img src ="http://www.cppblog.com/mzty/aggbug/11584.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/mzty/" target="_blank">梦在天涯</a> 2006-08-22 18:01 <a href="http://www.cppblog.com/mzty/archive/2006/08/22/11584.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>华为笔试题＆联想笔试题＆普天&amp;润汇C++笔试题</title><link>http://www.cppblog.com/mzty/archive/2006/05/16/7233.html</link><dc:creator>梦在天涯</dc:creator><author>梦在天涯</author><pubDate>Tue, 16 May 2006 00:37:00 GMT</pubDate><guid>http://www.cppblog.com/mzty/archive/2006/05/16/7233.html</guid><wfw:comment>http://www.cppblog.com/mzty/comments/7233.html</wfw:comment><comments>http://www.cppblog.com/mzty/archive/2006/05/16/7233.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/mzty/comments/commentRss/7233.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/mzty/services/trackbacks/7233.html</trackback:ping><description><![CDATA[
		<font style="BACKGROUND-COLOR: #ff1493">华为笔试题</font>
		<br />
		<br />1．请你分别画出OSI的七层网络结构图和TCP/IP的五层结构图。<br />　　2．请你详细地解释一下IP协议的定义，在哪个层上面？主要有什么作用？TCP与UDP呢？<br />　　3．请问交换机和路由器各自的实现原理是什么？分别在哪个层次上面实现的？<br />　　4．请问C++的类和C里面的struct有什么区别？<br />　　5．请讲一讲析构函数和虚函数的用法和作用。<br />　　6．全局变量和局部变量有什么区别？是怎么实现的？操作系统和编译器是怎么知道的？<br />　　7．8086是多少位的系统？在数据总线上是怎么实现的？<br />　　<br /><font style="BACKGROUND-COLOR: #ff1493">联想笔试题<br /></font><br />　　1．设计函数 int atoi(char *s)。<br />　　2．int i=(j=4,k=8,l=16,m=32); printf(“%d”, i); 输出是多少？<br />　　3．解释局部变量、全局变量和静态变量的含义。<br />　　4．解释堆和栈的区别。<br />　　5．论述含参数的宏与函数的优缺点。<br /><br /><font style="BACKGROUND-COLOR: #ff1493">普天C++笔试题</font><br /><br />　　1．实现双向链表删除一个节点P，在节点P后插入一个节点，写出这两个函数。<br />　　2．写一个函数，将其中的 都转换成4个空格。<br />　　3．Windows程序的入口是哪里？写出Windows消息机制的流程。<br />　　4．如何定义和实现一个类的成员函数为回调函数？<br />　　5．C++里面是不是所有的动作都是main()引起的？如果不是，请举例。<br />　　6．C++里面如何声明const void f(void)函数为C程序中的库函数？<br />　　7．下列哪两个是等同的<br />　　int b;<br />　　A const int* a = &amp;b;<br />　　B const* int a = &amp;b;<br />　　C const int* const a = &amp;b;<br />　　D int const* const a = &amp;b;<br />　　8．内联函数在编译时是否做参数类型检查？<br />　　void g(base &amp; b){<br />　　 b.play;<br />　　}<br />　　void main(){<br />　　 son s;<br /><br />发信人: wildboy <br />标 题: <font style="BACKGROUND-COLOR: #ff1493">上午润汇的笔试题</font><br />发信站: BBS 水木清华站 (Sat Nov 30 13:18:53 2002), 站内<br /><br />c++最后几个大题目是<br />1，实现双向链表删除一个节点P，在节点P后插入一个节点，这两个函数。<br />2，写一个函数将其中的\t都转换成4个空格。<br />3，windows程序的入口是哪里？写出windows消息机制的流程。<br />4，如何定义和实现一个类的成员函数为回调函数。<br /><br />还有前面的几个：<br />1. class A{<br />int a;<br />int b;<br />}<br />问的是编译时的default constructor function的问题。<br />还有一个说，A有其他自己定义的构造函数，问是否还有default constructor function<br />还是什么来着，记不清乐。<br />2. c++里面是不是所有的动作都是main()引起的？如果不是，请举例。<br />3. c++里面如何声明const void f(void)函数为C库函数？（这个我前几天还看来着，<br />居然就忘记乐， ）<br /><br />对了，还考乐一些关于const的问题<br />问下列哪两个是等同的<br />int b;<br />A const int* a = &amp;b;<br />B const* int a = &amp;b;<br />C const int* const a = &amp;b;<br />D int const* const a = &amp;b;<br /><br />还有一个是考类的成员函数是 void f() const;型的时候调用的问题。<br /><br />幸好昨天刚刚看乐这部分的内容，呵呵<br /><br />内联函数考了一题，问内联函数在编译时是否做参数类型检查。<br /><br />虚函数也考了一题，不过不难。<br />class base{<br />public:<br />virtual void play(){<br />cout&lt;&lt;"base";<br />}<br />}<br />class son: public base{<br />public:<br />void play(){cout&lt;&lt;"son";}<br />}<br />void g(base &amp; b){<br />b.play;<br />}<br /><br />void main(){<br />son s;<br />g(s);<br />return;<br />}<br /><br />我所收集的<font style="BACKGROUND-COLOR: #ff1493">intel比试题＆面试题</font>:<br /><br />(熟悉大公司的题目,并不仅仅是为了进这些公司,而是很多国内公司考察内容都很接近而已.)<br /><br />2005笔试 ：<br /><br />1。高效的内存管理<br />2。8皇后问题<br />面试q：<br />（2） 编译中的问题：全局变量如int i=5; int*(pf)()=foo; 分别在何时被初始化？设计时候如何具体的实现。<br /><br />（3） OS相关的问题，内存访问，cache等（包括cache在整个系统中的位置，画出来，并解释）<br /><br />（4） 解释例如mov ax,100H 这样一条指令的cpu, os, memory等都完成了什么样的工作。<br /><br />（5） Strlen（）的C语言实现，不能使用任何变量。<br /><br />（6） 编译中display表的一些问题<br /><br />（7） 一个hash函数，输入随机，现发生冲突，如数据集中在某几条中，问怎样处理hash函数保证高效的访问，怎样实现？<br /><br />（8） 把Switch（）case…语句翻译成三元组。<br /><br />（9） 一个byte（用C语言实现计数其中1的个数），给出最高效的实现方法。（位域）或者查表最快的；<br /><br />（10） 上海有多少个加油站？你是怎样解决这一问题？<br /><br />（11） C语言参数的入栈顺序？为什么这么实现？<br /><br />（12） 你的最大的优点和缺点分别是什么？<br /><br />（13） C语言中字符串的翻转，最高效率（时间和空间）的实现？<br /><br />2004<br /><br />1. 三个float:a,b,c 问值<br />(a+b)+c==(b+a)+c<br />(a+b)+c==(a+c)+b<br /><br />2. 把一个链表反向填空<br /><br />3. 设计一个重采样系统，说明如何anti-alias<br /><br />4. y1(n)=x(2n), y2(n)=x(n/2),问：<br />如果y1为周期函数，那么x是否为周期函数<br />如果x为周期函数，那么y1是否为周期函数<br />如果y2为周期函数，那么x是否为周期函数<br />如果x为周期函数，那么y2是否为周期函数<br /><br />5. 如果模拟信号的带宽为5KHZ，要用8K的采样率，怎么办。<br /><br />4. 某个程序在一个嵌入式系统(200M的CPU,50M的SDRAM)中已经最化了，换到另一个系统<br /><br /><br />(300M的CPU,50M的SDRAM)中运行，还需要优化吗？<br /><br />5. x^4+a*x^3+x^2+c*x+d最少需要作几次乘法<br /><br />6. 什么情况下，sin(x+y)+y ~ ....<br /><br />7. 下面哪种排序法对12354最快<br />a quick sort<br />b.buble sort<br />c.merge sort<br /><br />8. 哪种结构，平均来讲，获取一个值最快<br />a. binary tree<br />b. hash table<br />c. stack <br /><br /><br />1。 pipeline<br />2。 程序流程图题目<br />3。 哲学家进餐<br />4。 32bit，64bit，两个平台上complier，linker，os kernel，library，debuger的性质<br />5。 const char * vs char const * (?)<br />6。 GDT and LDT<br />7。 1+1&lt;&lt;1<br />8。 Stack性质<br />9。 ？？？<br />10。正方体中压力什么的。。。 <br /><br />大题<br />1。f[40,400]，log10变换<br />2。ACPI<br />3。读程序<br />4。频谱，采样分析<br /><br /><br />大题<br />1。写出下列信号的奈亏斯特频率<br />（1）f（t）＝1＋cos（2000pait）＋sin（4000pait）<br />（2）f(t)=sin(4000pait)/pait<br />(3)f(t)=(sin(4000pait)的平方)/pait<br />2.填程序<br />把一个计算m^n的程序填充完整<br />大概的意思是：<br />有一个全局数组char s[BUFSIZE]<br />利用这个数组计算，就是每个单元存放计算结果的一位，index小的存放低位，index大<br />的存放高位<br />3。有两个线程<br />void producer()<br />{<br />while(1)<br />{<br />GeneratePacket();<br />PutPacketIntoBuffer();<br />Signal(customer);<br />}<br />}<br />void customer()<br />{<br />while(1)<br />{<br />WaitForSignal();<br />if(PacketInBuffer&gt;10)<br />{<br />ReadAllPackets();<br />ProcessPackets();<br />}<br />}<br />}<br />（1）有没有其他方法可以提高程序的性能<br />（2）可不可以不使用信号之类的机制来实现上述的功能<br />4。优化下面的程序<br />(0)sum=0<br />(1)I=1<br />(2)T1＝4*I<br />(3)T2=address(A)-4<br />(4)T3=T2[T1]<br />(5)T4=address(B)-4<br />(6)T5=4*I<br />(7)T6=T4[T5]<br />(8)T7=T3*T5<br />(9)sum=sum+T6<br />(10)I=I+1<br />(10)IF I&lt;20 GOTO (2)<br /><br /><br />1。关于c的main函数<br />2。15个人循环报数，报到N的出列，找出最后留下的那个人，算法填空题<br />2。找出一个给出的并行解决方案的错误情况<br />3。关于GPIO,intel的四种体系结构<br /><br />选择题10题<br />有关vc和c，指针，HyporThreading Dual-core等等<br />看也看不懂的<br /><br /><br />2003年的<br /><br />1：概率题。x,y为随机变量，联合概率密度 f(x,y) = intig(0,1)*dx*intig(0,x)*k*d<br />y，k为常数，求k=? E(xy)=?<br />注：intig(a,b)为a到b的定积分。<br /><br />2：概率题。A,B为随机事件，以下哪个正确<br />A. P(A U B)*p(AB) &lt;= P(A)P(B)<br />B. P(A U B)*p(AB) &gt;= P(A)P(B)<br />C. P(A U B)*p(AB) &lt;= P(A) + P(B)<br />D. P(A U B)*p(AB) &gt;= P(A) + P(B)<br /><br />3: 信道带宽200kHz,信噪比10dB，求信道波特率＝?<br /><br />4：以下代码运行结果是什么<br />int main()<br />{<br />int a,b,c,abc = 0;<br />a=b=c=40;<br />if(c)<br />{<br />int abc;<br />abc = a*b+c;<br />}<br />printf("%d,%d", abc, c);<br />return 0;<br />}<br /><br />5：给出了从纽约出发和到达落山鸡的各种航班信息，写出找到一条从纽约到落山鸡的最<br />短距离的航班组合的代码。<br /><br />6：从计算机图形上截取某个物体边缘的若干个坐标，求这个物体面积，并跟判断是方形<br />还是圆形，为啥。(坐标不记得，大概是个圆<br />)。<br /><br />7：离散卷机与DFT的区别与关系。快速求不满足2^N长度的离散傅立叶变换的方法有哪些<br />？如何用fft求N*M点的离散卷机？<br /><br />8：给出fir和iir的优缺点。<br /><br />9：如何计算线性标量量化器的量化噪声？需要那些假设？<br /><br /><br /><font style="BACKGROUND-COLOR: #ff1493">这里可以找到基本上所有公司的:     <a href="http://www.net3721.com/bbs/forumdisplay.php?fid=43">http://www.net3721.com/bbs/forumdisplay.php?fid=43</a><br /><br /></font><img src ="http://www.cppblog.com/mzty/aggbug/7233.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/mzty/" target="_blank">梦在天涯</a> 2006-05-16 08:37 <a href="http://www.cppblog.com/mzty/archive/2006/05/16/7233.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>IT高薪必读</title><link>http://www.cppblog.com/mzty/archive/2006/04/21/6021.html</link><dc:creator>梦在天涯</dc:creator><author>梦在天涯</author><pubDate>Fri, 21 Apr 2006 05:56:00 GMT</pubDate><guid>http://www.cppblog.com/mzty/archive/2006/04/21/6021.html</guid><wfw:comment>http://www.cppblog.com/mzty/comments/6021.html</wfw:comment><comments>http://www.cppblog.com/mzty/archive/2006/04/21/6021.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/mzty/comments/commentRss/6021.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/mzty/services/trackbacks/6021.html</trackback:ping><description><![CDATA[
		<p style="TEXT-INDENT: 2em">我先问一句：这里有多少人是本科的？有多少人是正规本科的(不算自考，成考和专升本)？有多少人是有学位的？有多少有学位的是拿着网大排名前50所大学的学位的？恐怕是少之又少吧！在中国，薪水和学位的关系对于应届生来说是绝对的，即使对于以后的发展,学位也很重要，要不那些低学历的人评职称为什么吃亏呢？你可以告诉我这不合理，不错，这确实不合理，但却是现实。如果你不能改变现实，那还是适应它吧！你也可以告诉我低学历一样可以拿高薪，我承认，不过你要准备比别人多付出10倍以上的努力。</p>
		<p style="TEXT-INDENT: 2em">接下来是语言，这里恐怕是有不少人没有过四级没学位的吧？有多少过六级的？有多少过专四专八的？有多少有其他英语证书的？你不要和我说你的水平好，可不喜欢中国的考试制度，所以没证书。在中国，毕业一开始的几年就是靠证书，你有本事跳过1楼2楼造3楼吗？如果你英语不行，你有其他二外吗？要知道，老外对于it的重视可是比国内那些买的电脑做装饰品的土老帽要强得多。</p>
		<p style="TEXT-INDENT: 2em">其实这些都不是最重要的，最重要的做人的风格，现在很多it人除了技术什么都不懂，整天得罪人。哪怕你是四个ccie全考出的，我不用你难道地球就不转了？中国多的是人，技术有什么了不起的？更何况很多技术是根本用不到的。</p>
		<p style="TEXT-INDENT: 2em">现在总看到一些所谓的“技术牛人”在误导新人，你们知不知道你们是在误人子弟啊！自己混不出头，还要去害别人，今天要和你们好好算算帐。</p>
		<p style="TEXT-INDENT: 2em">先自我介绍一下，我是98年从上海交大毕业的，在Microsoft(MS)工作了6年，现在在一家系统集成公司工作。</p>
		<p style="TEXT-INDENT: 2em">第一个意见：读书最重要，就是为文凭。我承认大学里确实学不到什么东西，但为了文凭请一定要认真读。这个社会要文凭，没办法。还有大学成绩要读好一些，像ms,cisco,oracle这些大公司是会看的。读大学还有一个好处是大学很空，你可以自己去学想学的东西，不过学校的功课永远是最重要的。那些大专的不要以为本科生学不好技术，确切得说并没有几个优秀的学生是书呆子。没有什么规定说大专生学技术有优势。</p>
		<p style="TEXT-INDENT: 2em">第二个意见：好好读英语，要想在it立足，英语是必须的。至少要过六级，如果能有专八或者中高口证书或者bec什么的就更好，最好还要有二外，可以考虑德语或者日语。作it一定要去外企，国企绝对没前途。</p>
		<p style="TEXT-INDENT: 2em">第三个意见：要认真选择入的行业。it是非常广泛的概念，网络只是其中一个非常小的(而且也是非常没有前途的)领域。it最有前途的领域是什么？是开发，开发中最有前途的是什么？是硬件开发，也就是电子工程，那些家伙的月薪差不多是我的年薪(我现在月薪是税后10K)；其次是软件开发，不过很苦，而且需要不错的数学基础，不过在中国不要去搞通用件开发，一盗版全完，最好是搞ERP类的专用系统开发，连开发带维护都有了。如果你没有数学基础，却有不错的美学功底，那就去搞设计，photoshop也好，autocad也好，3dsmax也好,flash也好，视屏后期处理也好，但不要搞网页设计(无论是前台还是后台)，因为一个人作的模扳一万个人用，不会有好的收入的。再不行就来搞网络和系统，这个方面最好搞数据库，不过这样又要涉及到开发，如果搞网络也要搞部署(系统集成)，或者去大公司作技术支持，最差的就是作维护了。</p>
		<p style="TEXT-INDENT: 2em">为什么说维护是最次的？因为无论是什么公司，维护都不是主营业务，或者说，不会为公司带来收入。在公司，能直接影响利润的部门收入才高，所以说任何企业，最重要的是销售和市场，其次是研发和生产，至于我们维护部门，不过是和扫垃圾的和扫厕所的一个级别而已。</p>
		<p style="TEXT-INDENT: 2em">维护虽然是最差的，但不代表不能拿高薪。首先，要去大的外企，他们对于it部门的重视程度高。第二，要学会为人处世，我们本来就是服务部门，所以对其他部门的人要热情一些，主动一些，不要老摆个“高手”的臭架子。要知道，技术如果不能换钱，那不过是垃圾而已。第三，不要老是问老板要钱换设备，我们已经不能产生利益了，就要让老板感觉我们能节约管理成本，我们的任务是最大限度利用现有的设备，而不是整天采购新的设备。</p>
		<p style="TEXT-INDENT: 2em">即使如此，我所谓的高薪不过是在维护这个领域里的高薪而已，和其他主要部门是不能比的。所以最好还是跳出这个行业的好，去作系统部署。而作系统部署不要去做部署人员(即使暂时作，将来也一定要做项目经理)，这是民工都可以做的。或者就是做方案销售，这样你就是企业的主营业务了。</p>
		<p style="TEXT-INDENT: 2em">顺便说一下我对认证的看法，相对与学历和英语，它是最不重要的。当年我去ms，靠的不是什么mcse，而是我的专八和名校学历。ms的面试并不关心你的技术，而是关心你是否聪明，是否能溶入企业文化。还有，国内好象很多人对ms不满，因为软件太贵了，这些钱都进了我们这些技术支持的口袋了，不错，ms的员工薪水很高，可这是我们努力工作换来的，我们每天都要工作12小时左右，xp刚发行那段日子xp组的工程师都要工作到凌晨2-3点，白天还是9点上班，难道我们不该拿高薪吗？至于mcse我是进ms后再考的，没有看过书，全是靠*****过的，也就是你们所说的paper，不过我想说一句，对于应届生，你不用在意自己是不是paper，因为企业已经默认你是paper了，所以无所谓的。</p>
		<p style="TEXT-INDENT: 2em">总结一下，it界不是没有高薪，而且it的高薪在所有理工类行业中是高的。关键是看你自己的能力。对于还没毕业的同学，我希望你们能先认真读书，至少拿个学士出来(最好是名校的)，然后看看能不能考上好的大学的硕士，同时学好英语，多参加社会活动，即使你作it，技术也不过只有20%的比重而已，重要的是沟通和为人处世的技巧。对于刚出来的大学生，我的意见是先苦几年，多考一些外语和it的证书，准备向外企跳。</p>
		<p style="TEXT-INDENT: 2em">最后一句，我所说的也许确实不好听，但事实如此，你可以举很多反例来反驳我(中专生拿高薪之类的)，但这些例子是不能反映总体情况的，不信我们可以抽样调查。还有，中国有很多现状是不合理的，但你不能改变它，那要么你适应它，要么你毁灭。在沙漠里谁能活下来？是万物之长的人还是骆驼？</p>
<img src ="http://www.cppblog.com/mzty/aggbug/6021.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/mzty/" target="_blank">梦在天涯</a> 2006-04-21 13:56 <a href="http://www.cppblog.com/mzty/archive/2006/04/21/6021.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>雅虎公司C#笔试题[转] </title><link>http://www.cppblog.com/mzty/archive/2006/04/20/5918.html</link><dc:creator>梦在天涯</dc:creator><author>梦在天涯</author><pubDate>Thu, 20 Apr 2006 02:22:00 GMT</pubDate><guid>http://www.cppblog.com/mzty/archive/2006/04/20/5918.html</guid><wfw:comment>http://www.cppblog.com/mzty/comments/5918.html</wfw:comment><comments>http://www.cppblog.com/mzty/archive/2006/04/20/5918.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/mzty/comments/commentRss/5918.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/mzty/services/trackbacks/5918.html</trackback:ping><description><![CDATA[
		<span style="FONT-SIZE: 10pt"> 
<p style="TEXT-INDENT: 2em">雅虎公司C#笔试题，包括问答题和选择题两部分。试试看，你能回答出多少题，可以通过雅虎的考试吗？</p><p style="TEXT-INDENT: 2em">Question 1. (单选)<br />在计算机网络中,表征数据传输可靠性的指标是<br />1. 传输率  2. 误码率  3. 信息容量  4. 频带利用率<br />        <br />        Question 2. (单选)<br />以下关于链式存储结构的叙述中哪一条是不正确的?<br />1. 结点除自身信息外还包括指针域,因此存储密度小于顺序存储结构<br />2. 逻辑上相邻的结点物理上不必邻接<br />3. 可以通过计算直接确定第i个结点的存储地址<br />4. 插入、删除运算操作方便,不必移动结点</p><p style="TEXT-INDENT: 2em">Question 3. (单选)<br />以下哪一个不是栈的基本运算<br />1. 删除栈顶元素    2. 删除栈底元素  3. 判断栈是否为空  4. 将栈置为空栈</p><p style="TEXT-INDENT: 2em">Question 4. (单选)<br />以下关于广义表的叙述中,正确的是<br />1. 广义表是0个或多个单元素或子表组成的有限序列<br />2. 广义表至少有一个元素是子表<br />3. 广义表不可以是自身的子表<br />4. 广义表不能为空表</p><p style="TEXT-INDENT: 2em">Question 5. (单选)<br />如果一棵二叉树结点的前序序列是A、B、C,后序序列是C、B、A,则该二叉树结点的对称序序列<br />1. 必为A、B、C    2. 必为A、C、B    3. 必为B、C、A    4. 不能确定</p><p style="TEXT-INDENT: 2em">Question 6. (单选)<br />在虚拟页式存储管理方案中,下面哪一部分完成将页面调入内存的工作?<br />1. 缺页中断处理    2. 页面淘汰过程    3. 工作集模型应用    4. 紧缩技术利用</p><p style="TEXT-INDENT: 2em">Question 7. (单选)<br />在<font color="#002c99">DOS</font>系统中,用于记录和管理磁盘数据区使用情况的数据结构<br />1. 位图表    2. 空闲块表    3. 文件分配表    4. 文件控制块</p><p style="TEXT-INDENT: 2em">Question 8. (单选)<br />设有关系R(S,D,M),其函数依赖集F={S→D,D→M}。则关系R至多满足<br />1. 1NF    2. 2NF    3. 3NF    4. BCNF</p><p style="TEXT-INDENT: 2em">Question 9. (单选)<br />在<font color="#002c99">数据库</font>逻辑<font color="#002c99">设计</font>中,当将E-R图转换为关系模式时,下面的做法哪一个是不正确的?<br />1. 一个实体类型转换为一个关系模式<br />2. 一个联系类型转换为一个关系模式<br />3. 由实体类型转换成的关系模式的主键是该实体类型的主键<br />4. 由联系类型转换成的关系模式的属性是与该联系类型相关的诸实体类型的属性的全体</p><p style="TEXT-INDENT: 2em">Question 10. (单选)<br />计算机网络按照所覆盖的地理范围分类,可以分广域网、局域网与<br />1. TCP/IP网    2. ATM网    3. ISDN    4. 城域网 </p><p style="TEXT-INDENT: 2em">Question 11. (单选) <br />计算机网络拓扑结构主要取决于它的<br />1. 资源子网    2. FDDI网    3. 通信子网    4. 路由器</p><p style="TEXT-INDENT: 2em">Question 12. (单选)<br />网络协议的三个要素是语法、语义与<br />1. 工作原理    2. 时序    3. 进程    4. 服务原语</p><p style="TEXT-INDENT: 2em">Question 13. (单选)<br />TCP/IP参考模型中,电子<font color="#002c99">邮件</font>协议SMTP依赖于传输层的<br />1. UDP协议    2. IP协议    3. TCP协议    4. 802.2协议</p><p style="TEXT-INDENT: 2em">Question 14. (单选)<br />IEEE802.2协议中10BASE-T标准规定在使用5类<font color="#002c99">双绞线</font>时,从网卡到集线器的最大距离为<br />1. 100m    2. 185m    3. 300m    4. 500m</p><p style="TEXT-INDENT: 2em">Question 15. (单选)<br />100Mbps Fast Ethernet与10Mbps Ethernet 工作原理的相同之处主要在<br />1. 介质访问控制方法    2. 物理层协议    3. 网络层    4. 发送时钟周期</p><p style="TEXT-INDENT: 2em">Question 16. (单选)<br />在Client/Server计算模式中,中间件middleware的作用是隔离应用与<br />1. 结构化查询语言SQL    2. 应用进程    3. 网络    4. IP地址</p><p style="TEXT-INDENT: 2em">Question 17. (单选)<br />当用户向ISP申请Internet帐户时,用户的E-mail帐户应包括<br />1. IP地址    2. WWW地址    3. 用户密码(Password)    4. 用户名(User Name)与用户密码(Password)</p><p style="TEXT-INDENT: 2em">Question 18. (单选)<br />WWW的超链接中定位信息所在的位置使用的是<br />1. 超文本(hypertext)技术    2. 统一资源定位器(URL, Uniform Resource Locators)<br />3. 超媒体(hypermedia技术)    4. 超文本标注语言HTML</p><p style="TEXT-INDENT: 2em">Question 19. (单选)<br />计算机网络系统与分布式系统之间的区别主要是<br />1. 系统物理结构    2. 系统高层软件    3. 传输介质类型    4. <font color="#002c99">服务器</font>类型</p><p style="TEXT-INDENT: 2em">Question 20. (单选)<br />帧中继系统<font color="#002c99">设计</font>的主要目标是用于互连多个<br />1. 广域网    2. 电话网    3. 局域网    4. 0)ATIM网 <br /><br />        Question 21. (单选)<br />ATM网络采用固定长厦的信元传送数据，信元长度为<br />1. 1024B        2. 53B        3. 128B        4. 64B</p><p style="TEXT-INDENT: 2em">Question 22. (单选)<br />TCP/IP参考模型中的主机-网络层对应于OSI RM中的<br />1. 网络层    2. 物理层    3. 数据链路层    4. 物理层与数据链路层</p><p style="TEXT-INDENT: 2em">Question 23. (单选)<br />计算机网络最突出的优点是：<br />1. 计算精度高    2. 内存容量大    3. 运算速度快    4. 连网的计算机能够相互<font color="#002c99">共享</font>资源</p><p style="TEXT-INDENT: 2em">Question 24. (单选)<br />计算机网络分为局域网、城域网与广域网，其划分的依据是：<br />1. 数据传输所使用的介质    2. 网络的作用范围<br />3. 网络的控制方式                4. 网络的拓扑结构</p><p style="TEXT-INDENT: 2em">Question 25. (单选)<br />用二分法查找一个长度为10的、排好序的线性表，查找不成功时，最多需要比较多少次？<br />1. 5            2. 2            3. 4            4. 1</p><p style="TEXT-INDENT: 2em">Question 26. (单选)<br />模块内聚度越高，说明模块内各成分彼此结合的程度越<br />1. 松散    2. 紧密    3. 无法判断    4. 相同</p><p style="TEXT-INDENT: 2em">Question 27. (单选)<br />软件需求分析阶段的输出主要是<br />1. 需求说明书    2. 开发计划    3. 可行性报告    4. <font color="#002c99">设计</font>说明书</p><p style="TEXT-INDENT: 2em">Question 28. (单选)<br />以下选项中不是项目经理的职责的是？<br />1. 需求分析    2. 计划    3. 计划跟踪    4. 质量管理</p><p style="TEXT-INDENT: 2em">Question 29. (单选)<br />单元测试一般在什么时候进行？<br />1. 编码完成后    2. 系统测试前    3. 测试用例编写完成后    4. 集成测试后</p><p style="TEXT-INDENT: 2em">Question 30. (多选)<br />配置管理能起到以下哪些作用？<br />1. 版本管理    2. 变更管理    3. 需求管理    4. 测试管理 </p><p style="TEXT-INDENT: 2em">Question 31. (单选) <br />根据线程安全的相关知识，分析以下代码，当调用test方法时i&gt;10时是否会引起死锁?<br />public void test(int i) <br />{ lock(this) <br />    { <br />    if (i&gt;10) <br />        { i--; <br />            test(i); <br />        } <br />    } <br />} <br />1. 会锁死        2. 不会锁死</p><p style="TEXT-INDENT: 2em">Question 32. (单选)<br />以下描述错误的是（）<br />1. 在<font color="#002c99">C++</font>中支持抽象类而在C#中不支持抽象类。<br />2. C++中可在头文件中声明类的成员而在CPP文件中定义类的成员，在C#中没有头文件并且在同一处声明和定义类的成员。<br />3. 在C#中可使用 new 修饰符显式隐藏从基类继承的成员。<br />4. 在C#中要在派生类中重新定义基类的虚函数必须在前面加Override。</p><p style="TEXT-INDENT: 2em">Question 33. (单选)<br />int[][] myArray3=new int[3][]{new int[3]{5,6,2},new int[5]{6,9,7,8,3},new int[2]{3,2}}; myArray3[2][2]的值是（）。<br />1. 9            2. 2            3. 6            4. 越界</p><p style="TEXT-INDENT: 2em">Question 34. (单选)<br />在C#中利用Socket进行网络通信编程的一般步骤是：建立Socket侦听、（ ）、利用Socket接收和发送数据。<br />1. 建立Socket连接            2. 获得端口号；    3. 获得IP地址；    4. 获得主机名；</p><p style="TEXT-INDENT: 2em">Question 35. (单选)<br />如果设treeView1=new TreeView(),TreeNode node=new TreeNode("根结点" )，则treeView1.Nodes.Add(node)返回的是一个 ()类型的值。<br />1. TreeNode；    2. int；    3. string；    4. TreeView；</p><p style="TEXT-INDENT: 2em">Question 36. (单选)<br />声明一个委托public delegate int myCallBack(int x); 则用该委托产生的回调方法的原型应该是<br />1. void myCallBack(int x)        2. int receive(int num)    3. string receive(int x)    4. 不确定的</p><p style="TEXT-INDENT: 2em">Question 37. (单选)<br />关于<font color="#002c99">ASP.NET</font>中的代码隐藏文件的描述正确的是<br />1. Web窗体页的程序的逻辑由代码组成，这些代码的创建用于与窗体交互。编程逻辑唯一与用户界面不同的文件中。该文件称作为“代码隐藏”文件，如果用C＃创建，该文件<br />2. 项目中所有Web窗体页的代码隐藏文件都被编译成.EXE文件<br />3. 项目中所有的Web窗体页的代码隐藏文件都被编译成项目动态链接库（.dll）文件<br />4. 以上都不正确</p><p style="TEXT-INDENT: 2em">Question 38. (单选)<br />What compiler switch creates an <font color="#002c99">xml</font> file from the xml comments in the files in an assembly?<br />1. /text        2. /doc        3. /xml        4. /help</p><p style="TEXT-INDENT: 2em">Question 39. (单选)<br />下面的代码实现了<font color="#002c99">设计</font>模式中的什么模式<br />public class A {<br />    private A instance;<br />    private A() {}<br />    public static A Instance {<br />        get{<br />            if ( A == null )<br />            A = new A();<br />            return instance;<br />                }<br />                                                }<br />                        }<br />1. Factory    2. Abstract Factory    3. Singleton    4. Builder</p><p style="TEXT-INDENT: 2em">Question 40. (单选)<br /> class Class1<br />    {<br />        public static int Count = 0;<br />        static Class1()<br />        { Count++;}<br />        public Class1()<br />        {Count++;}<br />      }<br />Class1 o1 = new Class1();<br />Class1 o2 = new Class1();<br />请问，Class1.Count的值是多少？( )<br />1. 1        2. 2        3. 3        4. 4 <br /><br />        Question 41. (单选) <br />abstract class BaseClass<br />{<br />public virtual void MethodA()<br />    {Console.WriteLine("BaseClass");}<br />    public virtual void MethodB() {}<br />}<br /><br />class Class1: BaseClass<br />{<br />    public void MethodA()<br />    {Console.WriteLine("Class1");}<br />     public override void MethodB(){}<br />}<br /><br />class Class2: Class1<br />{<br />    new public void MethodB(){}<br />}<br /><br />class MainClass<br />{<br />    public static void Main(string[] args)<br />    {Class2 o = new Class2();<br />        o.MethodA(); <br />     }<br />}</p><p style="TEXT-INDENT: 2em">请问，此程序输出结果是:<br />1. BaseClass    2. BassClass Class1    3. Class1    4. Class1 BassClass </p><p style="TEXT-INDENT: 2em">Question 42. (单选)<br />public static void Main(string[] args)<br /> {<br />int i = 2000;<br />object o = i;<br />i = 2001;<br />int j =(int) o;<br />Console.WriteLine("i={0},o={1}, j={2}",i,o,j);<br />}<br />1. i=2001,o=2000,j=2000        2. i=2001,o=2001,,j=2001<br />3. i=2000,o=2001,,j=2000        4. i=2001,o=2000,j=2001</p><p style="TEXT-INDENT: 2em">Question 43. (多选)<br />您要创建<font color="#002c99">ASP.NET</font>应用程序用于运行AllWin公司内部的Web站点，这个应用程序包含了50个页面。您想要配置这个应用程序以便当发生一个HTTP代码错误时它可以显示一个自定义的错误页面给用户。您想要花最小的代价完成这些目标，您应该怎么做？(多选)<br />1. 在这个应用程序的Global.asax文件中创建一个Application_Error过程去处理ASP.NET代码错误。<br />2. 在这个应用程序的Web.config文件中创建一个applicationError节去处理ASP.NET代码错误。<br />3. 在这个应用程序的Global.asax文件中创建一个CustomErrors事件去处理HTTP错误。<br />4. 在这个应用程序的Web.config文件中创建一个CustomErrors节去处理HTTP错误。</p><p style="TEXT-INDENT: 2em">Question 44. (单选)<br />如下程序的运行结果是：<br />public abstract class A <br />{ <br />        public A() <br />        { Console.WriteLine('A'); } <br />        public virtual void Fun() <br />        { Console.WriteLine("A.Fun()"); } <br />} <br />public class B: A <br />{ <br />        public B() <br />        { Console.WriteLine('B'); } <br />        public new void Fun() <br />        { Console.WriteLine("B.Fun()"); } <br />        public static void Main() <br />        { <br />            A a = new B(); <br />            a.Fun(); <br />        } <br />} <br />1. A B A.Fun()     2. A B B.Fun()    3. B A A.Fun()    4. B A B.Fun()</p><p style="TEXT-INDENT: 2em">Question 45. (单选)<br />Which of these string definitions will prevent escaping on backslashes in C#?*<br />1. string s = #”n Test string”;    2. string s = “’n Test string”;<br />3. string s = @”n Test string”;    4. string s = “n Test string”;</p><p style="TEXT-INDENT: 2em">Question 46. (单选)<br />Which of the following operations can you NOT perform on an ADO.NET DataSet?<br />1. A DataSet can be synchronised with a RecordSet.    2. A DataSet can be synchronised with the database.<br />3. A DataSet can be converted to XML.                           4. You can infer the schema from a DataSet</p><p style="TEXT-INDENT: 2em">Question 47. (单选)<br />In Object Oriented Programming, how would you describe encapsulation?<br />1. The conversion of one type of object to another.        2. The runtime resolution of method calls.<br />3. The exposition of data.                                        4. The separation of interface and implementation.</p><p style="TEXT-INDENT: 2em">Question 48. (单选)<br />How does assembly versioning in .NET prevent DLL Hell?<br />1. The runtime checks to see that only one version of an assembly is on the machine at any one time.<br />2. .NET allows assemblies to specify the name AND the version of any assemblies they need to run.<br />3. The compiler offers compile time checking for backward compatibility.<br />4. It doesn’t.</p><p style="TEXT-INDENT: 2em">Question 49. (单选)<br />三种常用的字符串判空串方法：<br />1: bool isEmpty = (str.Length == 0); <br />2: bool isEmpty = (str == String.Empty); <br />3: bool isEmpty = (str == "");<br />哪种方法最快？<br />1. 1            2. 2            3. 3</p><p style="TEXT-INDENT: 2em">Question 50. (单选)<br />public sealed class SampleSingleton1<br />{<br />        private int m_Counter = 0;<br />        private SampleSingleton1()<br />        {Console.WriteLine(""初始化SampleSingleton1。"");}<br />        public static readonly SampleSingleton1 Singleton = new SampleSingleton1();<br />        public void Counter()<br />        {m_Counter ++;}<br />} <br />以上代码实现了<font color="#002c99">设计</font>模式中的哪种模式？<br />1. 原型    2. 抽象工厂    3. 单键    4. 生成器 </p></span>
<img src ="http://www.cppblog.com/mzty/aggbug/5918.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/mzty/" target="_blank">梦在天涯</a> 2006-04-20 10:22 <a href="http://www.cppblog.com/mzty/archive/2006/04/20/5918.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>外企面试官最爱提的问题TOP10 </title><link>http://www.cppblog.com/mzty/archive/2006/04/19/5898.html</link><dc:creator>梦在天涯</dc:creator><author>梦在天涯</author><pubDate>Wed, 19 Apr 2006 09:51:00 GMT</pubDate><guid>http://www.cppblog.com/mzty/archive/2006/04/19/5898.html</guid><wfw:comment>http://www.cppblog.com/mzty/comments/5898.html</wfw:comment><comments>http://www.cppblog.com/mzty/archive/2006/04/19/5898.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/mzty/comments/commentRss/5898.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/mzty/services/trackbacks/5898.html</trackback:ping><description><![CDATA[
		<strong>1.请介绍一下你自己。</strong>
		<p>　　这是外企常问的问题。一般人回答这个问题过于平常，只说姓名、年龄、爱好、工作经验，这些在简历上都有，其实，外企最希望知道的是求职者能否胜任工作，包括：最强的技能、最深入研究的知识领域、个性中最积极的部分、做过的最成功的事，主要的成就等，这些都可以和学习无关，也可以和学习有关，但要突出积极的个性和做事的能力，说得合情合理外企才会相信。外企很重视一个人的礼貌，求职者要尊重考官，在回答每个问题之后都说一句“谢谢”。外企喜欢有礼貌的求职者。</p>
		<p>　<strong>　2.在学校你最不喜欢的课程是什么？为什么？</strong></p>
		<p>　　这个问题外企不希望求职者直接回答“数学”、“体育”之类的具体课程，如果直接回答还说明了理由，不仅代表求职者对这个学科不感兴趣，可能还代表将来也会对要完成的某些工作没有兴趣。这个问题外企招聘者最想从求职者口里听到：我可能对个别科目不是特别感兴趣，但是正因为这样，我会花更多的时间去学习这门课程，通过学习对原本不感兴趣的科目也开始有了兴趣，对于本来就有兴趣的科目我自然学习得更认真，所以各门课的成绩较为平衡。通过这样的问题，外企可以找到对任何事情都很感兴趣的求职者。</p>
		<p>　　<strong>3.说说你最大的优缺点？</strong></p>
		<p>　　这个问题外企问的概率很大，通常不希望听到直接回答的缺点是什么等，如果求职者说自己小心眼、爱忌妒人、非常懒、脾气大、工作效率低，外企肯定不会录用你。外企喜欢求职者从自己的优点说起，中间加一些小缺点，最后再把问题转回到优点上，突出优点的部分。外企喜欢聪明的求职者。</p>
		<p>　　<strong>4.你认为你在学校属于好学生吗？</strong></p>
		<p>　　外企的招聘者很精明，问这个问题可以试探出很多问题：如果求职者学习成绩好，就会说：“是的，我的成绩很好，所有的成绩都很优异。当然，判断一个学生是不是好学生有很多标准，在学校期间我认为成绩是重要的，其他方面包括思想道德、实践经验、团队精神、沟通能力也都是很重要的，我在这些方面也做得很好，应该说我是一个全面发展的学生。”如果求职者成绩不尽理想，便会说：“我认为是不是一个好学生的标准是多元化的，我的学习成绩还可以，在其他方面我的表现也很突出，比如我去很多地方实习过，我很喜欢在快节奏和压力下工作，我在学生会组织过××活动，锻炼了我的团队合作精神和组织能力。” 有经验的招聘者一听就会明白，外企喜欢诚实的求职者。</p>
		<p>　　<strong>5.说说你的家庭。</strong></p>
		<p>　　外企面试时询问家庭问题不是非要知道求职者家庭的情况，探究隐私，外企不喜欢探究个人隐私，而是要了解家庭背景对求职者的塑造和影响。外企希望听到的重点也在于家庭对求职者的积极影响。外企最喜欢听到的是：我很爱我的家庭！我的家庭一向很和睦，虽然我的父亲和母亲都是普通人，但是从小，我就看到我父亲起早贪黑，每天工作特别勤劳，他的行动无形中培养了我认真负责的态度和勤劳的精神。我母亲为人善良，对人热情，特别乐于助人，所以在单位人缘很好，她的一言一行也一直在教导我做人的道理。外企相信，和睦的家庭关系对一个人的成长有潜移默化的影响。</p>
		<p>　　<strong>6.说说你对行业、技术发展趋势的看法？</strong></p>
		<p>　　外企对这个问题很感兴趣，只有有备而来的求职者能够过关。求职者可以直接在网上查找对你所申请的行业部门的信息，只有深入了解才能产生独特的见解。外企认为最聪明的求职者是对所面试的公司预先了解很多，包括公司各个部门，发展情况，在面试回答问题的时候可以提到所了解的情况，外企欢迎进入企业的人是“知己”，而不是“盲人”。<br /> <br />　　<strong>7.就你申请的这个职位，你认为你还欠缺什么？</strong></p>
		<p>　　外企喜欢问求职者弱点，但精明的求职者一般不直接回答。他们希望看到这样的求职者：继续重复自己的优势，然后说：“对于这个职位和我的能力来说，我相信自己是可以胜任的，只是缺乏经验，这个问题我想我可以进入公司以后以最短的时间来解决，我的学习能力很强，我相信可以很快融入公司的企业文化，进入工作状态。”外企喜欢能够巧妙地躲过难题的求职者。</p>
		<p>　　<strong>8.你期望的工资是多少？</strong></p>
		<p>　　外企的工资水平是很灵活的，何种能力拿何种工资。外企喜欢直率的人，但这个问题却不能正面回答，外企希望听到：“以我的能力和我的优势，我完全可以胜任这个职位，我相信我可以做得很好。但是贵公司对这个职位的描述不是很具体，我想还可以延后再讨论”。外企欢迎求职者给其定薪的自由度，而不是咬准一个价码。</p>
		<p>　<strong>　9.你能给公司带来什么？</strong></p>
		<p>　　外企很想知道未来的员工能为企业做什么，求职者应再次重复自己的优势，然后说：“就我的能力，我可以做一个优秀的员工在组织中发挥能力，给组织带来高效率和更多的收益”。外企喜欢求职者就申请的职位表明自己的能力，比如申请营销之类的职位，可以说：“我可以开发大量的新客户，同时，对老客户做更全面周到的服务，开发老客户的新需求和消费。”等等。</p>
		<p>　<strong>　10.你还有什么问题吗？</strong></p>
		<p>　　外企的这个问题看上去可有可无，其实很关键，外企不喜欢说“没有问题”的人，因为其很注重员工的个性和创新能力。外企不喜欢求职者问个人福利之类的问题，如果有人这样问：贵公司对新入公司的员工有没有什么培训项目，我可以参加吗？或者说贵公司的晋升机制是什么样的？外企将很欢迎，因为体现出你对学习的热情和对公司的忠诚度以及你的上进心。</p>
<img src ="http://www.cppblog.com/mzty/aggbug/5898.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/mzty/" target="_blank">梦在天涯</a> 2006-04-19 17:51 <a href="http://www.cppblog.com/mzty/archive/2006/04/19/5898.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>某“麵霸”的n次著名公司麵試</title><link>http://www.cppblog.com/mzty/archive/2005/12/19/1874.html</link><dc:creator>梦在天涯</dc:creator><author>梦在天涯</author><pubDate>Mon, 19 Dec 2005 06:42:00 GMT</pubDate><guid>http://www.cppblog.com/mzty/archive/2005/12/19/1874.html</guid><wfw:comment>http://www.cppblog.com/mzty/comments/1874.html</wfw:comment><comments>http://www.cppblog.com/mzty/archive/2005/12/19/1874.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/mzty/comments/commentRss/1874.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/mzty/services/trackbacks/1874.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cppblog.com/mzty/archive/2005/12/19/1874.html'>阅读全文</a><img src ="http://www.cppblog.com/mzty/aggbug/1874.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/mzty/" target="_blank">梦在天涯</a> 2005-12-19 14:42 <a href="http://www.cppblog.com/mzty/archive/2005/12/19/1874.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>