﻿<?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/C++</title><link>http://www.cppblog.com/cqyangjf/category/2243.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 20 May 2008 13:12:46 GMT</lastBuildDate><pubDate>Tue, 20 May 2008 13:12:46 GMT</pubDate><ttl>60</ttl><item><title>C++面试题集4 </title><link>http://www.cppblog.com/cqyangjf/archive/2006/10/31/14418.html</link><dc:creator>小丑</dc:creator><author>小丑</author><pubDate>Tue, 31 Oct 2006 03:49:00 GMT</pubDate><guid>http://www.cppblog.com/cqyangjf/archive/2006/10/31/14418.html</guid><wfw:comment>http://www.cppblog.com/cqyangjf/comments/14418.html</wfw:comment><comments>http://www.cppblog.com/cqyangjf/archive/2006/10/31/14418.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cqyangjf/comments/commentRss/14418.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cqyangjf/services/trackbacks/14418.html</trackback:ping><description><![CDATA[
		<font size="2">一. 华为一道面试题-1-n排序<br /><br />有N个大小不等的自然数（1--N），请将它们由小到大排序。 <br />要求程序算法：时间复杂度为O(n)，空间复杂度为O(1)。</font>
		<p>
				<font size="2">网上转的，一开始也没有注意到最开始的半句。</font>
		</p>
		<p>
				<font size="2">算法：N个不等的自然数1~N，排序完成后必然为1~N。所以可以一次遍历，遇到a[i]!=i的就把a[i]和a[a[i]]交换。</font>
		</p>
		<p>
				<font size="2">void sort(int a[], int n)<br />{<br /> int i;<br /> int t; /*临时变量：空间复杂度O(1)*/</font>
		</p>
		<p>
				<font size="2"> for (i=1; i&lt;n+1; i++) /*时间复杂度O(n)*/<br /> {<br /> while(a[i]!=i)<br />  {<br /> t = a[a[i]]; <br /> a[a[i]] = a[i];//排好一个元素<br /> a[i] = t;<br />  }<br /> }<br />}</font>
		</p>
		<p>
				<font size="2">二. 一次遍历 找 链表倒数第n个节点<br /><br /> 一道面试题目，阿明和晨晨看到并且告诉我答案的。要求通过一次遍历找到链表中倒数第n个节点，链表可能相当大，可使用辅助空间，但是辅助空间的数目必须固定，不能和n有关。<br />算法思想：两根指针，第一根先出发，相距n步后第二根出发。然后同时步进，直到第一根指针达到末尾。</font>
		</p>
		<p>
				<font size="2">struct iNode {<br />int value;<br />iNode * next;<br />};<br />iNode * getresult(iNode * head,int n)<br />{</font>
		</p>
		<p>
				<font size="2">iNode *pfirst;<br />iNode *psecond;</font>
		</p>
		<p>
				<font size="2">pfirst=head;<br />int counter;</font>
		</p>
		<p>
				<font size="2">for(counter=0;counter&lt;n;counter++) {<br /> pfirst=pfirst-&gt;next;<br />}</font>
		</p>
		<p>
				<font size="2">psecond=head;</font>
		</p>
		<p>
				<font size="2">while(pfirst!=NULL) {<br /> pfirst=pfirst-&gt;next;<br /> psecond=psecond-&gt;next;<br />}</font>
		</p>
		<p>
				<font size="2">return psecond;</font>
		</p>
		<p>
				<font size="2">}</font>
		</p>
		<p>
				<font size="2">三. VC++学习笔记</font>
		</p>
		<p>
				<font size="2">1.       日期转成字符串：</font>
		</p>
		<p>
				<font size="2">   COleDateTime    ww;<br />ww=COleDateTime::GetCurrentTime();<br />AfxMessageBox(ww.Format("%Y-%m-%d %H:%M:%S"));</font>
		</p>
		<p>
				<font size="2">2.       字符串转成日期：</font>
		</p>
		<p>
				<font size="2">COleDateTime dt;</font>
		</p>
		<p>
				<font size="2">       dt.ParseDateTime(“2006-08-08 08:08:08”);</font>
		</p>
		<p>
				<font size="2">3.       资源文件</font>
		</p>
		<p>
				<font size="2">资源文件名:xxx.rc,其中要包含的主要文件:resource.h和afxres.h</font>
		</p>
		<p>
				<font size="2">4.       vc开发环境没有自动提示时:</font>
		</p>
		<p>
				<font size="2">   删除 目录下的ncb文件 ，再打开一般就ok了</font>
		</p>
		<p>
				<font size="2">5.       利用_variant_t 取数据库数据的方法:</font>
		</p>
		<p>
				<font size="2">   _variant_t ibb;</font>
		</p>
		<p>
				<font size="2">       ibb=(_variant_t)rs-&gt;GetCollect("inta");</font>
		</p>
		<p>
				<font size="2">       if(ibb.vt!=VT_NULL)</font>
		</p>
		<p>
				<font size="2">       {</font>
		</p>
		<p>
				<font size="2">              m_b=ibb.lVal;</font>
		</p>
		<p>
				<font size="2">       }</font>
		</p>
		<p>
				<font size="2">6.       平时取记录集字段值的方法:</font>
		</p>
		<p>
				<font size="2">   (LPCTSTR)(_bstr_t)rs-&gt;GetCollect("datea")</font>
		</p>
		<p>
				<font size="2">7.       DoModal()可以返回两个结果 IDOK,IDCANCEL,他们都是int型，分别是：1,2。通过EndDialog(IDOK)的方式返回。</font>
		</p>
		<p>
				<font size="2">8.       一般将数据库连接方面的信息放到app中。则AfxGetApp()非常重要，如；</font>
		</p>
		<p>
				<font size="2">   CAdo2App* mapp=（CAdo2App*）AfxGetApp();</font>
		</p>
		<p>
				<font size="2">   Map-&gt;conn-&gt;Execute(sql,NULL,adCmdText);</font>
		</p>
		<p>
				<font size="2">9.       DECLARE_DYNCREATE（类名）,IMPLEMENT_DYNCREATE(类名，基类名)  使得由CObject继承来的类在程序运行的时候能够动态的创建。</font>
		</p>
		<p>
				<font size="2">10.   DECLARE_DYNAMIC（类名）,IMPLEMENT_DYNAMIC(类名，基类名)  可以在运行时获得该类的信息</font>
		</p>
		<p>
				<font size="2">11.   DECLARE_SERIAL（类名）,IMPLEMENT_SERIAL(类名，基类名,0)为一个可以串行化的CObject派生类产生必要的C++标题代码</font>
		</p>
		<p>
				<font size="2">12.   获得文档的方法： CMainFrame * pFrame=(CMainFrame *) AfxGetMainWnd();</font>
		</p>
		<p>
				<font size="2">CPClientDoc * pDoc =(CPClientDoc *) pFrame-&gt;GetActiveDocument();<br /> </font>
		</p>
		<p>
				<font size="2">13.   获得视图的方法：CMainFrame * pFrame=(CMainFrame *) AfxGetMainWnd();</font>
		</p>
		<p>
				<font size="2">myView =(CPClientView*) pFrame-&gt;GetActiveView();</font>
		</p>
		<p>
				<font size="2">14.   如果要引用全局变量或者全局方法，须在当前类中引入：extern 名字;</font>
		</p>
<img src ="http://www.cppblog.com/cqyangjf/aggbug/14418.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cqyangjf/" target="_blank">小丑</a> 2006-10-31 11:49 <a href="http://www.cppblog.com/cqyangjf/archive/2006/10/31/14418.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C++面试题集2</title><link>http://www.cppblog.com/cqyangjf/archive/2006/10/31/14416.html</link><dc:creator>小丑</dc:creator><author>小丑</author><pubDate>Tue, 31 Oct 2006 03:48:00 GMT</pubDate><guid>http://www.cppblog.com/cqyangjf/archive/2006/10/31/14416.html</guid><wfw:comment>http://www.cppblog.com/cqyangjf/comments/14416.html</wfw:comment><comments>http://www.cppblog.com/cqyangjf/archive/2006/10/31/14416.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cqyangjf/comments/commentRss/14416.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cqyangjf/services/trackbacks/14416.html</trackback:ping><description><![CDATA[
		<font size="2">Sony笔试题 <br />　　1．完成下列程序 <br />　　* <br />　　*.*. <br />　　*..*..*.. <br />　　*...*...*...*... <br />　　*....*....*....*....*.... <br />　　*.....*.....*.....*.....*.....*..... <br />　　*......*......*......*......*......*......*...... <br />　　*.......*.......*.......*.......*.......*.......*.......*....... <br />　　#include &lt;stdio.h&gt; <br />　　#define N 8 <br />　　int main() <br />　　{ <br />　　 int i; <br />　　 int j; <br />　　 int k; <br />　　 --------------------------------------------------------- <br />　　 | | <br />　　 | | <br />　　 | | <br />　　 --------------------------------------------------------- <br />　　 return 0; <br />　　} <br />　　2．完成程序，实现对数组的降序排序 <br />　　#include &lt;stdio.h&gt; <br />　　void sort( ); <br />　　int main() <br />　　{ <br />　　 int array[]={45，56，76，234，1，34，23，2，3}； //数字任//意给出 <br />　　 sort( ); <br />　　 return 0; <br />　　} <br />　　void sort( ) <br />　　{ <br />　　 ____________________________________ <br />　　 | | <br />　　 | | <br />　　 |-----------------------------------------------------| <br />　　} <br />　　3．费波那其数列，1，1，2，3，5……编写程序求第十项。可以用递归，也可以用<br />其 <br />他方法，但要说明你选择的理由。 <br />　　#include &lt;stdio.h&gt; <br />　　int Pheponatch(int); <br />　　int main() <br />　　{ <br />　　 printf("The 10th is %d",Pheponatch(10)); <br />　　 return 0; <br />　　} <br />　　int Pheponatch(int N) <br />　　{ <br />　　-------------------------------- <br />　　| | <br />　　| | <br />　　-------------------------------- <br />　　} <br />　　4．下列程序运行时会崩溃，请找出错误并改正，并且说明原因。 <br />　　#include &lt;stdio.h&gt; <br />　　#include &lt;malloc.h&gt; <br />　　typedef struct{ <br />　　 TNode* left; <br />　　 TNode* right; <br />　　 int value; <br />　　} TNode; <br />　　TNode* root=NULL; <br />　　void append(int N); <br />　　int main() <br />　　{ <br />　　 append(63); <br />　　 append(45); <br />　　 append(32); <br />　　 append(77); <br />　　 append(96); <br />　　 append(21); <br />　　 append(17); // Again, 数字任意给出 <br />　　} <br />　　void append(int N) <br />　　{ <br />　　 TNode* NewNode=(TNode *)malloc(sizeof(TNode)); <br />　　 NewNode-&gt;value=N; <br /><br /><br />　　 if(root==NULL) <br />　　 { <br />　　 root=NewNode; <br />　　 return; <br />　　 } <br />　　 else <br />　　 { <br />　　 TNode* temp; <br />　　 temp=root; <br /><br />　　 while((N&gt;=temp.value &amp;&amp; temp.left!=NULL) || (N&lt;temp. value &amp;&amp; temp. <br />right <br />!=NULL <br />　　)) <br />　　 { <br />　　 while(N&gt;=temp.value &amp;&amp; temp.left!=NULL) <br />　　 temp=temp.left; <br />　　 while(N&lt;temp.value &amp;&amp; temp.right!=NULL) <br />　　 temp=temp.right; <br />　　 } <br />　　 if(N&gt;=temp.value) <br />　　 temp.left=NewNode; <br />　　 else <br />　　 temp.right=NewNode; <br />　　 return; <br />　　 } <br />　　} <br /><br /><br /><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 /><br /><br />联想笔试题 <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 /><br /><br />普天C++笔试题 <br />　　1．实现双向链表删除一个节点P，在节点P后插入一个节点，写出这两个函数。 <br />　　2．写一个函数，将其中的\t都转换成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 />　　 g(s); <br />　　 return; <br />　　} <br /><br />大唐电信 <br />　　DTT笔试题 <br />　　考试时间一小时，第一部分是填空和选择： <br />　　1．数列6，10，18，32，“？”，问“？”是几？ <br />　　2．某人出70买进一个x，80卖出，90买回，100卖出，这桩买卖怎么样？ <br />　　3．月球绕地球一圈，至少要多少时间？ <br />　　4．7个人用7小时挖了7米的沟，以同样的速度在50小时挖50米的沟要多少人？ <br />　　5．鱼头长9，鱼尾等于鱼头加半个鱼身，鱼身等于鱼头加鱼尾，问鱼全长多少？ <br />　　6．一个小姐买了一块手表，回家发现手表比她家的表慢了两分钟，晚上看新闻的时候 <br />又发现她家的表比新闻里的时间慢了两分钟，则 。 <br />　　A 手表和新闻里的时间一样 <br />　　B 手表比新闻里的时间慢 <br />　　C 手表比新闻里的时间快 <br />　　7．王先生看到一则招聘启事，发现两个公司除了以下条件不同外，其他条件都相同 <br /><br />　　A 半年年薪50万，每半年涨5万 <br />　　B 一年年薪100万，每一年涨20万 <br />　　王先生想去一家待遇比较优厚的公司，他会去哪家？ <br />　　10．问哪个袋子里有金子？ <br />　　A袋子上的标签是这样写的：B袋子上的话是对的，金子在A袋子。 <br />　　B袋子上的标签是这样写的：A袋子上的话是错的，金子在A袋子里。 <br />　　11．3个人住酒店30块钱，经理找回5块钱，服务生从中藏了2块钱，找给每人1块钱， <br />3×（10&amp;#61485;1）+2=29，问这是怎么回事？ <br />　　12．三篇写作，均为书信形式。 <br />　　（1）一片中文的祝贺信，祝贺某男当了某公司xx <br />　　（2）两篇英文的，一是说有事不能应邀，派别人去；另一篇是讨债的，7天不给钱就 <br />走人（主要考business letter格式）。 <br />　　大唐面试试题 <br />　　1．什么是中断？中断发生时CPU做什么工作？ <br />　　2．CPU在上电后，进入操作系统的main()之前必须做什么工作？ <br />　　3．简述ISO OSI的物理层Layer1，链路层Layer2，网络层Layer3的任务。 <br />　　4．有线电话和无线电话有何区别？无线电话特别需要注意的是什么？ <br />　　5．软件开发五个主要step是什么？ <br />　　6．你在开发软件的时候，这5个step分别占用的时间百分比是多少？ <br />　　7．makefile文件的作用是什么？ <br />　　8．UNIX显示文件夹中，文件名的命令是什么？能使文件内容显示在屏幕的命令是什么 ？ <br />　　9．（选做）手机用户在从一个基站漫游到另一个基站的过程中，都会发生什么? <br /><br /><br />网通笔试题 <br />　　选择题（每题5分，只有一个正确答案） <br />　　1．中国1号信令协议属于 的协议。 <br />　　A ccs B cas C ip D atm <br />　　2．isdnpri协议全称是 。 <br />　　A 综合业务模拟网基速协议 <br />　　B 综合业务模拟网模拟协议 <br />　　C 综合业务数字网基率协议 <br />　　D 综合业务数字网基次协议 <br />　　3．路由协议中， 协议是用距离作为向量的。 <br />　　A ospf B bgp C is-is D rip <br />　　4．中国智能网中，ssp与scp间最上层的ss7协议是 。 <br />　　A incs B is41b C is41c D inap <br />　　5．dtmf全称是 。 <br />　　A 双音多频 B多音双频 C多音三频 D三音多频 <br />　　6．计算机的基本组成部分中，不包含下面设备的是 。 <br />　　A cpu B输入设备 C存储器 D接口 <br />　　7．脉冲编码调制的简称是 。 <br />　　A pcm B pam C (delta)M D atm <br />　　8．普通电话线接口专业称呼是 。 <br />　　A rj11 B rj45 C rs232 D bnc <br />　　9．现有的公共数据网都采用 。 <br />　　A电路交换技术 B报文交换技术 <br />　　C语音插空 D分组交换 <br />　　10．ss7协议中的制止市忙消息简写为 。 <br />　　A stb B slb C sub D spb <br />　　简答题（每题10分） <br />　　1．简述普通电话与IP电话的区别。 <br />　　2．简述随路信令与公路信令的根本区别。 <br />　　3．说明掩码的主要作用。 <br />　　4．ss7协议中，有三大要素决定其具体定位，哪三大要素？ <br />　　5．描述ss7的基本通话过程。 <br />　　6．简述通信网的组成结构。 <br />　　7．面向连接与面向非连接各有何利弊？ <br />　　8．写出爱尔兰的基本计算公式。 <br />　　9．数据网主要有哪些设备？ <br />　　10．中国一号协议是如何在被叫号码中插入主叫号码的？ <br /><br /><br />东信笔试题目 <br />　　笔试：30分钟。 <br />　　1．压控振荡器的英文缩写。 <br />　　2．动态随机存储器的英文缩写。 <br />　　3．选择电阻时要考虑什么？ <br />　　4．单片机上电后没有运转，首先要检查什么？ <br />　　5．计算机的基本组成部分及其各自的作用。 <br />　　6．怎样用D触发器、与或非门组成二分频电路？ <br /><br /><br /><br />中软融鑫笔试题 <br />　　1．关于工作 <br />　　（1） 你对未来的工作生活是怎样憧憬的？为何选择我公司作为求职公司？ <br />　　（2）请用不超过30个字给出一个最能让我们录用你的理由。 <br />　　（3）你认为比较理想的工作环境是怎样的？ <br />　　（4）你个人的中长期的职业发展目标是怎样的？ <br />　　2．关于社会 <br />　　（1）如果你是杨利伟，你在太空中向祖国人民说的第一句话是什么？ <br />　　（2）宋美龄女士于2003年10月谢世，对这位著名人士在西安事变中的态度和作用，你 <br />是如何看待的？（不超过300字） <br />　　（3）北京政府颁布的对拾金不昧者，失主要奖励相当于财产20%奖金的公告，你是如 <br />何看的？ <br />　　（4）如果给你50万元人民币，你将会用这些钱做什么？ <br />　　（5）在美国，男、女卫生间（厕所）的正确称呼为什么？请用英语写出答案。 <br />　　（6）你认为麦当劳是世界最大的汉堡生产商吗？如果不是，请说出你的观点。 <br />　　3．教育背景 <br />　　（1）你受过哪些正规的教育或培训？（自高中毕业起） <br />　　（2）在校期间进行过哪些社会活动？ <br /><br /><br />Delphi笔试题目 <br />　　机械类笔试试题 <br />　　1. Briefly describe what is blanking(cutting), forming, coining and <br />emboss <br />ing in stamping process. <br />　　2. What is metal clading? <br />　　3. What is the purpose of adding glass fiber to thermoplastic material? <br />　　4. In contrast with metal and thermoplastic material,which has a higher <br />co <br />efficient of thermal expansion(CTE). <br />　　5. The most suitable material for a integral hinge design (typical <br />plastic <br />thickness=0.25 to 0.5mm at hinge) <br />　　6. Can a bending load makes both compressive and tensile stress in a <br />membe <br />r? <br />　　7. What is the design criteria used in plastics catch/snap? <br />　　8. What is FEA? <br />　　9. Why is natural frequency important in vibration analysis? <br />　　10. What is the deflection equation of a cantilever beam fixed at one <br />edge <br />? <br />　　EE笔试试题 <br />　　1. Name 3 Vehicle Buses. <br />　　2. Name 2 possible sources of Electromagnetic interference on <br />Electronics <br />Circuit ASM. <br />　　3. Wavelength for 12MHz frequency signal is____ <br />　　4. Name 2 important considerations for car radio performan -ce related <br />to <br />audio signal processing under multipath condition? <br />　　5. What is the typical FM receiver RF signal strength to achieve 30dB <br />S/N <br />for car radio? <br />　　6. When a radio is tuned to 98.1 MHz &amp; with a LO of 108.8 MHz, what is <br />the <br />image frequency? <br />　　7. For a system with a matched impedance, what is the Reflection <br />Coefficie <br />nt and SWR? <br />　　8. Which property of the output capacitor is the primary cause of Low <br />Drop <br />Out(LDO) regulator loop instability? <br />　　（1）Equivalent series resistance(ESR) <br />　　（2）Effective series inductance(ESL) <br />　　（3）Capacitance value <br />　　（4）Dielectric material <br />　　9. The switching regulator is capable of: <br />　　（1）Higher power conversion efficiency <br />　　（2）Providing an output voltage that is higher than the input <br />　　（3）Generating an output boltage oppsite in polarity to the input <br />　　（4）All of the above <br />　　10. A linear regulator op Vin(max) = 10v, Vout(min) = 4.8v, Iout(max) = <br />2. <br />5mA, Iq(max) = 2.5mA, Ta(max) = 8.5摄氏度，The regulator is available in 3 <br />pac <br />kages.Each package has the following thermal characteristics: <br />　　Package Rja（摄氏度/W） Rjc（摄氏度/W） <br />　　SO14 125 30 <br />　　D1P8 100 52 <br />　　Choose the most suitable package to handle the power dissipation <br />requireme <br />nt without a heat sink and why. <br />　　软件笔试题 <br />　　1. How do you code an infinite loop in C? <br />　　2. Volatile: <br />　　（1）What does the keyword volatile mean? Give an example <br />　　（2）Can a parameter be both const and volatile? Give an example <br />　　（3）Can a pointer be volatile? Give an example <br />　　3. What are the values of a, b, and c after the following instructions: <br />　　int a=5, b=7, c; <br />　　c = a+++b; <br />　　4. What do the following declarations mean? <br />　　（1）const int a; <br />　　（2）int const a; <br />　　（3）const int *a; <br />　　（4）int * const a; <br />　　（5）int const * a const; <br />　　5. Which of the following statements describe the use of the keyword <br />stati <br />c? <br />　　（1）Within the body of a function: A static variable maintains its <br />value <br />between function revocations <br />　　（2）Within a module: A static variable is accessible by all functions <br />wit <br />hin that module <br />　　（3）Within a module: A static function can only be called by other <br />functi <br />ons within that module <br />　　6. Embedded systems always require the user to manipulate bits in <br />register <br />s or variables. Given an integer variable a, write two code fragments. <br />　　The first should set bit 5 of a. The second shnuld clear bit 5 of a. In <br />bo <br />th cases, the remaining bits should be unmodified. <br />　　7. What does the following function return? <br />　　char foo(void) <br />　　{ <br />　　 unsigned int a = 6; <br />　　 iht b = -20; <br />　　 char c; <br />　　 (a+b &gt; 6) ? (c=1): (c=0); <br />　　 return c; <br />　　} <br />　　8. What will be the output of the following C code? <br />　　main() <br />　　{ <br />　　 int k, num= 30; <br />　　 k =(num &gt; 5 ? (num &lt;=10 ? 100:200): 500); <br />　　 printf(“%d”, k); <br />　　} <br />　　9. What will the following C code do? <br />　　int *ptr; <br />　　ptr =(int *)Ox67a9; <br />　　*ptr = Oxaa55; <br />　　10. What will be the output of the follow C code? <br />　　#define product(x) (x*x) <br />　　main() <br />　　{ <br />　　 int i = 3, j, k; <br />　　 j = product(i++); <br />　　 k = product(++i); <br />　　 printf(“%d %d”,j,k); <br />　　} <br />　　11. Simplify the following Boolean expression <br />　　!((i ==12) || (j &gt; 15)) <br />　　12. How many flip-flop circuits are needed to divide by 16? <br />　　13. Provides 3 properties that make an OS, a RTOS? <br />　　14. What is pre-emption? <br />　　15. Assume the BC register value is 8538H, and the DE register value is <br />62 <br />A5H.Find the value of register BC after the following assembly operations: <br />　　MOV A,C <br />　　SUB E <br />　　MOV C,A <br />　　MOV A,B <br />　　SBB D <br />　　MOV B,A <br />　　16. In the Assembly code shown below <br />　　LOOP: MVI C,78H <br />　　 DCR C <br />　　 JNZ LOOP <br />　　 HLT <br />　　How many times is the DCR C Operation executed? <br />　　17. Describe the most efficient way (in term of execution time and code <br />si <br />ze) to divide a number by 4 in assembly language <br />　　18. what value is stored in m in the following assembly language code <br />frag <br />ment if n=7? <br />　　 LDAA #n <br />　　LABEL1: CMPA #5 <br />　　 BHI L3 <br />　　 BEQ L2 <br />　　 DECA <br />　　 BRA L1 <br />　　LABEL2: CLRA <br />　　LABEL3: STAA #m <br />　　19. What is the state of a process if a resource is not available? <br />　　#define a 365*24*60*60 <br />　　20. Using the #define statement, how would you declare a manifest <br />constant <br />that returns the number of seconds in a year? Disregard leap years in your <br />an <br />swer. <br />　　21. Interrupts are an important part of embedded systems. Consequently, <br />ma <br />ny compiler vendors offer an extension to standard C to support interrupts. <br />Ty <br />pically, the keyword is __interrupt. The following routine (ISR). Point out <br />pr <br />oblems in the code. <br />　　__interrupt double compute_area (double radius) <br />　　{ <br />　　 double area = PI * radius * radius; <br />　　 printf(“\nArea = %f”, area); <br />　　 return area; <br />　　} <br /><br /><br /><br />Hongkong Bank笔试题 <br />　　1. Please state why you chose to follow these activities and how they <br />have <br />contributed to your personal development. You may wish to give details of <br />you <br />r role whether anyone else was involved and any difficulties you <br />encountered. <br /><br />　　2. Please state how you have benefited from your work experience. <br />　　3. How much is your present monthly salary including allowances. <br />　　4. Do you need to compensate your present employer if you resign? If so, <br />p <br />lease give details. <br />　　5. Other than academic success, what has been your greatest achievement <br />to <br />date? What do you see as your personal strength, why? <br />　　6. Please state why the position you have applied for is appropriate for <br />y <br />ou; Why you have selected HongKong Bank and what your career objectives are. <br /><br /><br />A.T. Keaney笔试题 <br />　　1. Describe your greatest achievement in the past 4-5 years? <br />　　2. What are your short-term and long-term career objectives? What do you <br />t <br />hink is the most ideal job for you? <br />　　3. Why do you want to join A.T kearney? What do you think you can <br />contribu <br />te to A.T kearney? <br />　　4. Why are you applying for a position at Arthur Anderson? <br />　　5. What are your expectations of our firm. <br />　　6. Describe your hobbies and interests. <br /><br /><br /><br />Shell company笔试题 <br />　　1. How wold your colleagues/classmates describe you in five words? On <br />what <br />evidence would they base this assessment. <br />　　2. If you are asked to recruit the best graduates for shell, what would <br />yo <br />u do to attract them? What would you do to select them? <br />　　3. Please describe a new activity that you have initiated and <br />implemented. <br />Please highlight your role out. <br />　　4. Please describe your outstanding non-academic achieve- ments. <br />　　5. Please describe any other significant activities you have been <br />involved <br />in including organizing people. <br />　　6. Imagine that Shell has found oil in an inland province of China, near <br />a <br />large river. You are responsible for planning how to transport the oil to <br />the <br />coast thousands of miles away. What are the main issue you would consider, <br />an <br />d what would you do? <br /><br /><br /><br /><br />KPMG笔试题 <br />　　“The big economic difference between nuclear and fossil-fuelled power <br />sta <br />tions is that nuclear reactors are more expensive to build and decommission, <br />b <br />ut cheaper to sun. So disputes over the relative efficiency of the two <br />systems <br />revolve not just around prices of coal and uranium today and tomorrow, but <br />al <br />so around the way in which future income should be compared with current <br />incom <br />e.” <br />　　1. The main difference between nuclear and fossil-fuelled power stations <br />i <br />s an economic one. <br />　　TRUE <br />　　UNTRUE <br />　　CANNOT SAY <br />　　2. The price of coal is not relevant to discussions about the relative <br />eff <br />iciency of nuclear reactors. <br />　　TRUE <br />　　UNTRUE <br />　　CANNOT SAY <br />　　3. If nuclear reactors were cheaper to build and decommission than <br />fossil- <br />fuelled power stations, they would definitely have the economic advantage. <br />　　TRUE <br />　　UNTRUE <br />　　CANNOT SAY <br />　　“At any given moment we are being bombarded by physical and <br />psychological <br />stimuli competing for our attention. Although our eyes are capable of <br />handlin <br />g more than 5 million bits of data per second, our brain are capable of <br />interp <br />reting only about 500 bits per second. With similar disparities between each <br />o <br />f the other senses and the brain, it is easy to see that we must select the <br />vi <br />sual, auditory, or tactile stimuli that we wish to compute at any specific <br />tim <br />e.” <br />　　4. Physical stimuli usually win in the competition for our attention. <br />　　TRUE <br />　　UNTRUE <br />　　CANNOT SAY <br />　　5. The capacity of the human brain is sufficient to interpret nearly all <br />t <br />he stimuli the senses can register under optimum conditions. <br />　　TRUE <br />　　UNTRUE <br />　　CANNOT SAY <br />　　6. Eyes are able to cope with a greater input of information than ears. <br />　　TRUE <br />　　UNTRUE <br />　　CANNOT SAY <br />　　VERBAL ANSWER： <br />　　（1）C CANNOT SAY <br />　　（2）B UNTRUE <br />　　（3）A TRUE <br />　　（4）C CANNOT SAY <br />　　（5）B UNTRUE <br />　　（6）C CANNOT SAY <br />　　PartII NUMERCAL TEST <br />　　1．Which country had the highest number of people aged 60 or over at the <br />s <br />tart of 1985? <br />　　A. UK <br />　　B. France <br />　　C. Italy <br />　　D. W.Germany <br />　　E. Spain <br />　　2．What percentage of the total 15mm button production was classed as <br />sub- <br />standard in September? <br />　　AA 10.5% BB 13% CC 15% DD 17.5% EE 20% AB 23.5% AC 25% <br />　　AD 27.5% AE 28% BC 30.5% <br />　　3. How many live births occurred in 1985 in Spain and Italy together (to <br />t <br />he nearest 1000)? <br />　　A. 104 000 <br />　　B. 840 000 <br />　　C. 1 044 000 <br />　　D. 8 400 000 <br />　　E. 10 440 000 <br />　　4. What was the net effect on the UK population of the live birth and <br />deat <br />h rates in 1985? <br />　　A. Decrease of 66 700 <br />　　B. Increase of 752 780 <br />　　C. Increase of 84 900 <br />　　D. Cannot Say <br />　　E. Increase of 85 270 <br />　　5. By how much did the total sales value of November‘s button <br />production <br />vary from October‘s? <br />　　A. 8.50 (Decrease) <br />　　B. 42.50 (Decrease) <br />　　C. 85.00 (Increase) <br />　　D. 27.50 (Decrease) <br />　　E. No change <br />　　6. What was the loss in potential sales revenue attributable to the <br />produc <br />tion of sub-standard (as opposed to standard) buttons over the 6 month <br />period? <br /><br />　　A. 13.75 <br />　　B. 27.50 <br />　　C. 137.50 <br />　　D. 280.00 <br />　　E. 275.00 <br /><br />香港电信笔试题 <br />　　1. Based on your understanding of the following java related <br />technologies: <br />servlets, JavaServerPage, JavaBeans, Enterprise JavaBeans, how do you think <br />t <br />hese technologies are work together or are applied in the development of an <br />in <br />ternet-based application (25marks). <br />　　2. In your opinion ,what do you think are the advantages or benefitsof <br />usi <br />ng an object-oriented approach to software development? how do you think <br />those <br />benefits can be achieved or realized? (15marks). <br />　　3. In designing your classes, given the choice between inheritance and <br />agg <br />regation which do you choose (15marks). <br />　　4. How would you work around the lack of multiple inheritance feature in <br />J <br />ava (15marks). <br />　　5. What would you consider to be the hardest part of OO analysis and <br />desig <br />n and why (10marks). <br />　　6. How do you keep yourself up to date with the latest in software <br />techono <br />gy, especially in the field of software development (10marks). <br />　　7. What si your career aspiration? Why do you think this E-Commerce <br />Develo <br />pment Center can help you in achieving your career goals (10marks) (1hr, <br />answe <br />r in English). <br /><br />　　L\‘OR&amp;Eacute;AL的笔试题 <br />　　1. Would you please describe yourself in 3-4 lines? (limited in 500 <br />words) <br /><br />　　2. Could you tell us why we should choose you as a Loreal Person, and <br />what <br />makes you unique? (limited in 500 words) <br />　　3. What is your short-term and long-term career plan? (limited in 500 <br />word <br />s) <br />　　4. What kind of group activities are you interested in and what type of <br />ro <br />le do you often play? (limited in 500 words) <br />　　5. Please use one sentence to give a definition of ‘Beauty’, and <br />describ <br />e the most beautiful thing in your life. (limited in 500 words) <br /><br />维尔VERITAS软件笔试题 <br />　　1. A class B network on the internet has a subnet mask of 255.255.240.0, <br />w <br />hat is the maximum number of hosts per subnet . <br />　　a. 240 b. 255 c. 4094 d. 65534 <br />　　2. What is the difference: between o(log n) and o(log n^2), where both <br />log <br />arithems have base 2 . <br />　　a. o(log n^2) is bigger b. o(log n) is bigger <br />　　c. no difference <br />　　3. For a class what would happen if we call a class’s constructor from <br />wi <br />th the same class’s constructor . <br />　　a. compilation error b. linking error <br />　　c. stack overflow d. none of the above <br />　　4. “new” in c++ is a: . <br />　　a. library function like malloc in c <br />　　b. key word c. operator <br />　　d. none of the above <br />　　5. Which of the following information is not contained in an inode . <br />　　a. file owner b. file size <br />　　c. file name d. disk address <br />　　6. What’s the number of comparisons in the worst case to merge two <br />sorted <br />lists containing n elements each . <br />　　a. 2n b.2n-1 c.2n+1 d.2n-2 <br />　　7. Time complexity of n algorithm T(n), where n is the input size ,is T<br />(n) <br />=T(n-1)+1/n if n&gt;1 otherwise 1 the order of this algorithm is . <br />　　a. log (n) b. n c. n^2 d. n^n <br />　　8. The number of 1’s in the binary representation of 3*4096+ <br />15*256+5*16+ <br />3 are . <br />　　a. 8 b. 9 c. 10 d. 12 <br /><br /><br />百威啤酒(武汉公司) <br />　　1,为什么申请来百威? <br />　　2,将来有什么打算? <br />　　3,有没有社会活动经历? <br />　　4,有没有当众演讲的经历? <br />　　5,经常使用那些软件? <br />　　6,喜欢哪些课程? <br />　　7,你认为工作中的什么因素对你来说最重要? <br />　　8,什么时候可以来上班?可以在这里工作多久? <br />　　9,八点上班,要加班和出差,能不能做到? <br /><br /><br /><br />星巴克 <br />　　1、 您是一家咖啡店的店经理，你发现店内同时出现下列状况： <br />　　　1）许多张桌子桌面上有客人离去后留下的空杯未清理，桌面不干净待整理。 <br />　　　2）有客人正在询问店内卖哪些品种，他不知如何点咖啡菜单。 <br />　　　3）已有客人点完成咖啡，正在收银机旁等待结帐。 <br />　　　4）有厂商正准备要进货，需要店经理签收。 <br />　　　　请问，针对上述同时发生的情况，你要如何排定处理之先后顺序，为什么 <br />　　2、 有一位甲员工脾气不好以致在前三家店因为与店内其他同事相处不佳而屡屡调动 <br />，现在甲被调到你的店里面来，请问身为店经理的你，将如何应对？？ <br />　　3、 你是店经理，本周五结帐后，发现门市总销售额较上周五减少30%，请问可能原因 <br />会是哪几种，各原因如何应对？ <br /><br /><br /><br />凹凸电子软件笔试题 <br />　　1. Select ONE of the following projects to discuss: <br />　　a. Signal Filtering: You are given a sampled realtime waveform <br />consisting <br />of a sensor reading mixed with highly periodic impulses and high frequency <br />noi <br />se.The desired output is the realtime filtered sensor signal with the <br />impulses <br />and noise removed, and a readout of the impulse period. The FFT may not be <br />us <br />ed. <br />　　b. Interrupt Processing.A headware register consisting of eight <br />independen <br />t edge triggered latches is used to record external asynchronous interrupt <br />req <br />uests. When any of the request bits are latched, a software interrupt is <br />gener <br /><br />ated. The software may read the latch to see which interrupt(s) occurred. <br />Writ <br />ing a one to any latch bit will clear the latch. How does that software <br />assure <br />that no interrupt request is ever missed? <br />　　c. User Interface: a prototype MP3 player interface consisting of a <br />playli <br />st display and a few control buttons is given to you. How would you make the <br />i <br />nterface “skinnable”,with user selected graphics, options, and control <br />butto <br />n placement? <br />　　Each project description is incomplete. What questions would you ask to <br />co <br />mpletely specify the project? What development tools would you prefer to <br />use? <br />What algorithm /data structures/design would you use? <br />　　2. What program(s) have you coded for you own enjoyment (not part of a <br />sch <br />ool project,not for pay). What type of software project would you most enjoy <br />w <br />orking on? <br />　　3. Have you participated in a team programming project? What is the <br />hardes <br />t part of programming as a team, as opposed to programming alone? <br /><br /><br /><br />友立资讯笔试题目 <br />　　1．一堆鸡蛋，3个3个数剩余2个，5个5个数剩余1个，7个7个数剩余3个，问这堆鸡蛋 <br />最少有多少个？并给出通解。 <br />　　2．列举五岳，及其所在省份。 <br />　　3．何为四书。 <br />　　4．按顺序默写24节气。 <br />　　5．默写于谦的《吟石灰》。 <br />　　6．英语翻译约300字。 <br />　　7．作文一篇：求职有感。 <br /><br /><br /><br />普华永道PWC笔试题目（作文） <br />　　1．最近10年来中国媒体的变化。 <br />　　2．你认为发展汽车产业和公共交通哪个更重要？ <br />　　3．如何理解风险投资？ <br />　　4．如何理解广告的消极作用和积极作用？ <br /><br /><br /><br />Avant! 微电子EE笔试题 <br />　　1．名词解释：VLSI，CMOS，EDA，VHDL，Verilog，HDL，ROM，RAM，DRC，LVS。 <br />　　2．简述CMOS工艺流程。 <br />　　3．画出CMOS与非门的电路，并画出波形图简述其功能。 <br /><br />　　4．画出N沟道增强型MOSFET的剖面图。 <br />　　5．简述ESD和latch-up的含义。 <br />　　6．简述三极管与MOS管的区别。 <br />　　7．简述MOORE模型和MEALY模型。 <br />　　8．简述堆栈与队列的区别。 <br />　　奇码数字信息有限公司笔试题 <br />　　1．画出NMOS的特性曲线（指明饱和区，截至区，线性区，击穿区和C-V曲线） <br />　　2．2.2um工艺下，Kn＝3Kp，设计一个反相器，说出器件尺寸。 <br />　　3．说出制作N-well的工艺流程。 <br />　　4．雪崩击穿和齐纳击穿的机理和区别。 <br />　　5．用CMOS画一个D触发器（clk，d，q，q-）。 <br /><br /><br />德勤笔试题 <br />　　五个人来自不同地方，住不同房子，养不同动物，吸不同牌子香烟，喝不同饮料，喜 <br />欢不同食物。根据以下线索确定谁是养猫的人。 <br />　　（1）红房子在蓝房子的右边，白房子的左边（不一定紧邻） <br />　　（2）黄房子的主人来自香港，而且他的房子不在最左边。 <br />　　（3）爱吃比萨饼的人住在爱喝矿泉水的人的隔壁。 <br />　　（4）来自北京的人爱喝茅台，住在来自上海的人的隔壁。 <br />　　（5）吸希尔顿香烟的人住在养马的人右边隔壁。 <br />　　（6）爱喝啤酒的人也爱吃鸡。 <br />　　（7）绿房子的人养狗。 <br />　　（8）爱吃面条的人住在养蛇的人的隔壁。 <br />　　（9）来自天津的人的邻居（紧邻）一个爱吃牛肉，另一个来自 成都。 <br />　　（10）养鱼的人住在最右边的房子里。 <br />　　（11）吸万宝路香烟的人住在吸希尔顿香烟的人和吸“555”香烟的人的中间（紧邻） <br />　　（12）红房子的人爱喝茶。 <br />　　（13）爱喝葡萄酒的人住在爱吃豆腐的人的右边隔壁。 <br />　　（14）吸红塔山香烟的人既不住在吸健牌香烟的人的隔壁，也不与来自上海的人相邻 。 <br />　　（15）来自上海的人住在左数第二间房子里。 <br />　　（16）爱喝矿泉水的人住在最中间的房子里。 <br />　　（17）爱吃面条的人也爱喝葡萄酒。 <br />　　（18）吸“555”香烟的人比吸希尔顿香烟的人住的*右。 <br /><br /><br /><br />扬智（科技）笔试题目 <br />　　软件题目 <br />　　1. Queue is a useful structure <br />　　* What is a queue? <br />　　* Write 5 operations or functions, without details, that can be done on <br />a <br />queue. <br />　　2. Insert a sequence fo keys(24,49,13,20,59,23,90,35) into a data <br />structur <br />e, which has no keys initially. Depict the data structure after these <br />insertio <br />ns, if it is: <br />　　* a heap tree <br />　　* an AVL tree <br />　　3. * What is a synchronous I/O bus? <br />　　* What is an asnchronous I/O bus? <br />　　* Compare the advantages and disadvantages of synchronous and a <br />synchronou <br />s I/O bus. <br />　　4. Explain the following terminology: <br />　　* Baud rate <br />　　* Handshaking <br />　　* Memory mapped I/O <br />　　5. Explain the key issues in supporting a real-time operation system for <br />e <br />mbedded system. <br />　　6. Explain the mapping of visual addresses to real addresses under <br />paging <br />by <br />　　* direct mapping <br />　　* associative mapping <br />　　* combined direct/associated mapping <br />　　7. Please explain what is “write-back” and “write-through”, and <br />discus <br />s the advantage and disadvantage about these two methods. <br />　　8. Explain the concept and benefit of threads <br />　　9. What is hardware interrupt? What is software interrupt? What is <br />excepti <br />on? Please tell me all you know about interrupt. <br />　　10. Write a recursive function that tests wether a string is a <br />palindrome. <br />A palindrome is s string such as “abcba” or “otto” that reads the same <br />in <br />both directions.If you can write this function recursively,you can write an <br />i <br />terative version of this function instead. <br />　　11．什么是进程（Process）和线程（Thread）？有何区别？ <br />　　12．MFC和SDK有何区别？ <br />　　13．IRP是什么？有何作用？ <br />　　14．Windows 2000操作系统下用户模式和内核模式下编程有何区别？ <br />　　15．驱动程序的BUFFER能swap到磁盘上去吗？为什么？ <br />　　16．试编写3个函数实现 <br />　　（1）建立一个双向链表 <br />　　（2）插入一个节点 <br />　　（3）删除一个节点 <br />　　17．简述Hardware interrupt和software中断的区别，简述其应用。 <br /><br />　　18．试编写一个函数，计算一个字符串中A的个数。 <br />　　19．画出其相应流程图并编写一个函数实现一个整数到二进制数的转换，如输入6，输 <br />出110。 <br />　　20． <br />　　（1）编写一个递归函数，删除一个目录。 <br />　　（2）编写一个非递归函数，删除一个目录。 <br />　　并比较其性能。 <br />　　21．附加题：简单叙述编程经历 <br />　　硬件题目 <br />　　1．用mos管搭出一个二输入与非门。 <br />　　2．集成电路前段设计流程，写出相关的工具。 <br />　　3．解释名词IRQ，BIOS，USB，VHDL，SDR。 <br />　　4．简述如下Unix命令cp -r, rm,uname。 <br />　　5．用波形表示D触发器的功能。 <br /><br />　　6．写异步D触发器的verilog module。 <br />　　7．What is PC Chipset？ <br />　　8．用传输门和倒向器搭一个边沿触发器。 <br />　　9．画状态机，接受1，2，5分钱的卖报机，每份报纸5分钱。 <br />　　DSP题目 <br />　　1．H（n）&amp;#61501;&amp;#61485;a*h（n&amp;#61485;1）+b*δ（n） <br />　　（1）求h（n）的z变换 <br />　　（2）该系统是否为稳定系统 <br />　　（3）写出FIR数字滤波器的差分方程 <br />　　2．写出下面模拟信号所需的最小采样带宽 <br />　　（1）模拟信号的频率范围是0~4kHz <br />　　（2）模拟信号的频率范围是2~4kHz <br />　　3．名词解释 <br />　　（1）量化误差 <br />　　（2）直方图 <br />　　（3）白平衡 <br />　　（4）MMX <br />　　4．写出下面几种格式中用到的压缩技术 <br />　　（1）JPEG <br />　　（2）MPEG2 <br />　　（3）MP3 <br /><br /><br /><br />高通笔试题 <br />　　1. Can you describe the trend of wireless mobile communication industry? <br />( <br />2000 letters) <br />　　2. Compare the major third generation technologies.(2000 letters) <br />　　3. Describe the characteristics of Walsh function. Explain how to <br />generate <br />Walsh Function. (2000 letters) <br />　　4. List factors that will affect the capacity of forward and reverse <br />links <br />of a CDMA system. (2000 letters) <br />　　5. What are the differences between IS-95 A/B and cdma2000 1X? (2000 <br />lette <br />rs) <br /><br /><br /><br /><br />威盛笔试试题 <br />　　2002年软件笔试题 <br />　　1．三组程序，找出你认为的错误。 <br />　　（1）a.c long temp[255]; <br />　　b.c extern *temp; <br />　　（2）a.c long temp[255]; <br />　　b.c extern temp[256]; <br />　　（3）a.c long temp[255]; <br />　　b.c extern temp[]; <br />　　2．在第一个声明处编译出了奇怪的错误，为什么？ <br />　　#include &lt;stdio.h&gt; <br />　　#include “myfun1.h” <br />　　#include “myfun2.h” <br />　　int myInt1; <br />　　int myInt2; <br />　　3．printf(“0x%x”, (&amp;0)[&amp;#61485;1]); 请问打印了什么？ <br />　　4．汇编，用ax,bx,cx,dx，求1000×1000/30（四舍五入），结果放在ax中。 <br />　　5．编最优化Bubble(int *pIntArray,int L)，要求:交换元素不能用临时变量，如果 <br />有序需要最优。 <br />　　6．用任意一种编程语言写n!的算法。 <br />　　2003 Asic部分 <br />　　1．一个四级的Mux，其中第二级信号为关键信号，如何改善timing？ <br />　　2．一个状态机的题目用Verilog实现。 <br />　　3．Asic中的design flow的实现。 <br />　　4．用逻辑门画出D触发器。 <br />　　5．给出某个一般时序电路的图，有Tsetup，Tdelay，Tck&amp;#61485;&gt;q还有clock的del <br />ay，写出决定最大时钟的因素，同时给出表达式。 <br />　　6．用C语言实现统计某个cell在某.v文件调用的次数。 <br />　　7．Cache的主要部分。 <br />　　2003 EE笔试题目 <br />　　1．写出电流公式。 <br />　　2．写出平板电容公式。 <br />　　3．电阻R和电容C串联，输入电压为R和C之间的电压，输出电压分别为C上电压和R上电 <br />压，要求绘制这两种电路输入电压的频谱，判断这两种电路何为高通滤波器，何为低通滤 <br />波器。当RC&lt;&lt;T时，给出输入电压波形图，绘制两种电路的输出波形图。 <br />　　4．给出时域信号，求其直流分量。 <br />　　5．给出一时域信号，要求写出频率分量，并写出其傅立叶变换级数。当波形经过低通 <br />滤波器滤掉高次谐波而只保留一次谐波时，画出滤波后的输出波形。 <br />　　6．有一时域信号S=V0sin(2pif0t)+V1cos(2pif1t)+V2sin(2pif3t+90)，写出当其通过 <br />低通、带通、高通滤波器后的信号表示方式。 <br />　　7．给出一差分电路，告诉其输出电压Y+和Y&amp;#61485;，求共模分量和差模分量。 <br />　　8．一电源和一段传输线相连（长度为L，传输时间为T），画出终端处波形，考虑传输 <br />线无损耗。给出电源电压波形图，要求绘制终端波形图。 <br />　　9．求锁相环的输出频率，给了一个锁相环的结构图。 <br />　　10．给出一个堆栈的结构，求中断后显示结果，主要是考堆栈压入返回地址存放在低 <br />端地址还是高端。 <br />　　2003 Graphic笔试题目 <br />　　1．问答题 <br />　　（1）texture mapping是什么？为什么要用filter？ <br />　　（2）用float和int表示一个数，比如2，说明优点和缺点。 <br />　　（3）在MPEG哪部分可以加速硬件？ <br />　　（4）解释cubic和B-spline的差别，写出各自函数。 <br />　　（5）写出几个Win API中的OpenGL函数。 <br />　　（6）说出固定小数表示和浮点小数表示的优缺点。 <br />　　（7）说出显卡可以优化哪些MPEG中的计算？ <br />　　（8）说出Bezier和B-Spline曲线的区别。 <br />　　2．用最简单的方法判断一个数是否是2的指数次幂。 <br />　　3．S23E8和S10E5两种浮点数表示方法分析，表示0.25写一个类S10E5，实现从S23E8转 换。 <br />　　4．用模版的方式实现三个量取最大值。 <br />　　5．题目告诉你IEEE 16和32浮点数表示的规范，要求将&amp;#61485;0.25分别用IEEE 16和 <br />32表示并写一个C++函数将输入的IEEE 16表示转化为IEEE 32的表示。 <br />　　6．用C语言写一个函数f（x）&amp;#61501; x * 0.5要求只能用整数操作。 <br />　　2003 Software Engineer笔试题 <br />　　1. Describe x86 PC’s architecture in a diagram cpu,core chipset, <br />Cache,DR <br />AM, IO-subsystem, IO-Bus <br />　　2. SWI instruction is often called a “supervisor call”, describe the <br />act <br />ions in detail <br />　　* Save the address of the instruction after the SWI in rl4_svc. <br />　　* Save the CPSR in SPSR_svc. <br />　　* Enter supervisor mode and disable IRQs. <br />　　* Set the PC to 08 and begin executing the instruction there. <br />　　3. <br />　　* What is PIO operation? advantage and disadvantage? <br />　　* DMA operation? advantage and disadvantage? <br />　　* Scatter/Gather DMA engine? how does it operate? <br />　　4. MP3 decoder related. (a flow chart of decoding is presented) <br />　　* advantages of Huffman encoding? <br />　　* why the aliasing reduction is necessary? <br />　　* analytical expression in mathematics of the IMDCT? <br />　　* which block in the flow chart is suitable for the software <br />implementatio <br />n and which for the hardware? why? <br />　　5. Assembly codes -&gt; C language (about 15 lines). <br />　　6. Graduation thesis description. <br /><br /><br />汉王笔试题 <br />　　高级研究人员（模式识别、图像处理类）招聘试题 <br />　　说明： <br />　　可能您的专业并不完全符合本试题所涉及的领域。因此，并非所有的问题都需要回答 <br />，您可以只回答你所熟悉和能够回答的问题。允许参考任意的资料，但请独立完成此试题 <br />，我们更欣赏您独立的思考和创新的精神。本试题并非我们录用或者不录用您的惟一依据 <br />。应聘高级研究人员者请回答这部分问题。 <br />　　1．人工智能与模式识别的研究已有多年，但似乎公认的观点认为它仍然非常困难。试 <br />对你所熟悉的任一方向（如指纹识别、人像识别、语音识别、字符识别、自然语言理解等 <br />）的发展状况进行描述。并设想如果你将从事该方向的研究，你打算如何着手，以建立有 <br />效的识别理论和方法；或者你认为现在的理论和方法有何缺陷，有什么办法来进行改进？ <br />（500字以内即可，不要太长） <br />　　2．简述下面任一主题的主要理论框架或主要观点（500字以内即可，不要太长） <br />　　（1）David Marr的视觉计算理论框架 <br />　　（2）格式塔（Gestalt）心理学派的主要观点 <br />　　（3）Bayes决策理论 <br />　　（4）人工神经网络中的BP网络、自组织网络和联想记忆网络的主要内容 <br />　　（5）基因算法 <br />　　（6）小波分析 <br />　　（7）目前流行的有损静态图像压缩方法 <br />　　3．设想你要设计一个算法，检测给定的图像中是否有矩形结构。所要检测的矩形可能 <br />有多种形态，试提出你的算法框架。要求你的算法至少能检测出样本中的矩形，而拒绝其 <br />他的任意非矩形结构。矩形的大小、位置和方向未知，要求你的算法能确定这些参数。 <br />　　如果你认为这个问题太难而不能解决，请说明理由。 <br />　　高级软件开发人员招聘试题 <br />　　说明： <br />　　可能您的专业并不完全符合本试题所涉及的领域。因此，并非所有的问题都需要回答 <br />，您可以只回答你所熟悉和能够回答的问题。允许参考任意的资料，但请独立完成此试题 <br />，我们更欣赏您独立的思考和创新的精神。本试题并非我们录用或者不录用您的惟一依据 。 <br />　　应聘高级软件开发人员者请回答这部分问题。 <br />　　1．数据的逻辑存储结构（如数组，队列，树等）对于软件开发具有十分重要的影响， <br />试对你所了解的各种存储结构从运行速度、存储效率和适用场合等方面进行简要地分析。 <br /><br />　　2．数据库技术是计算机系统中一个非常重要的领域，几乎所有的计算机应用中都或多 <br />或少地用到了数据库。试简要地谈谈数据库设计中应当注意哪些问题，以及如何解决？给 <br />出两种你所熟悉的DBMS，要求一种适用于小型应用，另一种适用于大型应用，给出你做出 <br />选择的理由。 <br />　　3．某公司的主要业务是提供WWW和E-mail服务，出于安全考虑，该公司要求我公司提 <br />供一套网络指纹登录系统，该系统要求能够利用指纹替代E-mail中常用的密码，并对所提 <br />供的部分网页通过指纹认证后才能访问，请利用你所学过的知识对该系统进行分析设计， <br />你可以指定网络的配置（包括协议），但必须保证邮件用户既可通过网页（http方式）收 <br />取信件，也可通过Outlook收取信件。请分析该系统的可行性，可行时给出系统结构和主要 <br />的存储结构，指出系统中的难点和解决方法。（假设指纹识别的问题已经解决） <br />　　高级硬件开发人员招聘试题 <br />　　说明： <br />　　可能您的专业并不完全符合本试题所涉及的领域。因此，并非所有的问题都需要回答 <br />，您可以只回答你所熟悉和能够回答的问题。允许参考任意的资料，但请独立完成此试题 <br />，我们更欣赏您独立的思考和创新的精神。本试题并非我们录用或者不录用您的惟一依据 。 <br />　　应聘高级硬件开发人员者请回答这部分问题。 <br />　　1．下面是一些基本的数字电路知识问题，请简要回答： <br />　　（1）什么是Setup和Holdup时间？ <br />　　（2）什么是竞争与冒险现象？怎样判断？如何消除？ <br />　　（3）请画出用D触发器实现2倍分频的逻辑电路。 <br />　　（4）什么是“线与”逻辑？要实现它，在硬件特性上有什么具体要求？ <br />　　（5）什么是同步逻辑和异步逻辑？ <br />　　（6）请画出微机接口电路中，典型的输入设备与微机接口逻辑示意图（数据接口、控 <br />制接口、所存器／缓冲器）。 <br />　　（7）你知道哪些常用的逻辑电平？TTL与COMS电平可以直接互连吗？ <br />　　2．可编程逻辑器件在现代电子设计中越来越重要，请问： <br />　　（1）你所知道的可编程逻辑器件有哪些？ <br />　　（2）试用VHDL或Verilog，ABLE描述8位D触发器逻辑 <br />　　3．设想你将设计完成一个电子电路方案。请简述用EDA软件（如PROTEL）进行设计<br />（ <br />包括原理图和PCB图）到调试出样机的整个过程。在各个环节应注意哪些问题？ <br /><br /><br /><br /><br />北京信威通信技术股份有限公司面试题 <br />　　1．DSP和通用处理器在结构上有什么不同？请简要画出你熟悉的一种DSP结构图。 <br />　　2．说说定点DSP和浮点DSP的定义（或者说出他们的区别）。 <br />　　3．说说你对循环寻址和位反序寻址的理解。 <br />　　4．请写出【&amp;#61485;8，7】的二进制补码和二进制偏置码。用Q15表示出0.5和&amp;#614; <br />85;0.5。 <br /><br /><br /><br /><br />中国国际金融有限公司CICC笔试题 <br />　　1. Please tell us about an achievement that you are especially proud of <br />be <br />cause it was difficult or demanding. <br />　　（1）What the objective was? <br />　　（2）Why it is important to you? <br />　　（3）How you achieved it and the obstacles that you had to overcome in <br />ord <br />er to do so? <br />　　2. What is your career plan? Three years after graduation, and five <br />years <br />after graduation? <br />　　3. Why are you interested in investment bank? What other industries do <br />you <br />also have interests? <br />　　4. Why do you think you can be a qualified investment banker? How can <br />you <br />contribute in this industry? <br /><br /><br /><br />国泰君安笔试题 <br />　　一列火车上有三个工人，史密斯、琼斯和罗伯特，三人工作为消防员、司闸员和机械 <br />师，有三个乘客与这三人的名字相同。罗伯特住在底特律；司闸员住在芝加哥和底特律中 <br />间的地方；琼斯一年赚2万美金；有一个乘客和司闸员住在一个地方，每年的薪水是司闸员 <br />的3倍整；史密斯台球打得比消防员好；和司闸员同名的乘客住在芝加哥。 <br />　　请问谁是机械师？ <br /><br /><br /><br />Briny笔试题 <br />　　1．说出RC振荡器的构成和工作原理。 <br />　　2．什么是SDH? <br />　　3．什么是共模、差模?画出差分电路的结构。 <br />　　4．a=5; b=6; a+=b++; 执行结果是什么？ <br />　　5．什么是TDM？什么是CDMA？ <br />　　6．什么是采样定理？ <br />　　7．什么是香农定理？ <br />　　8．计算机的中断有哪几类？ <br /><br />广东北电面试题目 <br />　　英文笔试题 <br />　　1. Tranlation (Mandatory) <br />　　CDMA venders have worked hard to give CDMA roaming capabilities via the <br />de <br />velopment of RUIM-essentially, a SIM card for CDMA handsets currently being <br />de <br />ployed in China for new CDMA operator China Unicom. Korean cellco KTF <br />demonstr <br />ated earlier this year the ability to roam between GSM and CDMA using such <br />car <br />ds.However,only the card containing the user’s service data can roam-not <br />the <br />CDMA handset or the user’s number (except via call forwarding). <br />　　2. Programming (Mandatory) <br />　　Linked list <br />　　a. Implement a linked list for integers,which supports the insertafter <br />(in <br />sert a node after a specified node) and removeafter (remove the node after a <br />s <br />pecified node) methods; <br />　　b. Implement a method to sort the linked list to descending order. <br />　　3. Debugging (Mandatory) <br />　　a. For each of the following recursive methods,enter Y in the answer box <br />i <br />f themethod terminaters (assume i=5), Otherwise enter N. <br />　　static int f(int i){ <br />　　 return f(i-1)*f(i-1); <br />　　 } <br />　　Ansewr: <br />　　static int f(int i){ <br />　　 if(i==0){return 1;} <br />　　 else {return f(i-1)*f(i-1);} <br />　　 } <br />　　Ansewr: <br />　　static int f(int i){ <br />　　 if(i==0){return 1;} <br />　　 else {return f(i-1)*f(i-2);} <br />　　 } <br />　　Ansewr: <br />　　b. There are two errors in the following JAVA program: <br />　　static void g(int i){ <br />　　 if(i==1){return;} <br />　　 if(i%2==0){g(i/2);return;} <br />　　 else {g(3*i);return;} <br />　　 } <br />　　please correct them to make sure we can get the printed-out result as <br />belo <br />w: <br />　　3 10 5 16 8 4 2 1 <br /><br />　　中文笔试题 <br />　　1．汉译英 <br />　　北电网络的开发者计划使来自于不同组织的开发者，能够在北电网络的平台上开发圆 <br />满的补充业务。北电网络符合工业标准的开放接口，为补充业务的开展引入了无数商机， <br />开发者计划为不同层面的开发者提供不同等级的资格，资格的划分还考虑到以下因素：补 <br /><br />充业务与北电网络平台的集合程度，开发者团体与北电网络的合作关系，等等。 <br />　　2．编程 <br />　　将整数转换成字符串：void itoa(int,char); <br />　　例如itoa(-123,s[])则s=“-123”; <br /><br /><br /><br />U2合唱团在17分钟内得赶到演唱会场，途中必需跨过一座桥，四个人从桥的同一端出发， <br />你得帮助他们到达另一端，天色很暗，而他们只有一只手电筒。一次同时最多可以有两人 <br />一起过桥，而过桥的时候必须持有手电筒，所以就得有人把手电筒带来带去，来回桥两端 <br />。手电筒是不能用丢的方式来传递的。四个人的步行速度各不同，若两人同行则以较慢<br />者 的速度为准。Bono需花1分钟过桥，Edge需花2分钟过桥，Adam需花5分钟过桥，Larry需<br />花 10分钟过桥。他们要如何在17分钟内过桥呢？（有个同济的学生写文章说他当时在微软<br />面 试时就是碰到了这道题，最短只能做出在19分钟内过桥，微软的人对他讲这样的结果已<br />经 是不错的了！） <br /><br />　　A点到B点 <br />　　1和2过去 2分钟 2 <br />　　2过来 4分钟 2+2=4 <br />　　10和5过去 14分钟 4+10=14 <br />　　1过来 15分钟 14+1=15 <br />　　1和2过去 17分钟 15+2=17 <br /><br />　　19分钟还很不错？？？？ <br /><br />这是广州本田的试题，大家看一下 <br /><br />广州本田笔试题 <br />　　1．排序s-m-t-w-t-f-？ <br />　　2．如果六千，六百，六表示成6606，那么十一千，十一百，十一表示成什么？ <br />　　3．grass后面加一个词，agent前面加一个单词，组成两个新词，这个词是什么？ <br />　　4．农场不知道有多少鸡，现有一批饲料，如果卖掉75只鸡饲料够20天用，买进100<br />只 鸡饲料够用15天，问原来有多少只鸡？ <br />　　5．6个桶，装着两种液体，一种液体的价格是另外一种的double，桶容量为8，13，<br />15，17，19，31，有一个美国人，各用了14美元买两种液体，剩下一个桶。问剩下哪<br />个？ <br /><br />　　6．篮球场，还剩6秒，差对手4分，没可能追得上，现在有一个暂停，你会怎么指导<br />球 员去做？ <br /><br /><br />明基面试问题 <br />　　1．自我介绍（2分钟）。 <br />　　2．你大学期间最辉煌的一件事是什么？ <br />　　3．如果你明天去火星呆上300年，今天晚上你最想做的一件事是什么? <br /><br /><br />网易 <br />　　1、10个人分成4组 有几种分法？ <br />　　2、如图： <br />　　　　 7 8 9 10 <br />　　　　 6 1 2 11 <br />　　　　 5 4 3 12 <br />　　　　 16 15 14 13 <br />　　　　设“1”的坐标为（0，0） “7”的坐标为（－1，－1） 编写一个小程序，使<br />程 序做到输入坐标（X,Y）之后显示出相应的数字。 <br />　　3、#include&lt;stdio.h&gt; <br />　　　　//example input and output <br />　　　　//in 1 2 3 out 1 3 1 <br />　　　　//in 123456789 2 100 out 123456789 100 21 <br />　　　　long mex(long a,long b,long c) <br />　　　　{ long d; <br />　　　　 if(b==0) return 0; <br />　　　　 if(b==1) return a%c; <br />　　　　 d=mex(a,b/2,c)； d*=d;这里忘了;d*=mex(a,b%2,c);d%=c; <br />　　　　 return d; <br />　　　　} <br />　　　　int main(void) <br />　　　　{ long x,y,z; <br />　　　　 while(1) <br />　　　　 { if(scanf(%d %d %d,&amp;x,&amp;y,&amp;z)&gt;3) return 0; <br />　　　　 if(x&lt;0) { printf("too small\n");continue;} <br />　　　　 if(y&lt;0) { printf("too small\n");continue;} <br />　　　　 if(z&lt;1) { printf("too small\n");continue;} <br />　　　　 if(y&gt;z) { printf("too big\n");continue;} <br /><br />　　　　 if(z&gt;1000000010) {printf("too big\n");continue} <br />　　　　 printf(%d %d %d,x,z,mex(x,y,z); <br />　　　　}} <br />　　　　根据这个程序，当已知一个输入，算出输出，如：输入 1 3 1 则输出 1 2 3 <br />输 入 123456789 100 21 输出 123456789 2 100 <br /><br /><br />广州日报 <br />　　1、填空部分是一些时事题，如：我国有多少网民，三个代表、北京申奥什么的，及<br />记 者的一些常识性的问题：如我国第一个以写新闻通讯出名的记者是谁？蔡元培曾经夸奖<br />过 的记者是谁？ <br />　　2、选择题范围与填空基本一样，包括时政和新闻知识：如深度采访的实质，记者的<br />职 业道德等。 <br />　　3、简答题就比较专业：一道是你参加一条高速公路的开通典礼，如何在记者会上发<br />的 新闻通稿之外写出会上没说的内容。一道是你去一个单位采访，但没有任何该单位的证<br />件 <br />、邀请函之类东西，你如何骗过门卫混进去。第三道是有几家香水公司都想让你说好<br />话， 就是做软新闻了，你该如何处理。第四道是A明星与B明星不和，你如何报道A骂B的话而<br />又 不能让B告你诽谤。 <br />　　4、写作题是以“今年冬天不太冷”为题任意想象，加叙加议。 <br />　　5、五道智力测验：如何喝道啤酒杯底部的啤酒、汽车过隧道但高2厘米该怎么办、<br />你 吃苹果时吃到几条虫最恶心之类，10只点燃的蜡烛，让风吹灭了2只，后来在关窗户前又吹 <br />灭1只。问最后还有几支。 <br /><br /><br />面试官揭秘500强面试题几年来，我遇到三个刁钻的问题。可惜的是，我因没有心理准备而 <br />未能给出令人满意的答复。 <br /><br />　　（1）你的约会很多吗？（问这个问题的是美国一家防务公司的一名女面试官。） <br /><br />　　（2）你今天为什么来这里？（一家投资银行的面试官走进他的办公室，看到我坐在<br />那 里等他时所问的问题。） <br /><br />　　（3）如果此时外面有一艘宇宙飞船着陆，你会走进去吗？如果它可以去任何一个地方 <br />，你会要求它把您带到哪里？（一家投资银行的面试官所问的问题。）——凯利，1999年 <br />5月3日 <br /><br />　　□建议 <br /><br />　　这几个问题都具有挑战性，虽然第一个问题看上去有点不同寻常，是一名女性向另一 <br />名女性提出的问题，但你仍要认真作答，让对方感到满意。比较好的回答方式是：“如果 <br />你担心我对私人生活的关注程度大于对工作的关注程度，那么我向你保证，我对工作非常 <br />投入。同样，我努力保持平衡的生活，以各种各样的方式充实我的业余生活。”这既回答 <br />了面试官的问题，也没有暴露自己的隐私。 <br /><br />　　“你今天为什么来这里”这样的问题给你提供了一个阐述自己对这份工作的热情的<br />机 会。如果你不是从这句话的表面意思去看，那么这就是一个刁钻的问题。在接受面试<br />时， 很重要的一点是让自己轻松一点，不要分析每个问题到底是什么意思。想方设法让你的回 <br />答能够拉近你与面试官之间的关系。并表明你作为这个职位的应聘者，有着自己的优势。 <br />“我来这里是要和你讨论一下我应聘某某工作的问题。你愿意同我介绍一下自己的情况吗 ？” <br /><br />　　宇宙飞船这个问题问的是你有多大的冒险精神，要回答这个问题，需要根据你对自<br />己 所应聘的工作的了解好好组织自己的语言。假如这项工作要求你具有创新精神，那么你<br />可 以说：“是的，我会上去，去见见曾经在这个星球走过的那些最具有创新精神的人，问<br />问 他们最喜欢用什么方式来让自己尽可能保持创造力。” <br /><br />　　■下水道的井盖为什么是圆的？ <br /><br />　　微软的顾问有时会得到一些特殊待遇，因为在面试时询问他们的问题并不是真的算<br />算 术。 <br /><br />　　□范例 <br /><br />　　理查德·范曼在微软找工作 <br /><br />　　面试官：现在我们要问一个问题，看看你的创造性思维能力。不要想得太多，运用<br />日 常生活中的常识，描述一下你的想法。这个问题是，下水道的井盖为什么是圆的？ <br /><br />　　范曼：它们并不都是圆的，有些是方的，的确有些圆井盖，但我也看过方的，长方的 。 <br /><br />　　面试官：不过我们只考虑圆形的井盖，他们为什么是圆的？ <br /><br />　　范曼：如果我们只考虑圆的，那么它们自然是圆的。 <br /><br />　　面试官：我的意思是，为什么会存在圆的井盖？把井盖设计成圆形的有什么特殊的<br />意 义吗？ <br /><br />　　范曼：是有特殊意义，当需要覆盖的洞是圆形时，通常盖子也是圆的。用一个圆形<br />的 盖子盖一个圆形的洞，这是最简单的办法。 <br /><br />　　面试官：你能想到一个圆形的井盖比方形的井盖有哪些优点吗？ <br /><br />　　范曼：在回答这个问题之前，我们先看看盖子下面是什么。盖子下面的洞是圆的，<br />因 为圆柱形最能承受周围土地的压力。而且，下水道出孔要留出足够一个人通 </font>
<img src ="http://www.cppblog.com/cqyangjf/aggbug/14416.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cqyangjf/" target="_blank">小丑</a> 2006-10-31 11:48 <a href="http://www.cppblog.com/cqyangjf/archive/2006/10/31/14416.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C++面试题集3</title><link>http://www.cppblog.com/cqyangjf/archive/2006/10/31/14417.html</link><dc:creator>小丑</dc:creator><author>小丑</author><pubDate>Tue, 31 Oct 2006 03:48:00 GMT</pubDate><guid>http://www.cppblog.com/cqyangjf/archive/2006/10/31/14417.html</guid><wfw:comment>http://www.cppblog.com/cqyangjf/comments/14417.html</wfw:comment><comments>http://www.cppblog.com/cqyangjf/archive/2006/10/31/14417.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cqyangjf/comments/commentRss/14417.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cqyangjf/services/trackbacks/14417.html</trackback:ping><description><![CDATA[
		<p>
				<font size="2">int Strcmp(char *str1, char *str2)<br />{<br />   int i=0;<br />   int b=0;<br />   while(str1[i]||str2[i])<br />   {<br />      if(str1[i]&gt;str2[i])<br />      {<br />         b=1;break;<br />      }<br />      else if(str1[i]&lt;str2[i])<br />      {<br />         b=-1;break;<br />      }<br />      i++;<br />   }<br />   return b;<br />}</font>
		</p>
		<p>
				<font size="2">***************************************************************************************************************<br />1.说出下面这个程序的运行结果，并简要叙述其理由：</font>
		</p>
		<p>
				<font size="2">char buf1[10]="hello";<br />char buf2[10]="hello";<br />if (buf1==buf2)<br />printf("equal!");<br />else printf("not equal!");<br />因为buf1,buf2分配了不同的内存块，而比较的是数组名，实际上是两个分别指向数组起始元素地址的指针。</font>
		</p>
		<p>
				<font size="2">2.指出下面这段程序中存在一些什么问题：</font>
		</p>
		<p>
				<font size="2">int loop,a[5];<br />int* p=a;<br />for (loop=0;loop&lt;5;loop++)<br />{ p++;<br />*p=loop;<br />}</font>
		</p>
		<p>
				<font size="2">数组a[5]在创建时没有初始化， 在for循环里也没有起到完全初始化数组的作用，而且对一块未知内存赋值。在最后一轮循环<br />结束时p指向了数组a[5]的最后一个元素的下一个地址。</font>
		</p>
		<p>
				<font size="2">string 系列</font>
		</p>
		<p>
				<font size="2">char * strcpy( char *strDest, const char *strSrc ) <br />{<br />　assert( (strDest != NULL) &amp;&amp; (strSrc != NULL) );<br />char *address = strDest; <br />　while( (*strDest++ = * strSrc++) != ‘\0’ ); <br />return address;<br />}</font>
		</p>
		<p>
				<font size="2">char* strncpy(char* strdest, const char* strsrc, int n)<br />{<br />   assert((strdest != NULL) &amp;&amp; (strsrc != NULL));<br />   char* address = strdest;<br />   while(n-- &gt; 0)<br />      *strdest++ = *strsrc++;<br />   return address;<br />}</font>
		</p>
		<p>
				<font size="2">int strcmp(const char* str1, const char* str2)<br />{<br />   assert((str1 != NULL) &amp;&amp; (str2 != NULL);<br />   int ret = 0;<br />   while (!(ret = (unsigned char*)*str1 - (unsigned char*)*str2) &amp;&amp; (*str2))<br />   {<br />      str1++;<br />      str2++;<br />   }<br />   if (ret &gt; 0)<br />      ret = 1;<br />   else if (ret &lt; 0)<br />      ret = -1;<br />   return ret;<br />}</font>
		</p>
		<p>
				<font size="2">int strlen(const char* str)<br />{<br />   assert(str != NULL);<br />   int len = 0;<br />   while ('\0' != *str++)<br />      len++;<br />   return len;<br />}<br />类string的构造函数<br />string::string(const char* str)<br />{<br />   if(str == NULL)<br />   {<br />      m_data = new char[1];<br />      *m_data = '\0';<br />    }<br />    else<br />    {<br />       int length = strlen(str);<br />       m_data = new char[str + 1];<br />       strcpy(m_data, str);<br />     }<br />}</font>
		</p>
		<p>
				<font size="2">string 的析构函数<br />string::~string()<br />{<br />   delete [] m_data;<br />}</font>
		</p>
		<p>
				<font size="2">string 的拷贝构造函数<br />string ::string(const string&amp; other)<br />{<br />   int len = strlen(other.m_data);<br />   m_data = new char[len + 1];<br />   strcpy(m_data, other.m_data);<br />}</font>
		</p>
		<p>
				<font size="2">string 的赋值函数<br />string&amp; string::operator=(const string&amp; other)<br />{<br />   if (this == &amp;other)<br />      return *this;<br />   delete [] m_data;<br />   int len = strlen(other.m_data);<br />   m_data = new char[len + 1];<br />   strcpy(m_data, other.m_data);<br />   return *this;<br />}   </font>
		</p>
		<p>
				<br />
				<font size="2">不用任何局部和全局变量实现int strlen(char *a) </font>
		</p>
		<p>
				<font size="2">int strlen(char *a) {<br />    if('\0' == *a)<br />        return 0;<br />    else <br />        return 1 + strlen(a + 1);<br />}</font>
		</p>
		<p>
				<br />
				<font size="2">1)sizeof相关系列问题<br />2)const相关系列问题<br />3)大量林锐书的习题，以及各种变种<br />这三个几乎是每次必出现<br />下面的这些是程序相关题,很多都是以前有讨论过的,还请各位大侠能整理个比较适合做面试时答案的解答,多谢了.最好能给出<br />讨论链接,让我等后辈有学习的机会.<br />1)求出相似度的算法.<br />2)写出二分查找的代码.<br />int binary_search(int* arr, int key, int n)<br />{<br />   int low = 0;<br />   int high = n - 1;<br />   int mid;<br />   while (low &lt;= high)<br />   {<br />      mid = (high + low) / 2;<br />      if (arr[mid] &gt; k)<br />         high = mid - 1;<br />      else if (arr[mid] &lt; k)<br />         low = mid + 1;<br />      else<br />         return mid;<br />   }<br />   return -1;<br />}<br />   <br />3)写出在母串中查找子串出现次数的代码.<br />*4)写出快速排序或者某种排序算法代码<br />出现次数相当频繁<br />5)写出查找从一个集合中输出所有子集合的算法.<br />*6)实现strcpy函数<br />char* strcpy(char* dest, const char* src)<br />{<br />   assert((dest != NULL) &amp;&amp; (src != NULL));<br />   char* address = dest;<br />   while ('\0' != (*dest++ = *src++));<br />   return address;<br />}<br />出现次数相当频繁<br />*7)实现strcmp函数<br />int mystrcmp(const char* str1, const char* str2)<br />{<br />   assert((str1 != NULL) &amp;&amp; (str2 != NULL));<br />   int ret = 0;<br />   while (!(ret = *(unsigned char*)str1 - *(unsigned char*)str2) &amp;&amp; *str2)<br />   {<br />      str1++;<br />      str2++;<br />   }<br />   if (ret &gt; 0)<br />      ret = 1;<br />   else if (ret &lt; 0)<br />      ret = -1;<br />   return ret;<br />}<br />   <br />出现次数相当频繁<br />8)将一个单链表逆序<br />struct test<br />{<br />   int number;<br />   double score;<br />   test* next;<br />}<br />void reverse(test*&amp; head)<br />{<br />   test* pe = head;<br />   test* ps = head-&gt;next;<br />   while(ps != NULL)<br />   {<br />      pe-&gt;next = ps-&gt;next;<br />      ps-&gt;next = head;<br />      head = ps;<br />      ps = pe-&gt;next;<br />    }<br />}  <br />   <br />      <br />      <br />9)循环链表的节点对换和删除。<br />*10)将一个数字字符串转换为数字."1234" --&gt;1234<br />＃i nclude&lt;iostream&gt;<br />using namespace std;</font>
		</p>
		<p>
				<font size="2">int f(char* s)<br />{<br />   int k = 0;<br />   while (*s)<br />   {<br />      k = 10 * k + (*s++)- '0';<br />      <br />   } <br />   return k;<br />}</font>
		</p>
		<p>
				<font size="2">int main()<br />{<br />   int digit = f("4567");<br />   cout&lt;&lt;digit&lt;&lt;endl;<br />   cin.get();<br />}<br />出现次数相当频繁<br />11)实现任意长度的整数相加或者相乘功能。<br />*12)写函数完成内存的拷贝<br />一个内存拷贝函数的实现体</font>
		</p>
		<p>
				<font size="2">void *memcpy(void *pvTo,const void *pvFrom,size_t size)</font>
		</p>
		<p>
				<font size="2">{</font>
		</p>
		<p>
				<font size="2">assert((pvTo!=NULL)&amp;&amp;(pvFrom!=NULL));</font>
		</p>
		<p>
				<font size="2">byte *pbTo=(byte*)pvTo; //防止地址被改变</font>
		</p>
		<p>
				<font size="2">byte *pbFrom=(byte*)pvFrom;</font>
		</p>
		<p>
				<font size="2">while (size-- &gt;0)</font>
		</p>
		<p>
				<font size="2">*pbTo++ = *pbForm++;</font>
		</p>
		<p>
				<font size="2">return pvTo;</font>
		</p>
		<p>
				<font size="2">} </font>
		</p>
		<p>
				<font size="2">出现次数相当频繁</font>
		</p>
		<p>
				<font size="2">
				</font> </p>
		<p>
				<br />
				<font size="2">.笔试: <br />1)写一个内存拷贝函数,不用任何库函数.就是前些时候本版讨论的那个问题.<br /> void* memcpy(void* pvTo, const void* pvFrom, size_t size)<br /> {<br />    assert((pvTo != NULL) &amp;&amp; (pvFrom != NULL));<br />    byte* pbTo = pvTo;<br />    byte* pbFrom = pbFrom;<br />    while (size-- &gt; 0)<br />    {<br />       *pbTo++ = *pbFrom++;<br />    }<br />    return pvTo;<br /> }<br />2)将一个单链表逆序.(这个问题是个常规的数据结构问题.不过不小心时会损失效率) <br />3)客房预定的问题.根据客户报的人数,客房等级来从预备的客房中选择出所有符合要求的 </font>
		</p>
		<p>
				<font size="2">客房号.客户没有要求等级时,只考虑人数因素就可以了.要考虑有些客房已经预定的情况. </font>
		</p>
		<p>
				<font size="2">(写代码是要考虑好彼此的效率) <br />4)对于一个无序序列进行二分查找 <br />线排序再查找</font>
		</p>
		<p>
				<font size="2">5)将一个数字字符串转换为数字."1234" --&gt;1234<br />int convert(char* str)<br />{<br />   int k = 0;<br />   while (*str != '\0')<br />   {<br />      k = k * 10 + *s++ - '0';<br />   }<br />   return k;<br />} <br />6)在文件(调用库函数创建的,不用考虑数据库的方式)中读入信息(包括职工号,职工产量) </font>
		</p>
		<p>
				<font size="2">.根据输入的信息(包括职工号,职工产量)..检测是否有相同的职工号记录,如有,则增加其 </font>
		</p>
		<p>
				<font size="2">产量.如没有,则创建新的记录.最后的记录排序的依据是职工产量(降序),如果产量相同,则 </font>
		</p>
		<p>
				<font size="2">按职工号(升序). (具体的题目记不太清了,这个题目有点长.哪位也去笔试了.请修正一下 </font>
		</p>
		<p>
				<font size="2">子) <br />. <br />2.面试 <br />1)找出两个中文句子的相似度.(例如"中国江苏南京" "江苏省中国南京市".实际上是指的 </font>
		</p>
		<p>
				<font size="2">同一个地方.面试官的要求是一分钟给出求相似度的算法.)(幸好听老师讲过中文分词,要不 </font>
		</p>
		<p>
				<font size="2">然当场就挂了) <br />2)写出二分查找的代码. <br />3)将上述代码通用化.(在 C 的规范内.就是我前面所的那个问题) <br />4)写出在母串中查找子串出现次数的代码.(不顾及效率时好说.当时一不留神把 KMP 说了 </font>
		</p>
		<p>
				<font size="2">出来,结果又让我描述整个过程.汗..只好从头又学了.不过没有冷场,边学边说.hoho) <br />5)如何看待在函数中定义很多静态变量. <br />6)写出quick_sort <br />7)写出查找从一个集合中输出所有子集合的算法. <br />8)有关于各种类型指针.各种数据类型的 sizeof 运算结果( 在 C 中) </font>
		</p>
