<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>明泉 &#187; c语言</title>
	<atom:link href="http://liumingquan.net/html/tag/c%e8%af%ad%e8%a8%80/feed" rel="self" type="application/rss+xml" />
	<link>http://liumingquan.net</link>
	<description>开尽春花芳草涧 遍通秋水月明泉</description>
	<lastBuildDate>Mon, 07 May 2012 02:59:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>经典C程序100例（6）</title>
		<link>http://liumingquan.net/html/2009_10/classic-c-program-of-100-cases-6.html</link>
		<comments>http://liumingquan.net/html/2009_10/classic-c-program-of-100-cases-6.html#comments</comments>
		<pubDate>Mon, 19 Oct 2009 07:49:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C语言]]></category>
		<category><![CDATA[c语言]]></category>
		<category><![CDATA[程序]]></category>
		<category><![CDATA[经典]]></category>

		<guid isPermaLink="false">http://liumingquan.net/html/2009_10/%e7%bb%8f%e5%85%b8c%e7%a8%8b%e5%ba%8f100%e4%be%8b%ef%bc%886%ef%bc%89.html</guid>
		<description><![CDATA[题目：用*号输出字母C的图案。 分析：挺无语，不知道怎么分析，就用printf输出吧。是不是可以理解这个程序是字符版的“Hello World!”代码如下： 1 2 3 4 5 6 7 8 9 10 #include &#60;stdio.h&#62; int main&#40;void&#41; &#123; printf&#40;&#34; ****\n&#34;&#41;; printf&#40;&#34; *\n&#34;&#41;; printf&#40;&#34; * \n&#34;&#41;; printf&#40;&#34; ****\n&#34;&#41;; &#160; return 0; &#125;]]></description>
			<content:encoded><![CDATA[<p>题目：用*号输出字母C的图案。<br />
分析：挺无语，不知道怎么分析，就用printf输出吧。是不是可以理解这个程序是字符版的“Hello World!”代码如下：<span id="more-197"></span></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#include	&lt;stdio.h&gt;</span>
<span style="color: #993333;">int</span>	main<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot; ****<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot; *<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot; * <span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot; ****<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">return</span>	<span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://liumingquan.net/html/2009_10/classic-c-program-of-100-cases-6.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>经典C程序100例（5）</title>
		<link>http://liumingquan.net/html/2009_10/classic-c-program-of-100-cases-5.html</link>
		<comments>http://liumingquan.net/html/2009_10/classic-c-program-of-100-cases-5.html#comments</comments>
		<pubDate>Wed, 14 Oct 2009 01:20:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C语言]]></category>
		<category><![CDATA[c语言]]></category>
		<category><![CDATA[程序]]></category>
		<category><![CDATA[经典]]></category>

		<guid isPermaLink="false">http://liumingquan.net/html/2009_10/%e7%bb%8f%e5%85%b8c%e7%a8%8b%e5%ba%8f100%e4%be%8b%ef%bc%885%ef%bc%89.html</guid>
		<description><![CDATA[题目：输入三个整数x,y,z，请把这三个数由小到大输出。 分析：和“两个杯子中的水交换一下必须要有另外一个临时的杯子当中介”的情况很接近。除去X、Y、Z以外，还必须有另外一个变量当作临时的容器。在交换X、Y、Z的时候起到“另外一个临时杯子”的作用。代码如下： 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 #include &#60;stdio.h&#62; &#160; int main&#40;void&#41; &#123; int x; int y; int z; int t; &#160; printf&#40;&#34;依次输入,x,y,z&#34;&#41;; scanf&#40;&#34;%d [...]]]></description>
			<content:encoded><![CDATA[<p>题目：输入三个整数x,y,z，请把这三个数由小到大输出。<br />
分析：和“两个杯子中的水交换一下必须要有另外一个临时的杯子当中介”的情况很接近。除去X、Y、Z以外，还必须有另外一个变量当作临时的容器。在交换X、Y、Z的时候起到“另外一个临时杯子”的作用。代码如下：<span id="more-194"></span></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
</pre></td><td class="code"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#include	&lt;stdio.h&gt;</span>
&nbsp;
<span style="color: #993333;">int</span>	main<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #993333;">int</span>	x<span style="color: #339933;">;</span>
	<span style="color: #993333;">int</span>	y<span style="color: #339933;">;</span>
	<span style="color: #993333;">int</span>	z<span style="color: #339933;">;</span>
	<span style="color: #993333;">int</span>	t<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;依次输入,x,y,z&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	scanf<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d %d %d&quot;</span><span style="color: #339933;">,&amp;</span>x<span style="color: #339933;">,&amp;</span>y<span style="color: #339933;">,&amp;</span>z<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">if</span>	<span style="color: #009900;">&#40;</span>x<span style="color: #339933;">&gt;</span>y<span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>	<span style="color: #666666; font-style: italic;">//交换x,y，让x最小 </span>
		t<span style="color: #339933;">=</span>x<span style="color: #339933;">;</span>
		x<span style="color: #339933;">=</span>y<span style="color: #339933;">;</span>
		y<span style="color: #339933;">=</span>t<span style="color: #339933;">;</span> 
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #b1b100;">if</span>	<span style="color: #009900;">&#40;</span>x<span style="color: #339933;">&gt;</span>z<span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>	<span style="color: #666666; font-style: italic;">//交换x,z，让x最小 </span>
		t<span style="color: #339933;">=</span>z<span style="color: #339933;">;</span>
		z<span style="color: #339933;">=</span>x<span style="color: #339933;">;</span>
		x<span style="color: #339933;">=</span>t<span style="color: #339933;">;</span>	
	<span style="color: #009900;">&#125;</span>	
&nbsp;
	<span style="color: #b1b100;">if</span>	<span style="color: #009900;">&#40;</span>y<span style="color: #339933;">&gt;</span>z<span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>	<span style="color: #666666; font-style: italic;">//交换y,z，让次小 </span>
		t<span style="color: #339933;">=</span>y<span style="color: #339933;">;</span>
		y<span style="color: #339933;">=</span>z<span style="color: #339933;">;</span>
		z<span style="color: #339933;">=</span>t<span style="color: #339933;">;</span>	
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;从小到大的顺序是 ：%d %d %d<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span>x<span style="color: #339933;">,</span>y<span style="color: #339933;">,</span>z<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">return</span>	<span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> 
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://liumingquan.net/html/2009_10/classic-c-program-of-100-cases-5.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>经典C程序100例（4）</title>
		<link>http://liumingquan.net/html/2009_07/100-cases-of-classic-c-procedures-4.html</link>
		<comments>http://liumingquan.net/html/2009_07/100-cases-of-classic-c-procedures-4.html#comments</comments>
		<pubDate>Mon, 27 Jul 2009 07:37:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C语言]]></category>
		<category><![CDATA[c语言]]></category>
		<category><![CDATA[程序]]></category>
		<category><![CDATA[经典]]></category>

		<guid isPermaLink="false">http://liumingquan.net/html/2009_07/%e7%bb%8f%e5%85%b8c%e7%a8%8b%e5%ba%8f100%e4%be%8b%ef%bc%884%ef%bc%89.html</guid>
		<description><![CDATA[题目：输入某年某月某日，判断这一天是这一年的第几天？ 分析：首先想到闰年是比平年多一天，还有一点是尽管是闰年，如果月份输入的是1或者2月，则多出的这一天是不用考虑的。代码如下： 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 #include &#60;stdio.h&#62; &#160; int main&#40;void&#41; &#123; unsigned int year=0; //年 unsigned int month=0; //月 unsigned int day=0; //日 unsigned int number=0; //是一年中的第几天 unsigned char [...]]]></description>
			<content:encoded><![CDATA[<p>题目：输入某年某月某日，判断这一天是这一年的第几天？<br />
分析：首先想到闰年是比平年多一天，还有一点是尽管是闰年，如果月份输入的是1或者2月，则多出的这一天是不用考虑的。代码如下：<span id="more-164"></span></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
</pre></td><td class="code"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#include	&lt;stdio.h&gt;</span>
&nbsp;
<span style="color: #993333;">int</span>	main<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #993333;">unsigned</span> <span style="color: #993333;">int</span>	year<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>		<span style="color: #666666; font-style: italic;">//年 </span>
	<span style="color: #993333;">unsigned</span> <span style="color: #993333;">int</span>	month<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>	<span style="color: #666666; font-style: italic;">//月 </span>
	<span style="color: #993333;">unsigned</span> <span style="color: #993333;">int</span>	day<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>		<span style="color: #666666; font-style: italic;">//日 </span>
	<span style="color: #993333;">unsigned</span> <span style="color: #993333;">int</span> 	number<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>	<span style="color: #666666; font-style: italic;">//是一年中的第几天 </span>
	<span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> 	days<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">12</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #009900;">&#123;</span><span style="color: #0000dd;">31</span><span style="color: #339933;">,</span><span style="color: #0000dd;">28</span><span style="color: #339933;">,</span><span style="color: #0000dd;">31</span><span style="color: #339933;">,</span><span style="color: #0000dd;">30</span><span style="color: #339933;">,</span><span style="color: #0000dd;">31</span><span style="color: #339933;">,</span><span style="color: #0000dd;">30</span><span style="color: #339933;">,</span><span style="color: #0000dd;">31</span><span style="color: #339933;">,</span><span style="color: #0000dd;">31</span><span style="color: #339933;">,</span><span style="color: #0000dd;">30</span><span style="color: #339933;">,</span><span style="color: #0000dd;">31</span><span style="color: #339933;">,</span><span style="color: #0000dd;">30</span><span style="color: #339933;">,</span><span style="color: #0000dd;">31</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>	<span style="color: #666666; font-style: italic;">//每个月有几天 </span>
	<span style="color: #993333;">int</span> i<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;输入年 月 日：&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	scanf<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d %d %d&quot;</span><span style="color: #339933;">,&amp;</span>year<span style="color: #339933;">,&amp;</span>month<span style="color: #339933;">,&amp;</span>day<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&lt;</span>month<span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>			
	<span style="color: #009900;">&#123;</span>
		number<span style="color: #339933;">=</span>number<span style="color: #339933;">+</span>days<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>	<span style="color: #666666; font-style: italic;">//累加月份之前月份的天数 </span>
	<span style="color: #009900;">&#125;</span>	
&nbsp;
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>year<span style="color: #339933;">%</span><span style="color:#800080;">4</span><span style="color: #339933;">==</span><span style="color: #0000dd;">0</span><span style="color: #339933;">&amp;&amp;</span>year<span style="color: #339933;">%</span><span style="color:#800080;">400</span><span style="color: #339933;">==</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">||</span><span style="color: #009900;">&#40;</span>year<span style="color: #339933;">%</span><span style="color:#800080;">4</span><span style="color: #339933;">==</span><span style="color: #0000dd;">0</span><span style="color: #339933;">&amp;&amp;</span>year<span style="color: #339933;">%</span><span style="color:#800080;">100</span><span style="color: #339933;">!=</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&amp;&amp;</span><span style="color: #009900;">&#40;</span>month<span style="color: #339933;">&gt;=</span><span style="color: #0000dd;">3</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>	
	<span style="color: #009900;">&#123;</span>	<span style="color: #666666; font-style: italic;">//判断闰年且月份大于等于三月 </span>
		number<span style="color: #339933;">=</span>number<span style="color: #339933;">+</span><span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>	<span style="color: #666666; font-style: italic;">//增加一天 </span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	number<span style="color: #339933;">=</span>number<span style="color: #339933;">+</span>day<span style="color: #339933;">;</span>		<span style="color: #666666; font-style: italic;">//加上本月的天数 </span>
	<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>%d年%d月%d日是一年中的第 %d 天&quot;</span><span style="color: #339933;">,</span>year<span style="color: #339933;">,</span>month<span style="color: #339933;">,</span>day<span style="color: #339933;">,</span>number<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	<span style="color: #666666; font-style: italic;">//打印结果 </span>
&nbsp;
	<span style="color: #b1b100;">return</span>	<span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>	
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://liumingquan.net/html/2009_07/100-cases-of-classic-c-procedures-4.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>经典C程序100例（3）</title>
		<link>http://liumingquan.net/html/2009_07/100-cases-of-classic-c-program-3.html</link>
		<comments>http://liumingquan.net/html/2009_07/100-cases-of-classic-c-program-3.html#comments</comments>
		<pubDate>Wed, 01 Jul 2009 06:22:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C语言]]></category>
		<category><![CDATA[c语言]]></category>
		<category><![CDATA[程序]]></category>
		<category><![CDATA[经典]]></category>

		<guid isPermaLink="false">http://liumingquan.net/html/2009/07/%e7%bb%8f%e5%85%b8c%e7%a8%8b%e5%ba%8f100%e4%be%8b%ef%bc%883%ef%bc%89.html</guid>
		<description><![CDATA[题目：一个整数，若加上100后是一个完全平方数，若加上168还是一个完全平方数，请问该数是多少？ 分析：不知道这数字大小是多少，不知道这样的数字有几个，程序写起来效率不会高。开始写成while(x]]></description>
			<content:encoded><![CDATA[<p>题目：一个整数，若加上100后是一个完全平方数，若加上168还是一个完全平方数，请问该数是多少？<br />
分析：不知道这数字大小是多少，不知道这样的数字有几个，程序写起来效率不会高。开始写成while(x<INT_MAX)，后来发现求出的数字实际上很小且只有一个，但程序却运行了很长的时间，所以改成了while(x<SHRT_MAX)。最后计算出这个数字是156。代码如下:<span id="more-137"></span></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
</pre></td><td class="code"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#include	&lt;stdio.h&gt;</span>
<span style="color: #339933;">#include	&lt;limits.h&gt;</span>
<span style="color: #993333;">int</span>	main<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #993333;">unsigned</span> <span style="color: #993333;">short</span> x<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>			<span style="color: #666666; font-style: italic;">//符合条件的数字 </span>
	<span style="color: #993333;">unsigned</span> <span style="color: #993333;">short</span> y<span style="color: #339933;">;</span>
	<span style="color: #993333;">unsigned</span> <span style="color: #993333;">short</span> z<span style="color: #339933;">;</span>
	<span style="color: #b1b100;">do</span>
	<span style="color: #009900;">&#123;</span>
		y<span style="color: #339933;">=</span>sqrt<span style="color: #009900;">&#40;</span>x<span style="color: #339933;">+</span><span style="color: #0000dd;">100</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>		<span style="color: #666666; font-style: italic;">//取(x+100)的平方根 </span>
		z<span style="color: #339933;">=</span>sqrt<span style="color: #009900;">&#40;</span>x<span style="color: #339933;">+</span><span style="color: #0000dd;">168</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>		<span style="color: #666666; font-style: italic;">//取(x+168)的平方根 </span>
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>y<span style="color: #339933;">*</span>y<span style="color: #339933;">==</span>x<span style="color: #339933;">+</span><span style="color: #0000dd;">100</span><span style="color: #339933;">&amp;&amp;</span>z<span style="color: #339933;">*</span>z<span style="color: #339933;">==</span>x<span style="color: #339933;">+</span><span style="color: #0000dd;">168</span><span style="color: #009900;">&#41;</span>	<span style="color: #666666; font-style: italic;">//判断是否符合条件 </span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot; %d &quot;</span><span style="color: #339933;">,</span>x<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	<span style="color: #666666; font-style: italic;">//打印这个数字			</span>
		<span style="color: #009900;">&#125;</span>
		x<span style="color: #339933;">++;</span>			<span style="color: #666666; font-style: italic;">//累加x </span>
	<span style="color: #009900;">&#125;</span><span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span>x<span style="color: #339933;">&lt;</span>SHRT_MAX<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">return</span>	<span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>	
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://liumingquan.net/html/2009_07/100-cases-of-classic-c-program-3.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>经典C程序100例（2）</title>
		<link>http://liumingquan.net/html/2009_06/100-cases-of-classic-c-program-2.html</link>
		<comments>http://liumingquan.net/html/2009_06/100-cases-of-classic-c-program-2.html#comments</comments>
		<pubDate>Mon, 22 Jun 2009 02:10:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C语言]]></category>
		<category><![CDATA[c语言]]></category>
		<category><![CDATA[程序]]></category>
		<category><![CDATA[经典]]></category>

		<guid isPermaLink="false">http://liumingquan.net/?p=116</guid>
		<description><![CDATA[题目2：企业发放的奖金根据利润提成。利润(I)低于或等于10万元时，奖金可提10%；利润高于10万元，低于20万元时，低于10万元的部分按10%提成，高于10万元的部分，可提成7.5%；20万到40万之间时，高于20万元的部分，可提成5%；40万到60万之间时高于40万元的部分，可提成3%；60万到100万之间时，高于60万元的部分，可提成1.5%，高于100万元时，超过100万元的部分按1%提成，从键盘输入当月利润I，求应发放奖金总数？ 分析：题目出的有歧义，比如“20万到40万之间时，高于20万元的部分，可提成5%”，可是并没有提到这种情况下低于20万的部分如何处理，暂时理解成低于20万的部分，是按照“利润(I)低于或等于10万元时，奖金可提10%；利润高于10万元，低于20万元时，低于10万元的部分按10%提成，高于10万元的部分，可提成7.5%”来处理的。同样，利润每升一个台阶，都存在同样的问题。如果直接写if&#8230;else if的判断，那么20万之内的利润，还好判断，如果利润在20万到40万之间的话，20万以上的利润可以直接乘以5%，20万以下的利润，还要再判断一次是低于10万还是在10万到20万之间，利润每上一个台阶，就得多一个判断，这个思路写出来的程序可读性和可维护性都不高。所以要还另外一种思路。另外，因为要乘以小数，所以数据类型不要使用int，应使用double。 代码如下： 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 #include &#60;stdio.h&#62; &#160; int [...]]]></description>
			<content:encoded><![CDATA[<p>题目2：企业发放的奖金根据利润提成。利润(I)低于或等于10万元时，奖金可提10%；利润高于10万元，低于20万元时，低于10万元的部分按10%提成，高于10万元的部分，可提成7.5%；20万到40万之间时，高于20万元的部分，可提成5%；40万到60万之间时高于40万元的部分，可提成3%；60万到100万之间时，高于60万元的部分，可提成1.5%，高于100万元时，超过100万元的部分按1%提成，从键盘输入当月利润I，求应发放奖金总数？</p>
<p>分析：题目出的有歧义，比如“20万到40万之间时，高于20万元的部分，可提成5%”，可是并没有提到这种情况下低于20万的部分如何处理，暂时理解成低于20万的部分，是按照“利润(I)低于或等于10万元时，奖金可提10%；利润高于10万元，低于20万元时，低于10万元的部分按10%提成，高于10万元的部分，可提成7.5%”来处理的。同样，利润每升一个台阶，都存在同样的问题。如果直接写if&#8230;else if的判断，那么20万之内的利润，还好判断，如果利润在20万到40万之间的话，20万以上的利润可以直接乘以5%，20万以下的利润，还要再判断一次是低于10万还是在10万到20万之间，利润每上一个台阶，就得多一个判断，这个思路写出来的程序可读性和可维护性都不高。所以要还另外一种思路。另外，因为要乘以小数，所以数据类型不要使用int，应使用double。<span id="more-116"></span></p>
<p>代码如下：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
</pre></td><td class="code"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#include	&lt;stdio.h&gt;</span>
&nbsp;
<span style="color: #993333;">int</span>	main<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #993333;">double</span> I<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>		<span style="color: #666666; font-style: italic;">//利润</span>
	<span style="color: #993333;">double</span> prizeA<span style="color: #339933;">,</span>prizeB<span style="color: #339933;">,</span>prizeC<span style="color: #339933;">,</span>prizeD<span style="color: #339933;">,</span>prizeE<span style="color: #339933;">;</span>	<span style="color: #666666; font-style: italic;">//各阶段奖金的分频金额 </span>
	<span style="color: #993333;">double</span> prize<span style="color: #339933;">;</span>	<span style="color: #666666; font-style: italic;">//奖金总数</span>
&nbsp;
	prizeA <span style="color: #339933;">=</span> <span style="color: #0000dd;">100000</span><span style="color: #339933;">*</span><span style="color:#800080;">0.1</span><span style="color: #339933;">;</span>		<span style="color: #666666; font-style: italic;">//十万~二十万之间时，低于十万部分的分配方式 </span>
	prizeB <span style="color: #339933;">=</span> prizeA<span style="color: #339933;">+</span><span style="color: #0000dd;">100000</span><span style="color: #339933;">*</span><span style="color:#800080;">0.075</span><span style="color: #339933;">;</span>	<span style="color: #666666; font-style: italic;">//二十万~四十万之间时，低于二十万的部分的分配方式 </span>
	prizeC <span style="color: #339933;">=</span> prizeB<span style="color: #339933;">+</span><span style="color: #0000dd;">200000</span><span style="color: #339933;">*</span><span style="color:#800080;">0.05</span><span style="color: #339933;">;</span>	<span style="color: #666666; font-style: italic;">//四十万~六十万之间时，低于四十万的部分的分配方式</span>
	prizeD <span style="color: #339933;">=</span> prizeC<span style="color: #339933;">+</span><span style="color: #0000dd;">200000</span><span style="color: #339933;">*</span><span style="color:#800080;">0.03</span><span style="color: #339933;">;</span>	<span style="color: #666666; font-style: italic;">//六十万~一百万之间时，低于六十万的部分的分配方式</span>
	prizeE <span style="color: #339933;">=</span> prizeD<span style="color: #339933;">+</span><span style="color: #0000dd;">400000</span><span style="color: #339933;">*</span><span style="color:#800080;">0.015</span><span style="color: #339933;">;</span>	<span style="color: #666666; font-style: italic;">//一百万以上时，一百万以下的部分的分配方式 </span>
&nbsp;
	<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;当月的利润是?&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	scanf<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%lf&quot;</span><span style="color: #339933;">,&amp;</span>I<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>				<span style="color: #666666; font-style: italic;">//键盘录入利润 </span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//根据利润的范围计算奖金金额 </span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>I<span style="color: #339933;">&lt;=</span><span style="color: #0000dd;">100000</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		prize<span style="color: #339933;">=</span>I<span style="color: #339933;">*</span><span style="color:#800080;">0.1</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>I<span style="color: #339933;">&lt;=</span><span style="color: #0000dd;">200000</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		prize<span style="color: #339933;">=</span>prizeA<span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>I<span style="color: #339933;">-</span><span style="color: #0000dd;">100000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color:#800080;">0.075</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>I<span style="color: #339933;">&lt;=</span><span style="color: #0000dd;">400000</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		prize<span style="color: #339933;">=</span>prizeB<span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>I<span style="color: #339933;">-</span><span style="color: #0000dd;">200000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color:#800080;">0.05</span><span style="color: #339933;">;</span>	
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>I<span style="color: #339933;">&lt;=</span><span style="color: #0000dd;">600000</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		prize<span style="color: #339933;">=</span>prizeC<span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>I<span style="color: #339933;">-</span><span style="color: #0000dd;">400000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color:#800080;">0.03</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>I<span style="color: #339933;">&lt;=</span><span style="color: #0000dd;">1000000</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		prize<span style="color: #339933;">=</span>prizeD<span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>I<span style="color: #339933;">-</span><span style="color: #0000dd;">600000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color:#800080;">0.015</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>I<span style="color: #339933;">&gt;</span><span style="color: #0000dd;">1000000</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		prize<span style="color: #339933;">=</span>prizeE<span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>I<span style="color: #339933;">-</span><span style="color: #0000dd;">1000000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color:#800080;">0.01</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;奖金总数是：%.2f&quot;</span><span style="color: #339933;">,</span>prize<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	<span style="color: #666666; font-style: italic;">//打印奖金金额 </span>
&nbsp;
	<span style="color: #b1b100;">return</span>	<span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>	
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://liumingquan.net/html/2009_06/100-cases-of-classic-c-program-2.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>经典C程序100例（1）</title>
		<link>http://liumingquan.net/html/2009_06/100-cases-of-classic-c-program-1.html</link>
		<comments>http://liumingquan.net/html/2009_06/100-cases-of-classic-c-program-1.html#comments</comments>
		<pubDate>Mon, 22 Jun 2009 01:47:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C语言]]></category>
		<category><![CDATA[c语言]]></category>
		<category><![CDATA[程序]]></category>
		<category><![CDATA[经典]]></category>

		<guid isPermaLink="false">http://liumingquan.net/html/2009/06/%e7%bb%8f%e5%85%b8c%e7%a8%8b%e5%ba%8f100%e4%be%8b%ef%bc%881%ef%bc%89.html</guid>
		<description><![CDATA[网上找到了一本CHM格式的电子书，叫做《经典C程序100例》，这100个例程，是不是经典不必讨论，如果都过一遍的话，对学习C语言会有不小的帮助，就从第一个来吧。 题目1：有1、2、3、4个数字，能组成多少个互不相同且无重复数字的三位数？都是多少？ 分析：仔细想了一下，题面中“互不相同且无重复数字”尽管用到了“且”，其实是虚晃一枪，互不相同的话肯定就没有重复数字，这本是一个条件。因为是三位数，所以要用到三个循环的嵌套，最里层循环中作出数字是否符合条件的判断，如果符合条件，显示出来并记录数量，数量会在循环中累加，最后在循环之外显示出来符合条件数字的数量，程序结束。 代码如下： 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 /* 用1、2、3、4个数字，能组成多少个互不相同且无重复数字的三位数？各是多少？ */ &#160; #include &#60;stdio.h&#62; &#160; int main&#40;void&#41; &#123; unsigned char x; //百位数字 unsigned char y; //十位数字 [...]]]></description>
			<content:encoded><![CDATA[<p>网上找到了一本CHM格式的电子书，叫做《经典C程序100例》，这100个例程，是不是经典不必讨论，如果都过一遍的话，对学习C语言会有不小的帮助，就从第一个来吧。</p>
<p>题目1：有1、2、3、4个数字，能组成多少个互不相同且无重复数字的三位数？都是多少？<span id="more-113"></span></p>
<p>分析：仔细想了一下，题面中“互不相同且无重复数字”尽管用到了“且”，其实是虚晃一枪，互不相同的话肯定就没有重复数字，这本是一个条件。因为是三位数，所以要用到三个循环的嵌套，最里层循环中作出数字是否符合条件的判断，如果符合条件，显示出来并记录数量，数量会在循环中累加，最后在循环之外显示出来符合条件数字的数量，程序结束。</p>
<p>代码如下：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
</pre></td><td class="code"><pre class="c" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">/*
用1、2、3、4个数字，能组成多少个互不相同且无重复数字的三位数？各是多少？
*/</span>
&nbsp;
<span style="color: #339933;">#include	&lt;stdio.h&gt;</span>
&nbsp;
<span style="color: #993333;">int</span>	main<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> x<span style="color: #339933;">;</span>		<span style="color: #666666; font-style: italic;">//百位数字 </span>
	<span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> y<span style="color: #339933;">;</span>		<span style="color: #666666; font-style: italic;">//十位数字 </span>
	<span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> z<span style="color: #339933;">;</span>		<span style="color: #666666; font-style: italic;">//个位数字</span>
	<span style="color: #993333;">unsigned</span> <span style="color: #993333;">short</span> sum<span style="color: #339933;">;</span>		<span style="color: #666666; font-style: italic;">//组成的三位数 </span>
	<span style="color: #993333;">unsigned</span> <span style="color: #993333;">int</span> number<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>	<span style="color: #666666; font-style: italic;">//符合条件数字的数量 </span>
&nbsp;
	<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;符合条件的三位数包括：&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
	<span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span>x<span style="color: #339933;">=</span><span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>x<span style="color: #339933;">&lt;=</span><span style="color: #0000dd;">4</span><span style="color: #339933;">;</span>x<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>	<span style="color: #666666; font-style: italic;">//循环百位 </span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span>y<span style="color: #339933;">=</span><span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>y<span style="color: #339933;">&lt;=</span><span style="color: #0000dd;">4</span><span style="color: #339933;">;</span>y<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>	<span style="color: #666666; font-style: italic;">//循环十位 </span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span>z<span style="color: #339933;">=</span><span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>z<span style="color: #339933;">&lt;=</span><span style="color: #0000dd;">4</span><span style="color: #339933;">;</span>z<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>	<span style="color: #666666; font-style: italic;">//循环个位 </span>
			<span style="color: #009900;">&#123;</span>
				<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>x<span style="color: #339933;">!=</span>y<span style="color: #339933;">&amp;&amp;</span>y<span style="color: #339933;">!=</span>z<span style="color: #339933;">&amp;&amp;</span>z<span style="color: #339933;">!=</span>x<span style="color: #009900;">&#41;</span>	<span style="color: #666666; font-style: italic;">//判断条件为三个数字互不相同 </span>
				<span style="color: #009900;">&#123;</span>
					sum<span style="color: #339933;">=</span><span style="color: #0000dd;">100</span><span style="color: #339933;">*</span>x<span style="color: #339933;">+</span><span style="color: #0000dd;">10</span><span style="color: #339933;">*</span>y<span style="color: #339933;">+</span>z<span style="color: #339933;">;</span>	<span style="color: #666666; font-style: italic;">//组成这个数字 </span>
					<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot; %d &quot;</span><span style="color: #339933;">,</span>sum<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	<span style="color: #666666; font-style: italic;">//打印这个数字 </span>
					number<span style="color: #339933;">++;</span>			<span style="color: #666666; font-style: italic;">//计算数量 </span>
				<span style="color: #009900;">&#125;</span>			
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>符合条件的三位数的数量是 %d 个&quot;</span><span style="color: #339933;">,</span>number<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	<span style="color: #666666; font-style: italic;">//打印三位数的数量 </span>
	<span style="color: #b1b100;">return</span>	<span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> 
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://liumingquan.net/html/2009_06/100-cases-of-classic-c-program-1.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>丹尼斯.麦卡利斯泰尔.里奇(Dennis MacAlistair Ritchie)</title>
		<link>http://liumingquan.net/html/2009_04/dennis-macalistair-ritchie.html</link>
		<comments>http://liumingquan.net/html/2009_04/dennis-macalistair-ritchie.html#comments</comments>
		<pubDate>Tue, 28 Apr 2009 10:13:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C语言]]></category>
		<category><![CDATA[c语言]]></category>
		<category><![CDATA[Dennis MacAlistair Ritchie]]></category>
		<category><![CDATA[丹尼斯·麦卡利斯泰尔·里奇]]></category>

		<guid isPermaLink="false">http://liumingquan.net/html/2009/04/%e4%b8%b9%e5%b0%bc%e6%96%af%c2%b7%e9%ba%a6%e5%8d%a1%e5%88%a9%e6%96%af%e6%b3%b0%e5%b0%94%c2%b7%e9%87%8c%e5%a5%87dennis-macalistair-ritchie.html</guid>
		<description><![CDATA[丹尼斯·麦卡利斯泰尔·里奇（Dennis MacAlistair Ritchie，1941年9月9日生），出生于美国纽约布朗克斯维尔(Bronxville)。著名的美国计算机科学家，对C语言和其他编程语言、Multics和Unix等操作系统的发展做出了巨大贡献。 里奇在哈佛大学学习物理学和应用数学毕业，1967年他进入贝尔实验室，主管贝尔实验室位于新泽西州的计算机科学研究中心的系统软件研究部门，目前他是朗讯技术公司系统软件研究部门的领导人。1983年他与肯·汤普逊一起获得了图灵奖。理由是他们“研究发展了通用的操作系统理论，尤其是实现了UNIX操作系统”。1999年两人为发展C语言和Unix操作系统一起获得了美国国家技术奖章。 当有人问里奇为什么使用他使用的方式开发了C语言的时候，里奇回答说“这样做看上去很好”，他说任何人在同一地方、同一时间会像他那样做的。但是其他许多人认为这只不过反映出了里奇的谦虚。C++的开发者和设计师、里奇在贝尔实验室的同事比雅尼·斯特劳斯特鲁普说：“假如里奇决定在那十年里将他的精力花费在稀奇古怪的数学上，那么Unix将胎死腹中。” 事实上，丹尼斯·里奇与肯·汤普逊两人发展了C语言，同时发展了Unix操作系统，在电脑工业史上占有重要的席位。至今为止C语言在发展软件和操作系统时依然是一个非常常用的电脑语言，它对许多现代的编程语言如C++、C#、Objective-C、Java和JavaScript拥有极大的影响。在操作系统方面Unix也具有极大的影响：今天市场上有许多不同的Unix方言如AIX、Solaris、Mac OS X和BSD等，以及与Unix非常相似的系统如Minix和非常普及的Linux操作系统。甚至其Microsoft Windows操作系统与Unix相竞争的微软为他们的用户和开发者提供了与Unix相容的工具和C语言编译器。 里奇还参加发展了Unix和C语言的两个后继软件：Plan 9和Inferno操作系统以及Limbo语言。两者均是基于他以前的工作上发展的。 在技术讨论中，他常被称为dmr，这是他在贝尔实验室的Email地址。值得注意的是，虽然丹尼斯·里奇是C语言的作者，他本人最喜欢的程序语言却是Alef。 著作： * 《C程序设计语言》 * 《Unix Programmer&#8217;s Manual》]]></description>
			<content:encoded><![CDATA[<p>丹尼斯·麦卡利斯泰尔·里奇（Dennis MacAlistair Ritchie，1941年9月9日生），出生于美国纽约布朗克斯维尔(Bronxville)。著名的美国计算机科学家，对C语言和其他编程语言、Multics和Unix等操作系统的发展做出了巨大贡献。</p>
<p>里奇在哈佛大学学习物理学和应用数学毕业，1967年他进入贝尔实验室，主管贝尔实验室位于新泽西州的计算机科学研究中心的系统软件研究部门，目前他是朗讯技术公司系统软件研究部门的领导人。1983年他与肯·汤普逊一起获得了图灵奖。理由是他们“研究发展了通用的操作系统理论，尤其是实现了UNIX操作系统”。1999年两人为发展C语言和Unix操作系统一起获得了美国国家技术奖章。<span id="more-15"></span></p>
<p>当有人问里奇为什么使用他使用的方式开发了C语言的时候，里奇回答说“这样做看上去很好”，他说任何人在同一地方、同一时间会像他那样做的。但是其他许多人认为这只不过反映出了里奇的谦虚。C++的开发者和设计师、里奇在贝尔实验室的同事比雅尼·斯特劳斯特鲁普说：“假如里奇决定在那十年里将他的精力花费在稀奇古怪的数学上，那么Unix将胎死腹中。”</p>
<div id="attachment_13" class="wp-caption aligncenter" style="width: 321px"><img class="size-full wp-image-13" title="ken_n_dennis" src="http://0n5qzq.blu.livefilestore.com/y1pSzKNOVz2msfdBdsjuCXZVB7M9scSN-FX_4j_QTgIZQHsq-53gftcFSLmpi_g2F8KpB4ieWOswR89hg-NLA3bFQ/ken_n_dennis.jpg" alt="肯·汤普逊(左)和丹尼斯·里奇(右)" width="311" height="202" /><p class="wp-caption-text">肯·汤普逊(左)和丹尼斯·里奇(右)</p></div>
<p>事实上，丹尼斯·里奇与肯·汤普逊两人发展了C语言，同时发展了Unix操作系统，在电脑工业史上占有重要的席位。至今为止C语言在发展软件和操作系统时依然是一个非常常用的电脑语言，它对许多现代的编程语言如C++、C#、Objective-C、Java和JavaScript拥有极大的影响。在操作系统方面Unix也具有极大的影响：今天市场上有许多不同的Unix方言如AIX、Solaris、Mac OS X和BSD等，以及与Unix非常相似的系统如Minix和非常普及的Linux操作系统。甚至其Microsoft Windows操作系统与Unix相竞争的微软为他们的用户和开发者提供了与Unix相容的工具和C语言编译器。</p>
<p>里奇还参加发展了Unix和C语言的两个后继软件：Plan 9和Inferno操作系统以及Limbo语言。两者均是基于他以前的工作上发展的。</p>
<p>在技术讨论中，他常被称为dmr，这是他在贝尔实验室的Email地址。值得注意的是，虽然丹尼斯·里奇是C语言的作者，他本人最喜欢的程序语言却是Alef。</p>
<div id="attachment_14" class="wp-caption aligncenter" style="width: 365px"><img class="size-full wp-image-14" title="Dennis MacAlistair Ritchie" src="http://0n5qzq.blu.livefilestore.com/y1pCmdRtXh76KzGR0C8A5j4dWSxrTet1vYvzt1H4uQIENdGBho6sKr3Y7n7Im3ufd5yUpnCnbOu6XhVvD2pPVCHRmaKSr_pwGhI/dennis_ritchie6.jpg" alt="Dennis MacAlistair Ritchie" width="355" height="342" /><p class="wp-caption-text">Dennis MacAlistair Ritchie</p></div>
<p>著作：<br />
* 《C程序设计语言》<br />
* 《Unix Programmer&#8217;s Manual》</p>
]]></content:encoded>
			<wfw:commentRss>http://liumingquan.net/html/2009_04/dennis-macalistair-ritchie.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