<img src ="http://www.cppblog.com/cqyangjf/aggbug/14417.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cqyangjf/" target="_blank">小丑</a> 2006-10-31 11:48 <a href="http://www.cppblog.com/cqyangjf/archive/2006/10/31/14417.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C++面试题集1</title><link>http://www.cppblog.com/cqyangjf/archive/2006/10/31/14415.html</link><dc:creator>小丑</dc:creator><author>小丑</author><pubDate>Tue, 31 Oct 2006 03:45:00 GMT</pubDate><guid>http://www.cppblog.com/cqyangjf/archive/2006/10/31/14415.html</guid><wfw:comment>http://www.cppblog.com/cqyangjf/comments/14415.html</wfw:comment><comments>http://www.cppblog.com/cqyangjf/archive/2006/10/31/14415.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cqyangjf/comments/commentRss/14415.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cqyangjf/services/trackbacks/14415.html</trackback:ping><description><![CDATA[
		<p>
				<font size="2">．实现双向链表删除一个节点P，在节点P后插入一个节点，写出这两个函数。 <br /><br />2．写一个函数，将其中的\t都转换成4个空格。 <br /><br />3．Windows程序的入口是哪里？写出Windows消息机制的流程。 <br /><br />4．如何定义和实现一个类的成员函数为回调函数？ <br /><br />5．C++里面是不是所有的动作都是main()引起的？如果不是，请举例。 <br /><br />6．C++里面如何声明const void f(void)函数为C程序中的库函数？ <br /><br />7．下列哪两个是等同的 <br /><br />int b; <br /><br />A const int* a = &amp;b; <br /><br />B const* int a = &amp;b; <br /><br />C const int* const a = &amp;b; <br /><br />D int const* const a = &amp;b; <br /><br />8．内联函数在编译时是否做参数类型检查？ <br /><br />void g(base &amp; b){ <br /><br />b.play; <br /><br />} <br /><br />void main(){ <br /><br />son s; <br /><br />g(s); <br /><br />return; <br /><br />} </font>
		</p>
		<p>
				<font size="2">1，程序设计（可以用自然语言来描述，不编程）：C/C++源代码中，检查花括弧（是"（"与<br />"）"，"{"与"}"）是否匹配，若不匹配，则输出不匹配花括弧所在的行与列。</font>
		</p>
		<p>
				<br />
				<font size="2">2，巧排数字，将1,2,...,19,20这20个数字排成一排，使得相邻的两个数字之和为一个素数，且<br />首尾两数字之和也为一个素数。编程打印出所有的排法。</font>
		</p>
		<p>
				<br />
				<font size="2">3，打印一个N*N的方阵，N为每边字符的个数（ 3〈N〈20 ），要求最外层为"X"，第二层为"Y"，从第三层起每层依次打印数字0，1，2，3，...<br />例子：当N =5，打印出下面的图形：<br /> X X X X X<br /> X Y Y Y X<br /> X Y 0 Y X<br /> X Y Y Y X<br /> X X X X X <br /> </font>
		</p>
		<p>
				<font size="2">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>
				<font size="2">
						<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 />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 /></font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
						<font color="#000000" size="2">1、请定义一个宏，比较两个数a、b的大小，不能使用大于、小于、if语句<br />2、如何输出源文件的标题和目前执行行的行数<br />3、两个数相乘，小数点后位数没有限制，请写一个高精度算法<br />4、写一个病毒<br />5、有A、B、C、D四个人，要在夜里过一座桥。他们通过这座桥分别需要耗时1、2、5、10分钟，只有一支手电，并且同时最多只能两个人一起过桥。请问，如何安排，能够在17分钟内这四个人都过桥？<br /><br />2005年腾讯招聘<br />选择题(60) <br />  c/c++ os linux 方面的基础知识 c的Sizeof函数有好几个! <br />程序填空(40) <br />1.(20) 4空x5 <br />  不使用额外空间,将 A,B两链表的元素交叉归并 <br />2.(20) 4空x5 <br />MFC  将树序列化 转存在数组或 链表中!</font>
				</span>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
						<font color="#000000" size="2">
						</font>
				</span> </p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000">
						<font size="2">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">1.请定义一个宏，比较两个数a、b的大小，不能使用大于、小于、if语句</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000">
						<font size="2">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">// 这样转向定义应该不算违规吧！^_^</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 新宋体">#include</span>
						<font color="#000000">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">"stdafx.h"</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 新宋体">#include</span>
						<font color="#000000">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">&lt;string.h&gt;</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 新宋体">#include</span>
						<font color="#000000">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">&lt;iostream&gt;</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 新宋体">using</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">
								<font color="#000000">
								</font>
								<font face="新宋体">
										<span style="COLOR: blue">namespace</span>
										<font color="#000000">std;</font>
								</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
						</span>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000">
						<font size="2">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">
								</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font> </p>
		<p style="TEXT-ALIGN: left" align="left">
				<font size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 新宋体">#define</span>
						<font color="#000000">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">Cmp(x,y) compare(x,y)</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000">
						<font size="2">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">
								</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font> </p>
		<p style="TEXT-ALIGN: left" align="left">
				<font size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 新宋体">int</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">
								<font color="#000000">compare(</font>
								<font face="新宋体">
										<span style="COLOR: blue">int</span>
										<font color="#000000">a,</font>
										<span style="COLOR: blue">int</span>
										<font color="#000000">b)</font>
								</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
						</span>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000">
						<font size="2">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">{ </span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000">
						<font size="2">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">     a^=(1&lt;&lt;31); b^=(1&lt;&lt;31); </span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">
								<font color="#000000">     </font>
								<font face="新宋体">
										<span style="COLOR: blue">int</span>
										<font color="#000000">i=31; </font>
								</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
						</span>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">
								<font color="#000000">    </font>
								<font face="新宋体">
										<span style="COLOR: blue">while</span>
										<font color="#000000">((i^-1) &amp;&amp; !((a&amp;(1&lt;&lt;i))^(b&amp;(1&lt;&lt;i))))     i--; </font>
								</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
						</span>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">
								<font color="#000000">     </font>
								<font face="新宋体">
										<span style="COLOR: blue">return</span>
										<font color="#000000">(i^-1)?(((a&gt;&gt;i)&amp;1)?1:-1):0; </font>
								</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
						</span>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000">
						<font size="2">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">}</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000">
						<font size="2">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">
								</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font> </p>
		<p style="TEXT-ALIGN: left" align="left">
				<font size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 新宋体">int</span>
						<font color="#000000">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">_tmain()</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000">
						<font size="2">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">{</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">
								<font color="#000000">     </font>
								<font face="新宋体">
										<span style="COLOR: blue">int</span>
										<font color="#000000">c;</font>
								</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
						</span>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000">
						<font size="2">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">     c = Cmp(5,4);</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000">
						<font size="2">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">     cout&lt;&lt;c&lt;&lt;endl;</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">
								<font color="#000000">     </font>
								<font face="新宋体">
										<span style="COLOR: blue">return</span>
										<font color="#000000">0;</font>
								</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
						</span>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000">
						<font size="2">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">}</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								<font size="2">
										<span class="ReplyUserName">jruv</span>   (<span class="ReplyUserNickName">~~~一叶落而知天下秋~~~</span>) 的答案：</font>
						</span>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000" size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								<span class="ReplyUserName">#define   COMPARE(a,b)   ((a)-(b))         //&lt;0:   a&lt;b   =0:a==b&gt;0:a&gt;b  </span>
						</span>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000" size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">2.如何输出源文件的标题和目前执行行的行数</span>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000" size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">cout   &lt;&lt;   "Filename   "   &lt;&lt;   __FILE__   &lt;&lt;   "   Line   "   &lt;&lt;   __LINE__   &lt;&lt;   endl; <br /></span>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">
						</span>
				</font>
				<font color="#000000">
						<font size="2">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">3.两个数相乘，小数点后位数没有限制，请写一个高精度算法</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000">
						<font size="2">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">  算法提示： </span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font size="2">
						<font color="#000000">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">    </span>
						</font>
						<font color="#000000">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">     输入 string a, string b； 计算string c=a*b; 返回 c;</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-INDENT: -18pt; TEXT-ALIGN: left; tab-stops: list 40.5pt" align="left">
				<font color="#000000">
						<font size="2">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">1，</span>
								<span lang="EN-US" style="FONT-SIZE: 7pt">
										<font face="Times New Roman">   </font>
								</span>
								<span style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">纪录小数点在<span lang="EN-US"><font face="新宋体">a,b中的位置l1,l2， 则需要小数点后移动位置数为l=length(a)+length(b)-l1-l2-2;</font></span></span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-INDENT: -18pt; TEXT-ALIGN: left; tab-stops: list 40.5pt" align="left">
				<font color="#000000">
						<font size="2">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">2，</span>
								<span lang="EN-US" style="FONT-SIZE: 7pt">
										<font face="Times New Roman">   </font>
								</span>
								<span style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">去掉<span lang="EN-US"><font face="新宋体">a,b中的小数点，（a,b小数点后移，使a,b变为整数）</font></span></span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-INDENT: -18pt; TEXT-ALIGN: left; tab-stops: list 40.5pt" align="left">
				<font color="#000000">
						<font size="2">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">3，</span>
								<span lang="EN-US" style="FONT-SIZE: 7pt">
										<font face="Times New Roman">   </font>
								</span>
								<span style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">计算<span lang="EN-US"><font face="新宋体">c=a*b; （同整数的大数相乘算法）</font></span></span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-INDENT: -18pt; TEXT-ALIGN: left; tab-stops: list 40.5pt" align="left">
				<font color="#000000">
						<font size="2">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">4，</span>
								<span lang="EN-US" style="FONT-SIZE: 7pt">
										<font face="Times New Roman">   </font>
								</span>
								<span style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">输出<span lang="EN-US"><font face="新宋体">c,（注意在输出倒数第l个数时，输出一个小数点。若是输出的数少于l个，就补0）</font></span></span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">
				</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
						<strong>
								<font color="#3366cc" size="2">du51(郁郁思扬)的答案：</font>
						</strong>
				</span>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
						<br />
						<font size="2">变为整数求就行了.输入的时候记一下,小数点位置..输出再做点文章就行了.<br />下面的是大整数的运算.<br />#include&lt;iostream&gt; <br />using namespace std; <br />#define MAX 10000 <br />struct Node{ <br />   int data; <br />   Node *next; <br />}; <br />void output(Node *head) <br />{ <br />   if(!head-&gt;next&amp;&amp;!head-&gt;data)return; <br />   output(head-&gt;next); <br />   cout&lt;&lt;head-&gt;data; <br />} <br />void Mul(char *a,char *b,int pos)         <br />{ <br />   char *ap=a,*bp=b; <br />   Node *head=0; <br />   head=new Node;head-&gt;data=0,head-&gt;next=0;   //头 <br />   Node *p,*q=head,*p1; <br />   int temp=0,temp1,bbit; <br />   while(*bp)                //若乘数不为空 ,继续. <br />   { <br />       p=q-&gt;next;p1=q; <br />       bbit=*bp-48;          //把当前位转为整型 <br />       while(*ap||temp)            //若被乘数不空,继续 <br />       { <br />           if(!p)            //若要操作的结点为空,申请之 <br />           { <br />               p=new Node; <br />               p-&gt;data=0; <br />               p-&gt;next=0; <br />               p1-&gt;next=p; <br />           } <br />           if(*ap==0)temp1=temp; <br />           else { temp1=(p1-&gt;data)+(*ap-48)*bbit+temp;ap++; } <br />           p1-&gt;data=temp1%10;    //留当前位 <br />           temp=temp1/10;    //进位以int的形式留下. <br />           p1=p;p=p-&gt;next;                 //被乘数到下一位 <br />       } <br />       ap=a;bp++;q=q-&gt;next;                //q进下一位 <br />   } <br />   p=head; <br />   output(p);                   //显示 <br />   cout&lt;&lt;endl; <br />   while(head)                 //释放空间 <br />   { <br />           p=head-&gt;next; <br />           delete head; <br />           head=p; <br />   } <br />} <br />int main() <br />{ <br />   cout&lt;&lt;"请输入两个数"&lt;&lt;endl; <br />   char test1[MAX],test2[MAX]; <br />   cin.getline(test1,MAX,'\n'); <br />   cin.getline(test2,MAX,'\n'); <br />   Mul(strrev(test1),strrev(test2)); <br />   system("PAUSE"); <br />   return 0; <br />} <br />上面大整数已经写了.你加几个东西就行了.<br />#include&lt;iostream&gt; <br />using namespace std; <br />#define MAX 10000 <br />struct Node{ <br />   int data; <br />   Node *next; <br />}; <br />void output(Node *head,int pos) <br />{ <br />   if(!head-&gt;next&amp;&amp;!head-&gt;data)return; <br />   output(head-&gt;next,pos-1); <br />   cout&lt;&lt;head-&gt;data;<br />   if(!pos)cout&lt;&lt;".";<br />} <br />void Mul(char *a,char *b,int pos)         <br />{ <br />   char *ap=a,*bp=b; <br />   Node *head=0; <br />   head=new Node;head-&gt;data=0,head-&gt;next=0;   //头 <br />   Node *p,*q=head,*p1; <br />   int temp=0,temp1,bbit; <br />   while(*bp)                //若乘数不为空 ,继续. <br />   { <br />       p=q-&gt;next;p1=q; <br />       bbit=*bp-48;          //把当前位转为整型 <br />       while(*ap||temp)            //若被乘数不空,继续 <br />       { <br />           if(!p)            //若要操作的结点为空,申请之 <br />           { <br />               p=new Node; <br />               p-&gt;data=0; <br />               p-&gt;next=0; <br />               p1-&gt;next=p; <br />           } <br />           if(*ap==0)temp1=temp; <br />           else { temp1=(p1-&gt;data)+(*ap-48)*bbit+temp;ap++; } <br />           p1-&gt;data=temp1%10;    //留当前位 <br />           temp=temp1/10;    //进位以int的形式留下. <br />           p1=p;p=p-&gt;next;                 //被乘数到下一位 <br />       } <br />       ap=a;bp++;q=q-&gt;next;                //q进下一位 <br />   } <br />   p=head; <br />   output(p,pos);                   //显示 <br />   cout&lt;&lt;endl; <br />   while(head)                 //释放空间 <br />   { <br />           p=head-&gt;next; <br />           delete head; <br />           head=p; <br />   } <br />} <br />int main() <br />{ <br />   cout&lt;&lt;"请输入两个数"&lt;&lt;endl; <br />   char test1[MAX],test2[MAX],*p; <br />   int pos=0;<br />   cin.getline(test1,MAX,'\n'); <br />   cin.getline(test2,MAX,'\n');<br />   if(p=strchr(test1,'.'))<br />   {<br />       pos+=strlen(test1)-(p-test1)-1; <br />       do<br />       {<br />           p++;<br />           *(p-1)=*p;<br />       }while(*p);<br />   }        <br />   if(p=strchr(test2,'.'))<br />   {<br />       pos+=strlen(test2)-(p-test2)-1;<br />       do<br />       {<br />           p++;<br />           *(p-1)=*p;<br />       }while(*p);<br />   }    <br />   Mul(strrev(test1),strrev(test2),pos); <br />   system("PAUSE"); <br />   return 0; <br />} <br /></font>
				</span>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000" size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">4.写一个病毒</span>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000" size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">cout&lt;&lt;"一个病毒"&lt;&lt;endl;</span>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000">
						<font size="2">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">(开玩笑的，没搞过，^_^)</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000">
						<font size="2">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">
								</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font> </p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000">
						<font size="2">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">5.让你在100000000个浮点数中找出最大的10000个，要求时间复杂度优。</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000">
						<font size="2">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">//本算法使用快排，O(n*lg(n))  </span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000">
						<font size="2">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">//最低可以找到线性算法，使用预先区域统计划分！类试于构造Quad Trees! 写起来代码会长些！</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: green; FONT-FAMILY: 新宋体">
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
						</span>
				</font> </p>
		<p style="TEXT-ALIGN: left" align="left">
				<font size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 新宋体">#include</span>
						<font color="#000000">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">&lt;stdio.h&gt;</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 新宋体">#include</span>
						<font color="#000000">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">&lt;stdlib.h&gt;</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000">
						<font size="2">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">
								</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font> </p>
		<p style="TEXT-ALIGN: left" align="left">
				<font size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 新宋体">#define</span>
						<font color="#000000">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">Max 100000000</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 新宋体">int</span>
						<font color="#000000">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">a[Max+10];</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000">
						<font size="2">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">
								</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font> </p>
		<p style="TEXT-ALIGN: left" align="left">
				<font size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 新宋体">int</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">
								<font color="#000000">cmp(</font>
								<font face="新宋体">
										<span style="COLOR: blue">const</span>
										<font color="#000000">
										</font>
										<span style="COLOR: blue">void</span>
										<font color="#000000">*a, </font>
										<span style="COLOR: blue">const</span>
										<font color="#000000">
										</font>
										<span style="COLOR: blue">void</span>
										<font color="#000000">*b)</font>
								</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
						</span>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000">
						<font size="2">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">{</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">
								<font color="#000000">     </font>
								<font face="新宋体">
										<span style="COLOR: blue">int</span>
										<font color="#000000">*x = (</font>
										<span style="COLOR: blue">int</span>
										<font color="#000000">*) a;</font>
								</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
						</span>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">
								<font color="#000000">     </font>
								<font face="新宋体">
										<span style="COLOR: blue">int</span>
										<font color="#000000">*y = (</font>
										<span style="COLOR: blue">int</span>
										<font color="#000000">*) b;</font>
								</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
						</span>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">
								<font color="#000000">     </font>
								<font face="新宋体">
										<span style="COLOR: blue">return</span>
										<font color="#000000">*x-*y;</font>
								</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
						</span>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000">
						<font size="2">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">}</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000">
						<font size="2">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">
								</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font> </p>
		<p style="TEXT-ALIGN: left" align="left">
				<font size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 新宋体">int</span>
						<font color="#000000">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">main()</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000">
						<font size="2">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">{</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">
								<font color="#000000">     </font>
								<font face="新宋体">
										<span style="COLOR: blue">int</span>
										<font color="#000000">n=0;</font>
								</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
						</span>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">
								<font color="#000000">     </font>
								<font face="新宋体">
										<span style="COLOR: blue">while</span>
										<font color="#000000">(scanf("%d",&amp;a[n])==1)     n++;</font>
								</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
						</span>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000">
						<font size="2">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">     qsort(a,n,4,cmp);</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
								</span>
						</font>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">
								<font color="#000000">     </font>
								<font face="新宋体">
										<span style="COLOR: blue">for</span>
										<font color="#000000">(</font>
										<span style="COLOR: blue">int</span>
										<font color="#000000">i=0;i&lt;3;i++)     printf("%d",a[ i ]);</font>
								</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
						</span>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">
								<font color="#000000">     </font>
								<font face="新宋体">
										<span style="COLOR: blue">return</span>
										<font color="#000000">1;</font>
								</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
						</span>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000" size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体">}</span>
				</font>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<font color="#000000">
						<font size="2">
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Georgia">5</span>
								<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">、有</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Georgia">A</span>
								<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">、</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Georgia">B</span>
								<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">、</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Georgia">C</span>
								<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">、</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Georgia">D</span>
								<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">四个人，要在夜里过一座桥。他们通过这座桥分别需要耗时</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Georgia">1</span>
								<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">、</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Georgia">2</span>
								<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">、</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Georgia">5</span>
								<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">、</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Georgia">10</span>
								<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">分钟，只有一支手电，并且同时最多只能两个人一起过桥。请问，如何安排，能够在</span>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Georgia">17</span>
								<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">分钟内这四个人都过桥？<span lang="EN-US"></span></span>
						</font>
				</font>
		</p>
		<p style="TEXT-INDENT: 18pt; TEXT-ALIGN: left" align="left">
				<font size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Georgia">Solution:关键是时间最长的两个人必须同时过桥</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">
						</span>
				</font>
		</p>
		<div>
				<font size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Georgia">The First Time</span>
						<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">：</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Georgia">      A(1)</span>
						<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">和</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Georgia">B(2)</span>
						<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">过桥，</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Georgia">A(1)</span>
						<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">返回</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Georgia">Cost</span>
						<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">：</span>
				</font>
				<font size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Georgia">1+2 <br />The Second Time</span>
						<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">：</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Georgia">   C(5)</span>
						<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">和</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Georgia">D(10)</span>
						<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">过桥，</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Georgia">B(2)</span>
						<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">返回</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Georgia">Cost</span>
						<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">：</span>
				</font>
				<font size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Georgia">10+2 <br />The Third Time     A(1)</span>
						<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">和</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Georgia">B(2)</span>
						<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">过桥</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Georgia">Cost</span>
						<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">：</span>
				</font>
				<font size="2">
						<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Georgia">2 <br /><br />Total Time Cost</span>
						<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">：</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Georgia">   (1+2)+(10+2)+2=17 minutes</span>
				</font>
		</div>
		<div>
				<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Georgia">
						<font size="2">
						</font>
				</span>
		</div>
		<div>
				<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Georgia">
						<font size="2">1.请定义一个宏，比较两个数a、b的大小，不能使用大于、小于、if语句   <br />  2.如何输出源文件的标题和目前执行行的行数   <br />  3.两个数相乘，小数点后位数没有限制，请写一个高精度算法   <br />  4.写一个病毒</font>
				</span>
		</div>
<img src ="http://www.cppblog.com/cqyangjf/aggbug/14415.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cqyangjf/" target="_blank">小丑</a> 2006-10-31 11:45 <a href="http://www.cppblog.com/cqyangjf/archive/2006/10/31/14415.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C#代码</title><link>http://www.cppblog.com/cqyangjf/archive/2006/09/14/12444.html</link><dc:creator>小丑</dc:creator><author>小丑</author><pubDate>Thu, 14 Sep 2006 03:05:00 GMT</pubDate><guid>http://www.cppblog.com/cqyangjf/archive/2006/09/14/12444.html</guid><wfw:comment>http://www.cppblog.com/cqyangjf/comments/12444.html</wfw:comment><comments>http://www.cppblog.com/cqyangjf/archive/2006/09/14/12444.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cqyangjf/comments/commentRss/12444.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cqyangjf/services/trackbacks/12444.html</trackback:ping><description><![CDATA[
		<p style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 12pt; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt">
				<font face="宋体">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
								<span style="mso-list: Ignore">一、</span>
						</span>
						<b style="mso-bidi-font-weight: normal">
								<span style="FONT-SIZE: 10.5pt">从控制台读取东西代码片断</span>
						</b>
						<span style="FONT-SIZE: 10.5pt">：<span lang="EN-US"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?><o:p></o:p></span></span>
				</font>
		</p>
		<p style="LINE-HEIGHT: 12pt">
				<font face="宋体">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">using System;<br />class TestReadConsole<br />{<br />    public static void Main( )    <br />    {<br />        Console.Write( Enter your name: );<br />        string strName = Console.ReadLine( );<br />        Console.WriteLine(Hi + strName );<br />    }<br />}<br /></span>
						<b style="mso-bidi-font-weight: normal">
								<span style="FONT-SIZE: 10.5pt">二、读文件代码片断：</span>
						</b>
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
								<o:p>
								</o:p>
						</span>
				</font>
		</p>
		<p style="LINE-HEIGHT: 12pt">
				<font face="宋体">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">using System;<br />using System.IO;<br />public class TestReadFile <br />{<br />    public static void Main( String[] args )     <br />    {<br />        <span class="cscomment"><span style="COLOR: black">// Read text file C:    emp    est.txt         FileStream fs = new FileStream( @c:    emp    est.txt , FileMode.Open, FileAccess.Read );</span></span><br />        StreamReader sr = new StreamReader( fs );<br />        String line=sr.ReadLine( );<br />        while ( line!=null )        <br />        {<br />            Console.WriteLine( line );<br />            line=sr.ReadLine( );<br />        }<br />        sr.Close( );<br />        fs.Close( );<br />    }<br />}<br /></span>
						<b style="mso-bidi-font-weight: normal">
								<span style="FONT-SIZE: 10.5pt">三、写文件代码：</span>
						</b>
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
								<o:p>
								</o:p>
						</span>
				</font>
		</p>
		<p style="LINE-HEIGHT: 12pt">
				<font face="宋体">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">using System;<br />using System.IO;<br />public class TestWriteFile <br />{<br />    public static void Main( String[] args )     <br />    {<br />        <span class="cscomment"><span style="COLOR: black">// Create a text file C:    emp    est.txt         FileStream fs = new FileStream( @c:    emp    est.txt , FileMode.OpenOrCreate, FileAccess.Write );</span></span><br />        StreamWriter sw = new StreamWriter( fs );<br />        <span class="cscomment"><span style="COLOR: black">// Write to the file using StreamWriter class         sw.BaseStream.Seek( 0, SeekOrigin.End );</span></span><br />        sw.WriteLine(First Line);<br />        sw.WriteLine(Second Line );<br />        sw.Flush( );<br />    }<br />}<br /></span>
						<b style="mso-bidi-font-weight: normal">
								<span style="FONT-SIZE: 10.5pt">四、拷贝文件</span>
						</b>
						<span style="FONT-SIZE: 10.5pt">：<span lang="EN-US"><o:p></o:p></span></span>
				</font>
		</p>
		<p style="LINE-HEIGHT: 12pt">
				<font face="宋体">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">using System;<br />using System.IO;<br />class TestCopyFile<br />{<br />    public static void Main( )    <br />    {<br />        File.Copy( c:\temp\source.txt, C:\temp\dest.txt);<br />    }<br />}<br /></span>
						<b style="mso-bidi-font-weight: normal">
								<span style="FONT-SIZE: 10.5pt">五、移动文件：</span>
						</b>
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
								<o:p>
								</o:p>
						</span>
				</font>
		</p>
		<p style="LINE-HEIGHT: 12pt">
				<font face="宋体">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">using System;<br />using System.IO;<br />class TestMoveFile<br />{<br />    public static void Main( )    <br />    {<br />        File.Move( c:\temp\abc.txt, C:\temp\def.txt);<br />    }<br />}<br /></span>
						<b style="mso-bidi-font-weight: normal">
								<span style="FONT-SIZE: 10.5pt">六、使用计时器：</span>
						</b>
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
								<o:p>
								</o:p>
						</span>
				</font>
		</p>
		<p style="LINE-HEIGHT: 12pt">
				<font face="宋体">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">using System;<br />using System.Timers;<br />class TestTimer<br />{<br />    public static void Main( )    <br />    {<br />        Timer timer = new Timer( );<br />        timer.Elapsed += new ElapsedEventHandler(DisplayTimeEvent);<br />        timer.Interval = 1000;<br />        timer.Start( );<br />        timer.Enabled = true;<br />        while (Console.Read( ) != 'q')        <br />        {<br />            <br />        }<br />    }<br />    public static void DisplayTimeEvent(object source, ElapsedEventArgs e)    <br />    {<br />        Console.Write( <br />        {<br />            0<br />        }<br />        , DateTime.Now );<br />    }<br />}<br /></span>
						<b style="mso-bidi-font-weight: normal">
								<span style="FONT-SIZE: 10.5pt">七、调用外部程序：</span>
						</b>
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
								<o:p>
								</o:p>
						</span>
				</font>
		</p>
		<p style="LINE-HEIGHT: 12pt">
				<font face="宋体">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">class Test <br />{<br />    static void Main( string[] args )     <br />    {<br />        System.Diagnostics.Process.Start( notepad.exe );<br />    }<br />}<br /><b style="mso-bidi-font-weight: normal">ADO.NET</b></span>
						<b style="mso-bidi-font-weight: normal">
								<span style="FONT-SIZE: 10.5pt">方面的：八、连接<span lang="EN-US">Access</span>数据库：</span>
						</b>
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
								<o:p>
								</o:p>
						</span>
				</font>
		</p>
		<p style="LINE-HEIGHT: 12pt">
				<font face="宋体">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">using System;<br />using System.Data;<br />using System.Data.OleDb;<br />class TestADO<br />{<br />    static void Main( string[] args )    <br />    {<br />        string strDSN = Provider=Microsoft.Jet.OLEDB.4.0;<br />        Data Source=c:\test.mdb;<br />        string strSQL = SELECT * FROM employees ;<br />        OleDbConnection conn = new OleDbConnection( strDSN );<br />        OleDbCommand cmd = new OleDbCommand(strSQL, conn);<br />        OleDbDataReader reader = null;<br />        try        <br />        {<br />            conn.Open( );<br />            reader = cmd.ExecuteReader( );<br />            while ( reader.Read( ))            <br />            {<br />                Console.WriteLine( First Name:<br />                {<br />                    0<br />                }<br />                , Last Name:<br />                {<br />                    1<br />                }<br />                , reader[FirstName], reader[LastName] );<br />            }<br />        }<br />        catch ( Exception e )        <br />        {<br />            Console.WriteLine( e.Message );<br />        }<br />        finally        <br />        {<br />            conn.Close( );<br />        }<br />    }<br />}<br /></span>
						<b style="mso-bidi-font-weight: normal">
								<span style="FONT-SIZE: 10.5pt">九、连接<span lang="EN-US">SQL Server</span>数据库</span>
						</b>
						<span style="FONT-SIZE: 10.5pt">：<span lang="EN-US"><o:p></o:p></span></span>
				</font>
		</p>
		<p style="LINE-HEIGHT: 12pt">
				<font face="宋体">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">using System;<br />using System.Data.SqlClient;<br />public class TestADO<br />{<br />    public static void Main( )    <br />    {<br />        SqlConnection conn = new SqlConnection( Data Source=localhost;<br />        Integrated Security=SSPI;<br />        Initial Catalog=pubs );<br />        SqlCommand  cmd = new SqlCommand( SELECT * FROM employees, conn );<br />        try        <br />        {<br />            conn.Open( );<br />            SqlDataReader reader = cmd.ExecuteReader( );<br />            while ( reader.Read( ) )            <br />            {<br />                Console.WriteLine( First Name: <br />                {<br />                    0<br />                }<br />                , Last Name: <br />                {<br />                    1<br />                }<br />                , reader.GetString( 0 ), reader.GetString( 1 ) );<br />            }<br />            reader.Close( );<br />            conn.Close( );<br />        }<br />        catch( Exception e )        <br />        {<br />            Console.WriteLine( Exception Occured --&gt;&gt; <br />            {<br />                0<br />            }<br />            ,e );<br />        }<br />    }<br />}<br /></span>
						<b style="mso-bidi-font-weight: normal">
								<span style="FONT-SIZE: 10.5pt">十、从<span lang="EN-US">SQL</span>内读数据到<span lang="EN-US">XML</span>：</span>
						</b>
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
								<o:p>
								</o:p>
						</span>
				</font>
		</p>
		<p style="LINE-HEIGHT: 12pt">
				<font face="宋体">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">using System;<br />using System.Data;<br />using System.Xml;<br />using System.Data.SqlClient;<br />using System.IO;<br />public class TestWriteXML<br />{<br />    public static void Main( )    <br />    {<br />        String strFileName=c:/temp/output.xml;<br />        SqlConnection conn = new SqlConnection( server=localhost;<br />        uid=sa;<br />        pwd=;<br />        database=db );<br />        String strSql = SELECT FirstName, LastName FROM employees;<br />        SqlDataAdapter adapter = new SqlDataAdapter( );<br />        adapter.SelectCommand = new SqlCommand( strSql,conn );<br />        <span class="cscomment"><span style="COLOR: black">// Build the DataSet        DataSet ds = new DataSet( );</span></span><br />        adapter.Fill( ds, employees );<br />        <span class="cscomment"><span style="COLOR: black">// Get a FileStream object        FileStream fs = new FileStream( strFileName,FileMode.OpenOrCreate,FileAccess.Write );</span></span><br />        <span class="cscomment"><span style="COLOR: black">// Apply the WriteXml method to write an XML document        ds.WriteXml( fs );</span></span><br />        fs.Close( );<br />    }<br />}<br /></span>
						<b style="mso-bidi-font-weight: normal">
								<span style="FONT-SIZE: 10.5pt">十一、用<span lang="EN-US">ADO</span>添加数据到数据库中</span>
						</b>
						<span style="FONT-SIZE: 10.5pt">：<span lang="EN-US"><o:p></o:p></span></span>
				</font>
		</p>
		<p style="LINE-HEIGHT: 12pt">
				<font face="宋体">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">using System;<br />using System.Data;<br />using System.Data.OleDb;<br />class TestADO<br />{<br />    static void Main( string[] args )      <br />    {<br />        string strDSN = Provider=Microsoft.Jet.OLEDB.4.0;<br />        DataSource=c:    est.mdb;<br />        string strSQL = INSERT INTO Employee( FirstName, LastName ) VALUES( 'FirstName', 'LastName' ) ;<br />        <span class="cscomment"><span style="COLOR: black">// create Objects of ADOConnection and ADOCommand           OleDbConnection conn = new OleDbConnection( strDSN );</span></span><br />        OleDbCommand cmd = new OleDbCommand(strSQL, conn);<br />        try          <br />        {<br />            conn.Open( );<br />            cmd.ExecuteNonQuery( );<br />        }<br />        catch ( Exception e )          <br />        {<br />            Console.WriteLine( Oooops. I did it again:<br />            {<br />                0<br />            }<br />            , e.Message );<br />        }<br />        finally          <br />        {<br />            conn.Close( );<br />        }<br />    }<br />}<br /></span>
						<b style="mso-bidi-font-weight: normal">
								<span style="FONT-SIZE: 10.5pt">十二、使用<span lang="EN-US">OLEConn</span>连接数据库：</span>
						</b>
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
								<o:p>
								</o:p>
						</span>
				</font>
		</p>
		<p style="LINE-HEIGHT: 12pt">
				<font face="宋体">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">using System;<br />using System.Data;<br />using System.Data.OleDb;<br />class TestADO<br />{<br />    static void Main( string[] args )      <br />    {<br />        string strDSN = Provider=Microsoft.Jet.OLEDB.4.0;<br />        DataSource=c:    est.mdb;<br />        string strSQL = SELECT * FROM employee ;<br />        OleDbConnection conn = new OleDbConnection( strDSN );<br />        OleDbDataAdapter cmd = new OleDbDataAdapter(strSQL, conn);<br />        conn.Open( );<br />        DataSet ds = new DataSet( );<br />        cmd.Fill(ds, employee);<br />        DataTable dt = ds.Tables[0];<br />        foreach(DataRow dr in dt.Rows)        <br />        {<br />            Console.WriteLine( First name: + dr[FirstName].ToString( ) + Last name: + dr[LastName].ToString( ) );<br />        }<br />        conn.Close( );<br />    }<br />}<br /></span>
						<b style="mso-bidi-font-weight: normal">
								<span style="FONT-SIZE: 10.5pt">十三、读取表的属性：</span>
						</b>
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
								<o:p>
								</o:p>
						</span>
				</font>
		</p>
		<p style="LINE-HEIGHT: 12pt">
				<font face="宋体">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">using System;<br />using System.Data;<br />using System.Data.OleDb;<br />class TestADO<br />{<br />    static void Main( string[] args )      <br />    {<br />        string strDSN = Provider=Microsoft.Jet.OLEDB.4.0;<br />        DataSource=c:    est.mdb;<br />        string strSQL = SELECT * FROM employee ;<br />        OleDbConnection conn = new OleDbConnection( strDSN );<br />        OleDbDataAdapter cmd = new OleDbDataAdapter(strSQL, conn);<br />        conn.Open( );<br />        DataSet ds = new DataSet( );<br />        cmd.Fill(ds, employee);<br />        DataTable dt = ds.Tables[0];<br />        Console.WriteLine( Field Name DataType Unique AutoIncrement AllowNull );<br />        Console.WriteLine( ================================================================== );<br />        foreach(DataColumn dc in dt.Columns)        <br />        {<br />            Console.WriteLine( dc.ColumnName+ , +dc.DataType + ,+dc.Unique + ,+dc.AutoIncrement+ ,+dc.AllowDBNull);<br />        }<br />        conn.Close( );<br />    }<br />}<br /><b style="mso-bidi-font-weight: normal">ASP.NET</b></span>
						<b style="mso-bidi-font-weight: normal">
								<span style="FONT-SIZE: 10.5pt">方面的十四、一个<span lang="EN-US">ASP.NET</span>程序：</span>
						</b>
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
								<o:p>
								</o:p>
						</span>
				</font>
		</p>
		<p style="LINE-HEIGHT: 12pt">
				<font face="宋体">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">&lt;%@ Page Language=C# %&gt;&lt;script runat=server&gt;       void Button1_Click( Object sender, EventArgs e )     <br />{<br />    Label1.Text=TextBox1.Text;<br />}<br />&lt;/script&gt;&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;    &lt;form runat=server&gt;        &lt;p&gt;            &lt;br&gt;            Enter your name: &lt;asp:TextBox id=TextBox1 runat=server&gt;&lt;/asp:TextBox&gt;        &lt;/p&gt;        &lt;p&gt;            &lt;b&gt;&lt;asp:Label id=Label1 runat=server Width=247px&gt;&lt;/asp:Label&gt;&lt;/b&gt;        &lt;/p&gt;        &lt;p&gt;            &lt;asp:Button id=Button1 onclick=Button1_Click runat=server Text=Submit&gt;&lt;/asp:Button&gt;        &lt;/p&gt;    &lt;/form&gt;&lt;/body&gt;&lt;/html&gt;WinForm</span>
						<span style="FONT-SIZE: 10.5pt">开发：十<b style="mso-bidi-font-weight: normal">五、一个简单的<span lang="EN-US">WinForm</span>程序：</b><span lang="EN-US"><o:p></o:p></span></span>
				</font>
		</p>
		<p style="LINE-HEIGHT: 12pt">
				<font face="宋体">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">using System;<br />using System.Drawing;<br />using System.Collections;<br />using System.ComponentModel;<br />using System.Windows.Forms;<br />using System.Data;<br />public class SimpleForm : System.Windows.Forms.Form<br />{<br />    private System.ComponentModel.Container components = null;<br />    private System.Windows.Forms.Button button1;<br />    private System.Windows.Forms.TextBox textBox1;<br />    public SimpleForm( )    <br />    {<br />        InitializeComponent( );<br />    }<br />    protected override void Dispose(bool disposing)    <br />    {<br />        if(disposing)        <br />        {<br />            if ( components != null )            <br />            {<br />                components.Dispose( );<br />            }<br />        }<br />        base.Dispose(disposing);<br />    }<br />    #region Windows Form Designer generated code    private void InitializeComponent( )    <br />    {<br />        this.components = new System.ComponentModel.Container( );<br />        this.Size = new System.Drawing.Size( 300,300 );<br />        this.Text = Form1;<br />        this.button1 = new System.Windows.Forms.Button( );<br />        this.textBox1 = new System.Windows.Forms.TextBox( );<br />        this.SuspendLayout( );<br />        <span class="cscomment"><span style="COLOR: black">//    // button1    //    this.button1.Location = new System.Drawing.Point( 8, 16 );</span></span><br />        this.button1.Name = button1;<br />        this.button1.Size = new System.Drawing.Size( 80, 24 );<br />        this.button1.TabIndex = 0;<br />        this.button1.Text = button1;<br />        <span class="cscomment"><span style="COLOR: black">//    // textBox1    //    this.textBox1.Location = new System.Drawing.Point( 112, 16 );</span></span><br />        this.textBox1.Name = textBox1;<br />        this.textBox1.Size = new System.Drawing.Size( 160, 20 );<br />        this.textBox1.TabIndex = 1;<br />        this.textBox1.Text = textBox1;<br />        <span class="cscomment"><span style="COLOR: black">//    // Form1    //    this.AutoScaleBaseSize = new System.Drawing.Size( 5, 13 );</span></span><br />        this.ClientSize = new System.Drawing.Size( 292, 273 );<br />        this.Controls.AddRange( new System.Windows.Forms.Control[] <br />        {<br />            this.textBox1,    this.button1<br />        }<br />        );<br />        this.Name = Form1;<br />        this.Text = Form1;<br />        this.ResumeLayout( false );<br />    }<br />    #endregion    [STAThread]    static void Main( )    <br />    {<br />        Application.Run( new SimpleForm( ) );<br />    }<br />}<br /></span>
						<b style="mso-bidi-font-weight: normal">
								<span style="FONT-SIZE: 10.5pt">十六、运行时显示自己定义的图标：</span>
						</b>
						<span class="cscomment">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt; COLOR: black">
										<o:p>
										</o:p>
								</span>
						</span>
				</font>
		</p>
		<p style="LINE-HEIGHT: 12pt">
				<span class="cscomment">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt; COLOR: black">
								<font face="宋体">//load icon and set to formSystem.Drawing.Icon ico = new System.Drawing.Icon( @c:    empapp.ico );</font>
						</span>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 10.5pt">
						<br />
						<font face="宋体">this.Icon = ico;<br /></font>
				</span>
				<font face="宋体">
						<b style="mso-bidi-font-weight: normal">
								<span style="FONT-SIZE: 10.5pt">十七、添加组件到<span lang="EN-US">ListBox</span>中：</span>
						</b>
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
								<o:p>
								</o:p>
						</span>
				</font>
		</p>
		<p style="LINE-HEIGHT: 12pt">
				<font face="宋体">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">private void Form1_Load( object sender, System.EventArgs e )<br />{<br />    string str = First item;<br />    int i = 23;<br />    float flt = <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /?><st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="34.98" unitname="F">34.98f</st1:chmetcnv>;<br />    listBox1.Items.Add( str );<br />    listBox1.Items.Add( i.ToString( ) );<br />    listBox1.Items.Add( flt.ToString( ) );<br />    listBox1.Items.Add( Last Item in the List Box );<br />}<br /></span>
						<b style="mso-bidi-font-weight: normal">
								<span style="FONT-SIZE: 10.5pt">网络方面的：十八、取得<span lang="EN-US">IP</span>地址：</span>
						</b>
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
								<o:p>
								</o:p>
						</span>
				</font>
		</p>
		<p style="LINE-HEIGHT: 12pt">
				<font face="宋体">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">using System;<br />using System.Net;<br />class GetIP<br />{<br />    public static void Main( )     <br />    {<br />        IPHostEntry ipEntry = Dns.GetHostByName ( localhost );<br />        IPAddress [] IpAddr = ipEntry.AddressList;<br />        for ( int i = 0;<br />        i &lt; IpAddr.Length;<br />        i++ )         <br />        {<br />            Console.WriteLine ( IP Address <br />            {<br />                0<br />            }<br />            : <br />            {<br />                1<br />            }<br />            , i, IpAddr.ToString ( ) );<br />        }<br />    }<br />}<br /></span>
						<b style="mso-bidi-font-weight: normal">
								<span style="FONT-SIZE: 10.5pt">十九、取得机器名称：</span>
						</b>
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
								<o:p>
								</o:p>
						</span>
				</font>
		</p>
		<p style="LINE-HEIGHT: 12pt">
				<font face="宋体">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">using System;<br />using System.Net;<br />class GetIP<br />{<br />    public static void Main( )    <br />    {<br />        Console.WriteLine ( Host name : <br />        {<br />            0<br />        }<br />        , Dns.GetHostName( ) );<br />    }<br />}<br /></span>
						<b style="mso-bidi-font-weight: normal">
								<span style="FONT-SIZE: 10.5pt">二十、发送邮件：</span>
						</b>
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
								<o:p>
								</o:p>
						</span>
				</font>
		</p>
		<p style="LINE-HEIGHT: 12pt">
				<font face="宋体">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">using System;<br />using System.Web;<br />using System.Web.Mail;<br />public class TestSendMail<br />{<br />    public static void Main( )    <br />    {<br />        try        <br />        {<br />            <span class="cscomment"><span style="COLOR: black">// Construct a new mail message             MailMessage message = new MailMessage( );</span></span><br />            message.From = from@domain.com;<br />            message.To   =  pengyun@cobainsoft.com;<br />            message.Cc   = ;<br />            message.Bcc  = ;<br />            message.Subject = Subject;<br />            message.Body = Content of message;<br />            <span class="cscomment"><span style="COLOR: black">//if you want attach file with this mail, add the line below            message.Attachments.Add( new MailAttachment( c:\attach.txt, MailEncoding.Base64 ) );</span></span><br />            <span class="cscomment"><span style="COLOR: black">// Send the message            SmtpMail.Send( message );</span></span><br />            System.Console.WriteLine( Message has been sent );<br />        }<br />        catch( Exception ex )        <br />        {<br />            System.Console.WriteLine( ex.Message.ToString( ) );<br />        }<br />    }<br />}<br /></span>
						<b style="mso-bidi-font-weight: normal">
								<span style="FONT-SIZE: 10.5pt">二十一、根据<span lang="EN-US">IP</span>地址得出机器名称：</span>
						</b>
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
								<o:p>
								</o:p>
						</span>
				</font>
		</p>
		<p style="LINE-HEIGHT: 12pt">
				<font face="宋体">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">using System;<br />using System.Net;<br />class ResolveIP<br />{<br />    public static void Main( )     <br />    {<br />        IPHostEntry ipEntry = Dns.Resolve( 172.29.9.9 );<br />        Console.WriteLine ( Host name : <br />        {<br />            0<br />        }<br />        , ipEntry.HostName );<br />    }<br />}<br /><b style="mso-bidi-font-weight: normal">GDI+</b></span>
						<b style="mso-bidi-font-weight: normal">
								<span style="FONT-SIZE: 10.5pt">方面的：二十二、<span lang="EN-US">GDI+</span>入门介绍：</span>
						</b>
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
								<o:p>
								</o:p>
						</span>
				</font>
		</p>
		<p style="LINE-HEIGHT: 12pt">
				<font face="宋体">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">using System;<br />using System.Drawing;<br />using System.Collections;<br />using System.ComponentModel;<br />using System.Windows.Forms;<br />using System.Data;<br />public class Form1 : System.Windows.Forms.Form<br />{<br />    private System.ComponentModel.Container components = null;<br />    public Form1( )    <br />    {<br />        InitializeComponent( );<br />    }<br />    protected override void Dispose(bool disposing)    <br />    {<br />        if(disposing)        <br />        {<br />            if ( components != null )             <br />            {<br />                components.Dispose( );<br />            }<br />        }<br />        base.Dispose(disposing);<br />    }<br />    #region Windows Form Designer generated code    private void InitializeComponent( )    <br />    {<br />        this.AutoScaleBaseSize = new System.Drawing.Size( 5, 13 );<br />        this.ClientSize = new System.Drawing.Size( 292, 273 );<br />        this.Name = Form1;<br />        this.Text = Form1;<br />        this.Paint += new System.Windows.Forms.PaintEventHandler( this.Form1_Paint );<br />    }<br />    #endregion    [STAThread]    static void Main( )     <br />    {<br />        Application.Run( new Form1( ) );<br />    }<br />    private void Form1_Paint( object sender, System.Windows.Forms.PaintEventArgs e )    <br />    {<br />        Graphics g=e.Graphics;<br />        g.DrawLine( new Pen( Color.Blue ),10,10,210,110 );<br />        g.DrawRectangle( new Pen( Color.Red ),10,10,200,100 );<br />        g.DrawEllipse( new Pen( Color.Yellow ),10,150,200,100 );<br />    }<br />}<br /><b style="mso-bidi-font-weight: normal">XML</b></span>
						<b style="mso-bidi-font-weight: normal">
								<span style="FONT-SIZE: 10.5pt">方面的：二十三、读取<span lang="EN-US">XML</span>文件：</span>
						</b>
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
								<o:p>
								</o:p>
						</span>
				</font>
		</p>
		<p style="LINE-HEIGHT: 12pt">
				<font face="宋体">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">using System;<br />using System.Xml;<br />class TestReadXML<br />{<br />    public static void Main( )    <br />    {<br />        XmlTextReader reader  = new XmlTextReader( C:\test.xml );<br />        reader.Read( );<br />        while ( reader.Read( ) )        <br />        {<br />            reader.MoveToElement( );<br />            Console.WriteLine( XmlTextReader Properties Test );<br />            Console.WriteLine( =================== );<br />            <span class="cscomment"><span style="COLOR: black">// Read this properties of element and display them on console            Console.WriteLine( Name: + reader.Name );</span></span><br />            Console.WriteLine( Base URI: + reader.BaseURI );<br />            Console.WriteLine( Local Name: + reader.LocalName );<br />            Console.WriteLine( Attribute Count: + reader.AttributeCount.ToString( ) );<br />            Console.WriteLine( Depth: + reader.Depth.ToString( ) );<br />            Console.WriteLine( Line Number: + reader.LineNumber.ToString( ) );<br />            Console.WriteLine( Node Type: + reader.NodeType.ToString( ) );<br />            Console.WriteLine( Attribute Count: + reader.Value.ToString( ) );<br />        }<br />    }<br />}<br /></span>
						<b style="mso-bidi-font-weight: normal">
								<span style="FONT-SIZE: 10.5pt">二十四、写<span lang="EN-US">XML</span>文件</span>
						</b>
						<span style="FONT-SIZE: 10.5pt">：<span lang="EN-US"><o:p></o:p></span></span>
				</font>
		</p>
		<p style="LINE-HEIGHT: 12pt">
				<font face="宋体">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">using System;<br />using System.Xml;<br />public class TestWriteXMLFile <br />{<br />    public static int Main( string[] args )     <br />    {<br />        try         <br />        {<br />            <span class="cscomment"><span style="COLOR: black">// Creates an XML file is not exist             XmlTextWriter writer = new XmlTextWriter( C:\temp\xmltest.xml, null );</span></span><br />            <span class="cscomment"><span style="COLOR: black">// Starts a new document             writer.WriteStartDocument( );</span></span><br />            <span class="cscomment"><span style="COLOR: black">//Write comments             writer.WriteComment( Commentss: XmlWriter Test Program );</span></span><br />            writer.WriteProcessingInstruction( Instruction,Person Record );<br />            <span class="cscomment"><span style="COLOR: black">// Add elements to the file             writer.WriteStartElement( p, person, urn:person );</span></span><br />            writer.WriteStartElement( LastName, );<br />            writer.WriteString( Chand );<br />            writer.WriteEndElement( );<br />            writer.WriteStartElement( FirstName, );<br />            writer.WriteString( Mahesh );<br />            writer.WriteEndElement( );<br />            writer.WriteElementInt16( age,, 25 );<br />            <span class="cscomment"><span style="COLOR: black">// Ends the document             writer.WriteEndDocument( );</span></span><br />        }<br />        catch ( Exception e )         <br />        {<br />            Console.WriteLine ( Exception: <br />            {<br />                0<br />            }<br />            , e.ToString( ) );<br />        }<br />        return 0;<br />    }<br />}<br /><b style="mso-bidi-font-weight: normal">Web Service</b></span>
						<b style="mso-bidi-font-weight: normal">
								<span style="FONT-SIZE: 10.5pt">方面的：二十五、一个<span lang="EN-US">Web Service</span>的小例子</span>
						</b>
						<span style="FONT-SIZE: 10.5pt">：<span lang="EN-US"><o:p></o:p></span></span>
				</font>
		</p>
		<p style="LINE-HEIGHT: 12pt">
				<span lang="EN-US" style="FONT-SIZE: 10.5pt">
						<font face="宋体">&lt;% @WebService Language=C# Class=TestWS %&gt;using System.Web.Services;<br />public class TestWS : System.Web.Services.WebService<br />{<br />    [WebMethod( )]    public string StringFromWebService( )    <br />    {<br />        return This is a string from web service.;<br />    }<br />}<span style="COLOR: black"><o:p></o:p></span></font>
				</span>
		</p>
<img src ="http://www.cppblog.com/cqyangjf/aggbug/12444.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cqyangjf/" target="_blank">小丑</a> 2006-09-14 11:05 <a href="http://www.cppblog.com/cqyangjf/archive/2006/09/14/12444.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL数据库 语句 </title><link>http://www.cppblog.com/cqyangjf/archive/2006/07/16/10129.html</link><dc:creator>小丑</dc:creator><author>小丑</author><pubDate>Sun, 16 Jul 2006 08:41:00 GMT</pubDate><guid>http://www.cppblog.com/cqyangjf/archive/2006/07/16/10129.html</guid><wfw:comment>http://www.cppblog.com/cqyangjf/comments/10129.html</wfw:comment><comments>http://www.cppblog.com/cqyangjf/archive/2006/07/16/10129.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cqyangjf/comments/commentRss/10129.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cqyangjf/services/trackbacks/10129.html</trackback:ping><description><![CDATA[
		<div class="postbody">
				<p>
						<font face="宋体">
								<b>
										<span>--</span>
								</b>
								<b>
										<span>数据操作</span>
								</b>
						</font>
						<span>
								<br />
								<font face="宋体">SELECT --</font>
						</span>
						<span>
								<font face="宋体">从数据库表中检索数据行和列</font>
						</span>
						<span>
								<br />
								<font face="宋体">INSERT --</font>
						</span>
						<span>
								<font face="宋体">向数据库表添加新数据行</font>
						</span>
						<span>
								<br />
								<font face="宋体">DELETE --</font>
						</span>
						<span>
								<font face="宋体">从数据库表中删除数据行</font>
						</span>
						<span>
								<br />
								<font face="宋体">UPDATE --</font>
						</span>
						<span>
								<font face="宋体">更新数据库表中的数据</font>
						</span>
						<span>
								<br />
								<b>
										<font face="宋体">--</font>
								</b>
						</span>
						<b>
								<span>
										<font face="宋体">数据定义</font>
								</span>
						</b>
						<span>
								<br />
								<font face="宋体">CREATE TABLE --</font>
						</span>
						<span>
								<font face="宋体">创建一个数据库表</font>
						</span>
						<span>
								<br />
								<font face="宋体">DROP TABLE --</font>
						</span>
						<span>
								<font face="宋体">从数据库中删除表</font>
						</span>
						<span>
								<br />
								<font face="宋体">ALTER TABLE --</font>
						</span>
						<span>
								<font face="宋体">修改数据库表结构</font>
						</span>
						<span>
								<br />
								<font face="宋体">CREATE VIEW --</font>
						</span>
						<span>
								<font face="宋体">创建一个视图</font>
						</span>
						<span>
								<br />
								<font face="宋体">DROP VIEW --</font>
						</span>
						<span>
								<font face="宋体">从数据库中删除视图</font>
						</span>
						<span>
								<br />
								<font face="宋体">CREATE INDEX --</font>
						</span>
						<span>
								<font face="宋体">为数据库表创建一个索引</font>
						</span>
						<span>
								<br />
								<font face="宋体">DROP INDEX --</font>
						</span>
						<span>
								<font face="宋体">从数据库中删除索引</font>
						</span>
						<span>
								<br />
								<font face="宋体">CREATE PROCEDURE --</font>
						</span>
						<span>
								<font face="宋体">创建一个存储过程</font>
						</span>
						<span>
								<br />
								<font face="宋体">DROP PROCEDURE --</font>
						</span>
						<span>
								<font face="宋体">从数据库中删除存储过程</font>
						</span>
						<span>
								<br />
								<font face="宋体">CREATE TRIGGER --</font>
						</span>
						<span>
								<font face="宋体">创建一个触发器</font>
						</span>
						<span>
								<br />
								<font face="宋体">DROP TRIGGER --</font>
						</span>
						<span>
								<font face="宋体">从数据库中删除触发器</font>
						</span>
						<span>
								<br />
								<font face="宋体">CREATE SCHEMA --</font>
						</span>
						<span>
								<font face="宋体">向数据库添加一个新模式</font>
						</span>
						<span>
								<br />
								<font face="宋体">DROP SCHEMA --</font>
						</span>
						<span>
								<font face="宋体">从数据库中删除一个模式</font>
						</span>
						<span>
								<br />
								<font face="宋体">CREATE DOMAIN --</font>
						</span>
						<span>
								<font face="宋体">创建一个数据值域</font>
						</span>
						<span>
								<br />
								<font face="宋体">ALTER DOMAIN --</font>
						</span>
						<span>
								<font face="宋体">改变域定义</font>
						</span>
						<span>
								<br />
								<font face="宋体">DROP DOMAIN --</font>
						</span>
						<span>
								<font face="宋体">从数据库中删除一个域</font>
						</span>
						<span>
								<br />
								<b>
										<span>
												<font face="宋体">--</font>
										</span>
								</b>
						</span>
						<b>
								<span>
										<font face="宋体">数据控制</font>
								</span>
						</b>
						<span>
								<br />
								<font face="宋体">GRANT --</font>
						</span>
						<span>
								<font face="宋体">授予用户访问权限</font>
						</span>
						<span>
								<br />
								<font face="宋体">DENY --</font>
						</span>
						<span>
								<font face="宋体">拒绝用户访问</font>
						</span>
						<span>
								<br />
								<font face="宋体">REVOKE --</font>
						</span>
						<span>
								<font face="宋体">解除用户访问权限</font>
						</span>
						<span>
								<br />
								<b>
										<span>
												<font face="宋体">--</font>
										</span>
								</b>
						</span>
						<b>
								<span>
										<font face="宋体">事务控制</font>
								</span>
						</b>
						<span>
								<br />
								<font face="宋体">COMMIT --</font>
						</span>
						<span>
								<font face="宋体">结束当前事务</font>
						</span>
						<span>
								<br />
								<font face="宋体">ROLLBACK --</font>
						</span>
						<span>
								<font face="宋体">中止当前事务</font>
						</span>
						<span>
								<br />
								<font face="宋体">SET TRANSACTION --</font>
						</span>
						<span>
								<font face="宋体">定义当前事务数据访问特征</font>
						</span>
						<span>
								<br />
								<b>
										<span>
												<font face="宋体">--</font>
										</span>
								</b>
						</span>
						<font face="宋体">
								<b>
										<span>程序化</span>
								</b>
								<b>
										<span>SQL</span>
								</b>
						</font>
						<span>
								<br />
								<font face="宋体">DECLARE --</font>
						</span>
						<span>
								<font face="宋体">为查询设定游标</font>
						</span>
						<span>
								<br />
								<font face="宋体">EXPLAN --</font>
						</span>
						<span>
								<font face="宋体">为查询描述数据访问计划</font>
						</span>
						<span>
								<br />
								<font face="宋体">OPEN --</font>
						</span>
						<span>
								<font face="宋体">检索查询结果打开一个游标</font>
						</span>
						<span>
								<br />
								<font face="宋体">FETCH --</font>
						</span>
						<span>
								<font face="宋体">检索一行查询结果</font>
						</span>
						<span>
								<br />
								<font face="宋体">CLOSE --</font>
						</span>
						<span>
								<font face="宋体">关闭游标</font>
						</span>
						<span>
								<br />
								<font face="宋体">PREPARE --</font>
						</span>
						<font face="宋体">
								<span>为动态执行准备</span>
								<span>SQL </span>
								<span>语句</span>
						</font>
						<span>
								<br />
								<font face="宋体">EXECUTE --</font>
						</span>
						<font face="宋体">
								<span>动态地执行</span>
								<span>SQL </span>
								<span>语句</span>
						</font>
						<span>
								<br />
								<font face="宋体">DESCRIBE --</font>
						</span>
						<span>
								<font face="宋体">描述准备好的查询</font>
						</span>
						<font face="宋体">
								<span>
										<br />
										<b>
												<span>---</span>
										</b>
								</span>
								<b>
										<span>局部变量</span>
								</b>
						</font>
						<span>
								<br />
								<font face="宋体">declare @id char(10)<br />--set @id = '10010001'<br />select @id = '10010001' <br /><b><span>---</span></b></font>
						</span>
						<b>
								<span>
										<font face="宋体">全局变量</font>
								</span>
						</b>
						<span>
								<br />
								<font face="宋体">---</font>
						</span>
						<font face="宋体">
								<span>必须以</span>
								<span>@@</span>
								<span>开头</span>
						</font>
						<span>
								<br />
								<font face="宋体">--IF ELSE<br />declare @x int @y int @z int<br />select @x = 1 @y = 2 @z=3<br />if @x &gt; @y<br />print 'x &gt; y' --</font>
						</span>
						<span>
								<font face="宋体">打印字符串</font>
						</span>
						<font face="宋体">
								<span>'x &gt; y'<br />else if @y &gt; @z<br />print 'y &gt; z'<br />else print 'z &gt; y'<br />--CASE<br />use pangu<br />update employee<br />set e_wage =<br />case<br />when job_level = ’1’ then e_wage*1.08<br />when job_level = ’2’ then e_wage*1.07<br />when job_level = ’3’ then e_wage*1.06<br />else e_wage*1.05<br />end<br />--WHILE CONTINUE BREAK<br />declare @x int @y int @c int<br />select @x = 1 @y=1<br />while @x &lt; 3<br />begin<br />print @x --</span>
								<span>打印变量</span>
								<span>x </span>
								<span>的值</span>
						</font>
						<span>
								<br />
								<font face="宋体">while @y &lt; 3<br />begin<br />select @c = 100*@x + @y<br />print @c --</font>
						</span>
						<font face="宋体">
								<span>打印变量</span>
								<span>c </span>
								<span>的值</span>
						</font>
						<span>
								<br />
								<font face="宋体">select @y = @y + 1<br />end<br />select @x = @x + 1<br />select @y = 1<br />end<br />--WAITFOR<br />--</font>
						</span>
						<font face="宋体">
								<span>例</span>
								<span>
								</span>
								<span>等待</span>
								<span>1 </span>
								<span>小时</span>
								<span>2 </span>
								<span>分零</span>
								<span>3 </span>
								<span>秒后才执行</span>
								<span>SELECT </span>
								<span>语句</span>
						</font>
						<span>
								<br />
								<font face="宋体">waitfor delay ’01:02:03’<br />select * from employee<br />--</font>
						</span>
						<font face="宋体">
								<span>例</span>
								<span>
								</span>
								<span>等到晚上</span>
								<span>11 </span>
								<span>点零</span>
								<span>8 </span>
								<span>分后才执行</span>
								<span>SELECT </span>
								<span>语句</span>
						</font>
						<span>
								<br />
								<font face="宋体">waitfor time ’23:08:00’<br />select * from employee</font>
						</span>
				</p>
				<p>
						<span>*<b>**SELECT***</b></span>
						<span>
								<br />select *(</span>
						<span>列名</span>
						<span>) from table_name(</span>
						<span>表名</span>
						<span>) where column_name operator value<br />ex:(</span>
						<span>宿主</span>
						<span>)<br />select * from stock_information where stockid = str(nid)<br />stockname = 'str_name' <br />stockname like '% find this %' <br />stockname like '[a-zA-Z]%' --------- ([]</span>
						<span>指定值的范围</span>
						<span>)<br />stockname like '[^F-M]%' --------- (^</span>
						<span>排除指定范围</span>
						<span>)<br />--------- </span>
						<span>只能在使用</span>
						<span>like</span>
						<span>关键字的</span>
						<span>where</span>
						<span>子句中使用通配符</span>
						<span>)<br />or stockpath = 'stock_path'<br />or stocknumber &lt; 1000<br />and stockindex = 24<br />not stock*** = 'man'<br />stocknumber between 20 and 100<br />stocknumber in(10,20,30)<br />order by stockid desc(asc) --------- </span>
						<span>排序，</span>
						<span>desc-</span>
						<span>降序，</span>
						<span>asc-</span>
						<span>升序</span>
						<span>
								<br />order by 1,2 --------- by</span>
						<span>列号</span>
						<span>
								<br />stockname = (select stockname from stock_information where stockid = 4)<br />--------- </span>
						<span>子查询</span>
						<span>
								<br />--------- </span>
						<span>除非能确保内层</span>
						<span>select</span>
						<span>只返回一个行的值，</span>
						<span>
								<br />--------- </span>
						<span>否则应在外层</span>
						<span>where</span>
						<span>子句中用一个</span>
						<span>in</span>
						<span>限定符</span>
						<span>
								<br />select distinct column_name form table_name --------- distinct</span>
						<span>指定检索独有的列值，不重复</span>
						<span>
								<br />select stocknumber ,"stocknumber + 10" = stocknumber + 10 from table_name<br />select stockname , "stocknumber" = count(*) from table_name group by stockname<br />--------- group by </span>
						<span>将表按行分组</span>
						<span>,</span>
						<span>指定列中有相同的值</span>
						<span>
								<br />having count(*) = 2 --------- having</span>
						<span>选定指定的组</span>
						<span>
								<br />select * <br />from table1, table2 <br />where table1.id *= table2.id -------- </span>
						<span>左外部连接，</span>
						<span>table1</span>
						<span>中有的而</span>
						<span>table2</span>
						<span>中没有得以</span>
						<span>null</span>
						<span>表示</span>
						<span>
								<br />table1.id =* table2.id -------- </span>
						<span>右外部连接</span>
						<span>
								<br />select stockname from table1<br />union [all] ----- union</span>
						<span>合并查询结果集，</span>
						<span>all-</span>
						<span>保留重复行</span>
						<span>
								<br />select stockname from table2<br />***insert***<br />insert into table_name (Stock_name,Stock_number) value ("xxx","xxxx")<br />value (select Stockname , Stocknumber from Stock_table2)---value</span>
						<span>为</span>
						<span>select</span>
						<span>语句</span>
						<span>
								<br />***update***<br />update table_name set Stockname = "xxx" [where Stockid = 3]<br />Stockname = default<br />Stockname = null<br />Stocknumber = Stockname + 4<br />***delete***<br />delete from table_name where Stockid = 3<br />truncate table_name ----------- </span>
						<span>删除表中所有行，仍保持表的完整性</span>
						<span>
								<br />drop table table_name --------------- </span>
						<span>完全删除表</span>
						<span>
								<br />***alter table*** --- </span>
						<span>修改数据库表结构</span>
						<span>
								<br />alter table database.owner.table_name add column_name char(2) null .....<br />sp_help table_name ---- </span>
						<span>显示表已有特征</span>
						<span>
								<br />create table table_name (name char(20), age smallint, lname varchar(30))<br />insert into table_name select ......... ----- </span>
						<span>实现删除列的方法（创建新表）</span>
						<span>
								<br />alter table table_name drop constraint Stockname_default ---- </span>
						<span>删除</span>
						<span>Stockname</span>
						<span>的</span>
						<span>default</span>
						<span>约束</span>
						<span>
								<br />
								<b>
										<span>***function(/*</span>
								</b>
						</span>
						<b>
								<span>常用函数</span>
						</b>
						<b>
								<span>*/)***</span>
						</b>
						<span>
								<br />
								<b>----</b>
						</span>
						<b>
								<span>统计函数</span>
						</b>
						<b>
								<span>----</span>
						</b>
						<span>
								<br />AVG --</span>
						<span>求平均值</span>
						<span>
								<br />COUNT --</span>
						<span>统计数目</span>
						<span>
								<br />MAX --</span>
						<span>求最大值</span>
						<span>
								<br />MIN --</span>
						<span>求最小值</span>
						<span>
								<br />SUM --</span>
						<span>求和</span>
						<span>
								<br />--AVG<br />use pangu<br />select avg(e_wage) as dept_avgWage<br />from employee<br />group by dept_id<br />--MAX<br />--</span>
						<span>求工资最高的员工姓名</span>
						<span>
								<br />use pangu<br />select e_name<br />from employee<br />where e_wage =<br />(select max(e_wage)<br />from employee)</span>
				</p>
				<p>
						<span>--STDEV()<br />--STDEV()</span>
						<span>函数返回表达式中所有数据的标准差</span>
						<span>
								<br />--STDEVP()<br />--STDEVP()</span>
						<span>函数返回总体标准差</span>
						<span>
								<br />--VAR()<br />--VAR()</span>
						<span>函数返回表达式中所有值的统计变异数</span>
						<span>
								<br />--VARP()<br />--VARP()</span>
						<span>函数返回总体变异数</span>
						<span>
								<br />
								<b>
										<span>----</span>
								</b>
						</span>
						<b>
								<span>算术函数</span>
						</b>
						<b>
								<span>----</span>
						</b>
						<span>
								<br />/***</span>
						<span>三角函数</span>
						<span>***/</span>
						<span>
								<br />SIN(float_expression) --</span>
						<span>返回以弧度表示的角的正弦</span>
						<span>
								<br />COS(float_expression) --</span>
						<span>返回以弧度表示的角的余弦</span>
						<span>
								<br />TAN(float_expression) --</span>
						<span>返回以弧度表示的角的正切</span>
						<span>
								<br />COT(float_expression) --</span>
						<span>返回以弧度表示的角的余切</span>
						<span>
								<br />
								<span>/***</span>
						</span>
						<span>反三角函数</span>
						<span>***/</span>
						<span>
								<br />ASIN(float_expression) --</span>
						<span>返回正弦是</span>
						<span>FLOAT </span>
						<span>值的以弧度表示的角</span>
						<span>
								<br />ACOS(float_expression) --</span>
						<span>返回余弦是</span>
						<span>FLOAT </span>
						<span>值的以弧度表示的角</span>
						<span>
								<br />ATAN(float_expression) --</span>
						<span>返回正切是</span>
						<span>FLOAT </span>
						<span>值的以弧度硎镜慕</span>
						<span>?BR&gt;ATAN2(float_expression1,float_expression2) <br />--</span>
						<span>返回正切是</span>
						<span>float_expression1 /float_expres-sion2</span>
						<span>的以弧度表示的角</span>
						<span>
								<br />DEGREES(numeric_expression)<br />--</span>
						<span>把弧度转换为角度返回与表达式相同的数据类型可为</span>
						<span>
								<br />--INTEGER/MONEY/REAL/FLOAT </span>
						<span>类型</span>
						<span>
								<br />RADIANS(numeric_expression) --</span>
						<span>把角度转换为弧度返回与表达式相同的数据类型可为</span>
						<span>
								<br />--INTEGER/MONEY/REAL/FLOAT </span>
						<span>类型</span>
						<span>
								<br />EXP(float_expression) --</span>
						<span>返回表达式的指数值</span>
						<span>
								<br />LOG(float_expression) --</span>
						<span>返回表达式的自然对数值</span>
						<span>
								<br />LOG10(float_expression)--</span>
						<span>返回表达式的以</span>
						<span>10 </span>
						<span>为底的对数值</span>
						<span>
								<br />SQRT(float_expression) --</span>
						<span>返回表达式的平方根</span>
						<span>
								<br />
								<span>/***</span>
						</span>
						<span>取近似值函数</span>
						<span>***/</span>
						<span>
								<br />CEILING(numeric_expression) --</span>
						<span>返回</span>
						<span>&gt;=</span>
						<span>表达式的最小整数返回的数据类型与表达式相同可为</span>
						<span>
								<br />--INTEGER/MONEY/REAL/FLOAT </span>
						<span>类型</span>
						<span>
								<br />FLOOR(numeric_expression) --</span>
						<span>返回</span>
						<span>&lt;=</span>
						<span>表达式的最小整数返回的数据类型与表达式相同可为</span>
						<span>
								<br />--INTEGER/MONEY/REAL/FLOAT </span>
						<span>类型</span>
						<span>
								<br />ROUND(numeric_expression) --</span>
						<span>返回以</span>
						<span>integer_expression </span>
						<span>为精度的四舍五入值返回的数据</span>
						<span>
								<br />--</span>
						<span>类型与表达式相同可为</span>
						<span>INTEGER/MONEY/REAL/FLOAT </span>
						<span>类型</span>
						<span>
								<br />ABS(numeric_expression) --</span>
						<span>返回表达式的绝对值返回的数据类型与表达式相同可为</span>
						<span>
								<br />--INTEGER/MONEY/REAL/FLOAT </span>
						<span>类型</span>
						<span>
								<br />SIGN(numeric_expression) --</span>
						<span>测试参数的正负号返回</span>
						<span>0 </span>
						<span>零值</span>
						<span>1 </span>
						<span>正数或</span>
						<span>-1 </span>
						<span>负数返回的数据类型</span>
						<span>
								<br />--</span>
						<span>与表达式相同可为</span>
						<span>INTEGER/MONEY/REAL/FLOAT </span>
						<span>类型</span>
						<span>
								<br />PI() --</span>
						<span>返回值为</span>
						<span>π </span>
						<span>即</span>
						<span>3.1415926535897936<br />RAND([integer_expression]) --</span>
						<span>用任选的</span>
						<span>[integer_expression]</span>
						<span>做种子值得出</span>
						<span>0-1 </span>
						<span>间的随机浮点数</span>
						<span>
								<br />----</span>
						<span>字符串函数</span>
						<span>----<br />ASCII() --</span>
						<span>函数返回字符表达式最左端字符的</span>
						<span>ASCII </span>
						<span>码值</span>
						<span>
								<br />CHAR() --</span>
						<span>函数用于将</span>
						<span>ASCII </span>
						<span>码转换为字符</span>
						<span>
								<br />--</span>
						<span>如果没有输入</span>
						<span>0 ~ 255 </span>
						<span>之间的</span>
						<span>ASCII </span>
						<span>码值</span>
						<span>CHAR </span>
						<span>函数会返回一个</span>
						<span>NULL </span>
						<span>值</span>
						<span>
								<br />LOWER() --</span>
						<span>函数把字符串全部转换为小写</span>
						<span>
								<br />UPPER() --</span>
						<span>函数把字符串全部转换为大写</span>
						<span>
								<br />STR() --</span>
						<span>函数把数值型数据转换为字符型数据</span>
						<span>
								<br />LTRIM() --</span>
						<span>函数把字符串头部的空格去掉</span>
						<span>
								<br />RTRIM() --</span>
						<span>函数把字符串尾部的空格去掉</span>
						<span>
								<br />LEFT(),RIGHT(),SUBSTRING() --</span>
						<span>函数返回部分字符串</span>
						<span>
								<br />CHARINDEX(),PATINDEX() --</span>
						<span>函数返回字符串中某个指定的子串出现的开始位置</span>
						<span>
								<br />SOUNDEX() --</span>
						<span>函数返回一个四位字符码</span>
						<span>
								<br />--SOUNDEX</span>
						<span>函数可用来查找声音相似的字符串但</span>
						<span>SOUNDEX</span>
						<span>函数对数字和汉字均只返回</span>
						<span>0 </span>
						<span>值</span>
						<span>
								<br />DIFFERENCE() --</span>
						<span>函数返回由</span>
						<span>SOUNDEX </span>
						<span>函数返回的两个字符表达式的值的差异</span>
						<span>
								<br />--0 </span>
						<span>两个</span>
						<span>SOUNDEX </span>
						<span>函数返回值的第一个字符不同</span>
						<span>
								<br />--1 </span>
						<span>两个</span>
						<span>SOUNDEX </span>
						<span>函数返回值的第一个字符相同</span>
						<span>
								<br />--2 </span>
						<span>两个</span>
						<span>SOUNDEX </span>
						<span>函数返回值的第一二个字符相同</span>
						<span>
								<br />--3 </span>
						<span>两个</span>
						<span>SOUNDEX </span>
						<span>函数返回值的第一二三个字符相同</span>
						<span>
								<br />--4 </span>
						<span>两个</span>
						<span>SOUNDEX </span>
						<span>函数返回值完全相同</span>
						<span>
								<br />QUOTENAME() --</span>
						<span>函数返回被特定字符括起来的字符串</span>
						<span>
								<br />/*select quotename('abc', '{') quotename('abc')<br /></span>
						<span>运行结果如下</span>
						<span>
								<br />----------------------------------{<br />{abc} [abc]*/<br />REPLICATE() --</span>
						<span>函数返回一个重复</span>
						<span>character_expression </span>
						<span>指定次数的字符串</span>
						<span>
								<br />/*select replicate('abc', 3) replicate( 'abc', -2)<br /></span>
						<span>运行结果如下</span>
						<span>
								<br />----------- -----------<br />abcabcabc NULL*/<br />REVERSE() --</span>
						<span>函数将指定的字符串的字符排列顺序颠倒</span>
						<span>
								<br />REPLACE() --</span>
						<span>函数返回被替换了指定子串的字符串</span>
						<span>
								<br />/*select replace('abc123g', '123', 'def')<br /></span>
						<span>运行结果如下</span>
						<span>
								<br />----------- -----------<br />abcdefg*/<br />SPACE() --</span>
						<span>函数返回一个有指定长度的空白字符串</span>
						<span>
								<br />STUFF() --</span>
						<span>函数用另一子串替换字符串指定位置长度的子串</span>
						<span>
								<br />----</span>
						<span>数据类型转换函数</span>
						<span>----<br />CAST() </span>
						<span>函数语法如下</span>
						<span>
								<br />CAST() ( AS [ length ])<br />CONVERT() </span>
						<span>函数语法如下</span>
						<span>
								<br />CONVERT() ([ length ], [, style])<br />select cast(100+99 as char) convert(varchar(12), getdate())<br /></span>
						<span>运行结果如下</span>
						<span>
								<br />------------------------------ ------------<br />199 Jan 15 2000<br /><span>----</span></span>
						<span>日期函数</span>
						<span>----</span>
						<span>
								<br />DAY() --</span>
						<span>函数返回</span>
						<span>date_expression </span>
						<span>中的日期值</span>
						<span>
								<br />MONTH() --</span>
						<span>函数返回</span>
						<span>date_expression </span>
						<span>中的月份值</span>
						<span>
								<br />YEAR() --</span>
						<span>函数返回</span>
						<span>date_expression </span>
						<span>中的年份值</span>
						<span>
								<br />DATEADD( , ,) <br />--</span>
						<span>函数返回指定日期</span>
						<span>date </span>
						<span>加上指定的额外日期间隔</span>
						<span>number </span>
						<span>产生的新日期</span>
						<span>
								<br />DATEDIFF( , ,)<br />--</span>
						<span>函数返回两个指定日期在</span>
						<span>datepart </span>
						<span>方面的不同之处</span>
						<span>
								<br />DATENAME( , ) --</span>
						<span>函数以字符串的形式返回日期的指定部分</span>
						<span>
								<br />DATEPART( , ) --</span>
						<span>函数以整数值的形式返回日期的指定部分</span>
						<span>
								<br />GETDATE() --</span>
						<span>函数以</span>
						<span>DATETIME </span>
						<span>的缺省格式返回系统当前的日期和时间</span>
						<span>
								<br />
								<span>----</span>
						</span>
						<span>系统函数</span>
						<span>----</span>
						<span>
								<br />APP_NAME() --</span>
						<span>函数返回当前执行的应用程序的名称</span>
						<span>
								<br />COALESCE() --</span>
						<span>函数返回众多表达式中第一个非</span>
						<span>NULL </span>
						<span>表达式的值</span>
						<span>
								<br />COL_LENGTH(&lt;'table_name'&gt;, &lt;'column_name'&gt;) --</span>
						<span>函数返回表中指定字段的长度值</span>
						<span>
								<br />COL_NAME(, ) --</span>
						<span>函数返回表中指定字段的名称即列名</span>
						<span>
								<br />DATALENGTH() --</span>
						<span>函数返回数据表达式的数据的实际长度</span>
						<span>
								<br />DB_ID(['database_name']) --</span>
						<span>函数返回数据库的编号</span>
						<span>
								<br />DB_NAME(database_id) --</span>
						<span>函数返回数据库的名称</span>
						<span>
								<br />HOST_ID() --</span>
						<span>函数返回服务器端计算机的名称</span>
						<span>
								<br />HOST_NAME() --</span>
						<span>函数返回服务器端计算机的名称</span>
						<span>
								<br />IDENTITY([, seed increment]) [AS column_name])<br />--IDENTITY() </span>
						<span>函数只在</span>
						<span>SELECT INTO </span>
						<span>语句中使用用于插入一个</span>
						<span>identity column</span>
						<span>列到新表中</span>
						<span>
								<br />/*select identity(int, 1, 1) as column_name<br />into newtable<br />from oldtable*/<br />ISDATE() --</span>
						<span>函数判断所给定的表达式是否为合理日期</span>
						<span>
								<br />ISNULL(, ) --</span>
						<span>函数将表达式中的</span>
						<span>NULL </span>
						<span>值用指定值替换</span>
						<span>
								<br />ISNUMERIC() --</span>
						<span>函数判断所给定的表达式是否为合理的数值</span>
						<span>
								<br />NEWID() --</span>
						<span>函数返回一个</span>
						<span>UNIQUEIDENTIFIER </span>
						<span>类型的数值</span>
						<span>
								<br />NULLIF(, )<br />--NULLIF </span>
						<span>函数在</span>
						<span>expression1 </span>
						<span>与</span>
						<span>expression2 </span>
						<span>相等时返回</span>
						<span>NULL </span>
						<span>值若不相等时则返回</span>
						<span>expression1 </span>
						<span>的值</span>
				</p>
		</div>
<img src ="http://www.cppblog.com/cqyangjf/aggbug/10129.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cqyangjf/" target="_blank">小丑</a> 2006-07-16 16:41 <a href="http://www.cppblog.com/cqyangjf/archive/2006/07/16/10129.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>VC对Office进行操作</title><link>http://www.cppblog.com/cqyangjf/archive/2006/07/14/9904.html</link><dc:creator>小丑</dc:creator><author>小丑</author><pubDate>Fri, 14 Jul 2006 10:03:00 GMT</pubDate><guid>http://www.cppblog.com/cqyangjf/archive/2006/07/14/9904.html</guid><wfw:comment>http://www.cppblog.com/cqyangjf/comments/9904.html</wfw:comment><comments>http://www.cppblog.com/cqyangjf/archive/2006/07/14/9904.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cqyangjf/comments/commentRss/9904.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cqyangjf/services/trackbacks/9904.html</trackback:ping><description><![CDATA[用VC对Office进行操作的介绍已经不少了，但是从来没有把word,excel,powerPoint进进全面的介绍的。<br />由于工作的需要，我需要对在自己的软件中对word,excel,powerPoint进行操作。所以把自己的体会写出<br />来和大家分享，希望对大家有所帮助。当然还有很多不当之处，希望大家指出。<br />用例子来说明吧，首先创建一个MFC AppWizard(EXE)工程，然后通过在VIEW菜单中，选ClassWizard,<br />选Automation选项卡,选Add Class,选择From a TypeLibrary, 选中Microsoft Office 2000 类型库:<br />Excel9.olb，MSPPT9.OLB，MSWORD9.OLB(在Microsoft Office\Office目录下) 会将类型库中的所有类添加到你的工程中。 <br />然后写一个类来操作Office吧!<br />ObtGuiGcomOfficePrinter.h<br />#if !defined(AFX_OBTGUIGCOMOFFICEPRINTER_H__03A0C2D8_DFC8_4B51_8ADB_994B86BACB82__INCLUDED_)<br />#define AFX_OBTGUIGCOMOFFICEPRINTER_H__03A0C2D8_DFC8_4B51_8ADB_994B86BACB82__INCLUDED_<br />#if _MSC_VER &gt; 1000<br />#pragma once<br />#endif // _MSC_VER &gt; 1000 <br />#include "comdef.h"<br />#include "ObtGuiGcomMsWord9.h"<br />#include "ObtGuiGcomMsPpt9.h"<br />#include "ObtGuiGcomExcel9.h"<br /><br />class AFX_EXT_CLASS ObtGuiGcomOfficePrinter <br />{<br />public:<br />ObtGuiGcomOfficePrinter();<br />virtual ~ObtGuiGcomOfficePrinter();<br /><br />//Operator<br />public:<br />BOOL WordPrinterToJcf(LPCTSTR lpszFileName,LPCTSTR lpszActivePrinter);<br />BOOL ExcelPrinterToJcf(LPCTSTR lpszFileName,LPCTSTR lpszActivePrinter);<br />BOOL PowerPointPrinterToJcf(LPCTSTR lpszFileName,LPCTSTR lpszActivePrinter);<br /><br />};<br /><br />#include "stdafx.h"<br />#include "ObtGuiGcomOfficePrinter.h"<br /><br />#ifdef _DEBUG<br />#undef THIS_FILE<br />static char THIS_FILE[]=__FILE__;<br />#define new DEBUG_NEW<br />#endif<br /><br />//////////////////////////////////////////////////////////////////////<br />// Construction/Destruction<br />//////////////////////////////////////////////////////////////////////<br /><br />ObtGuiGcomOfficePrinter::ObtGuiGcomOfficePrinter()<br />{<br /><br />}<br /><br /><br />ObtGuiGcomOfficePrinter::~ObtGuiGcomOfficePrinter()<br />{<br /><br />}<br /><br />BOOL ObtGuiGcomOfficePrinter::PowerPointPrinterToJcf(LPCTSTR lpszFileName,LPCTSTR lpszActivePrinter)<br />{<br />_PptApplication m_powerpointApp;<br />Presentations m_powerpointPres;<br />_Presentation m_powerpointPre;<br /><br />m_powerpointPres.ReleaseDispatch();<br />m_powerpointPre.ReleaseDispatch();<br /><br />if(!m_powerpointApp.CreateDispatch("PowerPoint.Application"))<br />{ <br />AfxMessageBox("创建PowerPoint服务失败!"); <br />return FALSE; <br />} <br /><br />m_powerpointApp.m_bAutoRelease=true;<br />m_powerpointApp.SetVisible(TRUE);//对于PowerPoint必须设置为TRUE<br /><br />m_powerpointPres.AttachDispatch(m_powerpointApp.GetPresentations());<br />m_powerpointPres.Open(lpszFileName,-1,-1,-1);<br />m_powerpointPre.AttachDispatch(m_powerpointApp.GetActivePresentation(),TRUE);<br /><br />m_powerpointPre.PrintOut(-1,-1,"",long(1),-1);<br /><br />m_powerpointApp.Quit();<br /><br />m_powerpointPre.ReleaseDispatch();<br />m_powerpointPres.ReleaseDispatch();<br />m_powerpointApp.ReleaseDispatch();<br /><br />return TRUE;<br />}<br />BOOL ObtGuiGcomOfficePrinter::ExcelPrinterToJcf(LPCTSTR lpszFileName,LPCTSTR lpszActivePrinter)<br />{<br />_ExcelApplication m_excelApp;//定义Excel提供的应用程序对象<br />Workbooks m_excelBooks; <br />_Workbook m_excelBook;<br /><br />m_excelBooks.ReleaseDispatch();<br />m_excelBook.ReleaseDispatch();<br />m_excelApp.m_bAutoRelease=true;<br /><br />//创建Excel 2000服务器(启动Excel) <br />if (!m_excelApp.CreateDispatch("Excel.Application")) <br />{ <br />AfxMessageBox("创建Excel服务失败!"); <br />return FALSE;<br />} <br /><br />m_excelApp.SetVisible(FALSE); //设置为隐藏<br />//利用模板文件建立新文档 <br />m_excelBooks.AttachDispatch(m_excelApp.GetWorkbooks(),true); <br />m_excelBook.AttachDispatch(m_excelBooks.Add(_variant_t(lpszFileName))); <br /><br />//m_excelApp.SetActivePrinter(lpszActivePrinter); //设置当前打印机<br />COleVariant covTrue((short)TRUE), covFalse((short)FALSE), covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);//定义打印机并打印<br />m_excelBook.PrintOut(covOptional,covOptional,COleVariant(long(1)),covFalse,covOptional,covOptional,covOptional,covOptional);<br /><br />m_excelApp.Quit();//退出<br /><br />m_excelBook.ReleaseDispatch(); <br />m_excelBooks.ReleaseDispatch(); <br />m_excelApp.ReleaseDispatch(); <br /><br />return TRUE;<br />}<br /><br />BOOL ObtGuiGcomOfficePrinter::WordPrinterToJcf(LPCTSTR lpszFileName,LPCTSTR lpszActivePrinter)<br />{<br /><br />_WordApplication m_wordApp;//定义Word提供的应用程序对象<br />Documents m_wordDocs;//定义Word提供的文档对象<br />_Document m_wordDoc; //当前的的文档对象<br /><br />m_wordDocs.ReleaseDispatch();<br />m_wordDoc.ReleaseDispatch();<br />m_wordApp.m_bAutoRelease=true;<br /><br />if(!m_wordApp.CreateDispatch("Word.Application")) //创建Word应用服务<br />{ <br />AfxMessageBox("创建Word应用服务失败!"); <br />return FALSE; <br />}<br /><br />m_wordApp.SetVisible(FALSE); //设置为隐藏<br />//下面是打开文件定义VARIANT变量；<br />COleVariant varFilePath(lpszFileName);<br />COleVariant varstrNull("");<br />COleVariant varZero((short)0);<br />COleVariant varTrue(short(1),VT_BOOL);<br />COleVariant varFalse(short(0),VT_BOOL);<br /><br />m_wordDocs.AttachDispatch(m_wordApp.GetDocuments());//将Documents类对象m_Docs和Idispatch接口关联起来；<br />m_wordDocs.Open(varFilePath,varFalse,varFalse,varFalse,varstrNull,varstrNull,<br />varFalse,varstrNull,varstrNull,varTrue,varTrue,varTrue);<br />m_wordDoc.AttachDispatch(m_wordApp.GetActiveDocument()); //得到当前激活的Document对象<br /><br />m_wordApp.SetActivePrinter(lpszActivePrinter); //设置当前打印机<br />COleVariant covTrue((short)TRUE), covFalse((short)FALSE), <br />covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR); //定义打印属性<br />m_wordDoc.PrintOut(covFalse, <br />covOptional, <br />covOptional, <br />covOptional, <br />covOptional, <br />covOptional, <br />covOptional, <br />COleVariant((long)1), <br />covOptional, <br />covOptional, <br />covOptional, <br />covOptional, <br />covOptional, <br />covOptional, <br />covOptional, <br />covOptional, <br />covOptional, <br />covOptional); <br /><br />m_wordApp.Quit(covOptional,covOptional,covOptional);//退出<br /><br />m_wordDoc.ReleaseDispatch(); //断开关联；<br />m_wordDocs.ReleaseDispatch();<br />m_wordApp.ReleaseDispatch();<br />return TRUE;<br />}<br /><br /><br /><br />以上是用Office打开相应的文档进行打印的操作，如果你需要进行相应的其他操作，<br />你可以用Office里面的宏进行录制然后转化为相应的代码。<br /><br />例2:<br /><br /><br />给企业开发的项目中，客户经常要求将数据汇总显示并打印。站在程序员的立场上，简单数据的汇总打印可以采用VB自带报表，对复杂的数据用水晶报表或第三方打印控件。在企业中，汇总数据另一个目的是为了便于交流和共享资源，报表的格式通常固定，内容可以自己调整，他们对 Excel 和 Word 情有独钟。 <br /><br />　　刚完成的项目中，客户要求将汇总的数据以三种方式进行显示和打印：AutoCad、Excel 和 Word 文档中。前两种方式网上资源很多，对 Word 文档我找到例子不是很多。由于需要和 AutoCad 开发程序结合，不能将 Word 文档以 OLE 的方式 嵌入到程序中，文档只能在内存中形成，这将占用大量的CPU资源，另开一个线程进行处理，线程间以发送消息的方式进行通信。<br /><br />　　首先在VC引入Word, 对格式相同的地方一定使用模版的方式进行处理，这可以大大的提高运行速度,Word中的模版为*.dot。加载模版的代码为：<br /><br />sDocs=sApp.GetDocuments();<br />　　 sDocs.AttachDispatch(sApp.GetDocuments(),true);<br />　　 COleVariant vFalse((long)0),vTrue((long)1); <br />　　 sDoc.AttachDispatch(sDocs.Add(COleVariant(_variant_t(strFileName)), vFalse,vFalse, vTrue));  <br /><br /><br />　　需要注意的是，如果Word中使用到表格，VBA录制的全是Selection对象的处理方法，在VC中使用Selection对象的MoveUp和MoveDown函数时会出现不确定现象（如果你知道为什么的话请告诉我）。如果你需要绘制表格，不要用程序来动态形成，绘制表格的代码是很繁琐的，而且在页眉中绘制单元格是很难控制的。可以先在模版中绘出你要的表格格式，然后用程序复制单元格或者直接使用模版中的单元格。由于我做的项目表格的行数不确定，我采用的是复制单元格的方式（速度比较慢，谁有更好的方法?）。<br /><br />　　剩下的处理流程，就是你想做什么操作，先在Word中录制一段宏，然后查看其VBA代码，并将其转化到Vc程序中。这就看你Word使用的熟练程度了，例如如何把不同页的页眉页脚设置不同，如何得到当前页的页数以及总的文档的页数，具体可以参考程序。<br /><br />　　VC中也可以像Excel中调用模版中存在的宏，代码如下：<br /><br />VARIANT vtMissing ;vtMissing.vt =VT_ERROR; <br />　　 vtMissing.scode =DISP_E_PARAMNOTFOUND;<br />　　 sApp.Run("AddCell",&amp;vtMissing,&amp;vtMissing,&amp;vtMissing, <br />　　 &amp;vtMissing,&amp;vtMissing,&amp;vtMissing,&amp;vtMissing,&amp;vtMissing,&amp;vtMissing,&amp;vtMissing, <br />　　 &amp;vtMissing,&amp;vtMissing,&amp;vtMissing,&amp;vtMissing,&amp;vtMissing,&amp;vtMissing,&amp;vtMissing, <br />　　 &amp;vtMissing,&amp;vtMissing,&amp;vtMissing,&amp;vtMissing,&amp;vtMissing,&amp;vtMissing,&amp;vtMissing, <br />　　 &amp;vtMissing,&amp;vtMissing,&amp;vtMissing,&amp;vtMissing,&amp;vtMissing,&amp;vtMissing); <br /><br /><br />例3:<br /><br />#include &lt;ole2.h&gt;<br />#include &lt;stdio.h&gt;<br />#pragma warning (disable:4146 4192 4786 4081)<br />#define USE_OFFICEXP 1<br /><br />#ifdef USE_OFFICEXP<br />#import "C:\Program Files\Common Files\Microsoft Shared\Office10\MSO.DLL" <br />#import "c:\\Program Files\\Common Files\Microsoft Shared\\VBA\VBA6\VBE6EXT.olb" <br />#import "c:\Program Files\Microsoft Office\Office10\MSWORD.olb" rename("ExitWindows","ExitWindowsEx")<br />#import "c:\Program Files\Microsoft Office\Office10\excel.exe" rename("DialogBox", "DialogBoxXL") rename("RGB", "RBGXL") \<br />rename("DocumentProperties", "DocumentPropertiesXL") exclude("IFont","IPicture")<br />#else<br />#import "c:\Program Files\Microsoft Office\Office\MSO9.dll"<br />#import "C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB" no_namespace <br />#import "c:\Program Files\Microsoft Office\Office\MSWORD9.OLB" rename("ExitWindows","_ExitWindows")<br />#import "c:\Program Files\Microsoft Office\Office\excel9.olb" rename("DialogBox", "DialogBoxXL") rename("RGB", "RBGXL") \<br />rename("DocumentProperties", "DocumentPropertiesXL") exclude("IFont","IPicture")<br />#endif<br />int main(int argc, char* argv[])<br />{<br /><br />::CoInitialize(NULL);<br />CLSID clsid;<br />#if 1<br />CLSIDFromProgID(L"Word.Application", &amp;clsid); <br />Word::_ApplicationPtr pApp;<br />//pApp.GetActiveObject (clsid);<br />pApp.CreateInstance (clsid,NULL);<br />pApp -&gt;PutVisible (VARIANT_TRUE);<br />_variant_t bstrFileName = "C:\\Project\\&amp;Icirc;&amp;Auml;&amp;micro;&amp;micro;\\ftp&amp;#8226;&amp;thorn;&amp;Icirc;&amp;ntilde;&amp;Eacute;è&amp;frac14;&amp;AElig;.doc";<br />pApp -&gt;GetDocuments() -&gt;Open (&amp;bstrFileName);<br />//pApp -&gt;GetDocuments() -&gt;Add();<br />Word::_DocumentPtr pWordDocument =pApp-&gt; GetActiveDocument();<br />Word::SelectionPtr pSelection = pApp -&gt;GetSelection(); <br />Word::ParagraphsPtr pParagraphs = pWordDocument-&gt;GetParagraphs ();<br />long lParaCnt = pParagraphs -&gt;GetCount (); <br />Word::ParagraphPtr pTemp;<br />Word::RangePtr pRange;<br />for (long iLoop =1;iLoop&lt;lParaCnt;++iLoop)<br />{ <br />pTemp = pParagraphs-&gt;Item (iLoop);<br />pRange = pTemp -&gt;GetRange ();<br />printf("%s\n",(char*)pRange -&gt;GetText());<br />printf("%s\n",(char*)(_bstr_t)pTemp-&gt;GetStyle ());<br />}<br /><br />//pApp -&gt;GetDocuments() -&gt;Close ();<br />pApp -&gt;Quit ();<br />#endif<br />#if 0<br />_variant_t varItem((long)1);<br />CLSIDFromProgID(L"Excel.Application", &amp;clsid); <br />Excel::_ApplicationPtr pApp;<br />pApp .CreateInstance (clsid,NULL);<br />pApp -&gt;PutVisible (0,VARIANT_TRUE);<br /><br />Excel::_WorkbookPtr pWorkbook = pApp -&gt;GetWorkbooks () -&gt;Add ();<br />Excel::_WorksheetPtr pSheet = pWorkbook -&gt;GetWorksheets () -&gt;GetItem (varItem); <br />Excel::RangePtr pRange = pSheet -&gt;GetUsedRange(0);<br />int iColCnt = pRange -&gt;GetColumns() -&gt;GetCount();<br />printf("used columns is %d\n",iColCnt);<br />int iRowCnt = pRange -&gt;GetRows() -&gt;GetCount();<br />printf("used rows is %d\n",iRowCnt);<br />pRange = pSheet -&gt;GetRange(OLESTR("A1"));<br />pRange -&gt;Value2 = OLESTR("zheng017");<br />pSheet -&gt;GetRows ()-<br />Excel::InteriorPtr pInterior= pRange -&gt;GetInterior ();<br />varItem.intVal = 0xff0000;<br />pInterior -&gt;PutColor (varItem); <br />pSheet -&gt;PrintPreview ();<br />#endif<br />::CoUninitialize();<br />return 0;<br />} <br /><img src ="http://www.cppblog.com/cqyangjf/aggbug/9904.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cqyangjf/" target="_blank">小丑</a> 2006-07-14 18:03 <a href="http://www.cppblog.com/cqyangjf/archive/2006/07/14/9904.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>