﻿<?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>IT博客-chlclan-随笔分类-Find Job</title><link>http://www.cnitblog.com/chlclan/category/3030.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 28 Sep 2011 02:34:45 GMT</lastBuildDate><pubDate>Wed, 28 Sep 2011 02:34:45 GMT</pubDate><ttl>60</ttl><item><title>一套C/C++面试题</title><link>http://www.cnitblog.com/chlclan/archive/2006/06/22/12669.html</link><dc:creator>Enjoy Life</dc:creator><author>Enjoy Life</author><pubDate>Thu, 22 Jun 2006 01:45:00 GMT</pubDate><guid>http://www.cnitblog.com/chlclan/archive/2006/06/22/12669.html</guid><wfw:comment>http://www.cnitblog.com/chlclan/comments/12669.html</wfw:comment><comments>http://www.cnitblog.com/chlclan/archive/2006/06/22/12669.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnitblog.com/chlclan/comments/commentRss/12669.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/chlclan/services/trackbacks/12669.html</trackback:ping><description><![CDATA[
		<font face="Courier New">
				<span class="tpc_content">
						<font size="2">本试题仅用于考查C++/C程序员的基本编程技能。内容限于C++/C常用语法，不涉及数据结构、算法以及深奥的语法。考试成绩能反映出考生的编程质量以及对C++/C的理解程度，但不能反映考生的智力和软件开发能力。 <br />笔试时间90分钟。请考生认真答题，切勿轻视。<br /><br /><br /><br />一、请填写BOOL , float, 指针变量 与“零值”比较的 if 语句。（10分）<br />提示：这里“零值”可以是0, 0.0 , FALSE或者“空指针”。例如 int 变量 n <br />与“零值”比较的 if 语句为：<br />if ( n == 0 )<br />if ( n != 0 )<br />以此类推。<br />请写出 BOOL flag 与“零值”比较的 if 语句：<br />请写出 float x 与“零值”比较的 if 语句：<br />请写出 char *p 与“零值”比较的 if 语句：<br />二、以下为Windows NT下的32位C++程序，请计算sizeof的值（10分）<br />char str[] = “Hello” ;<br />char *p = str ;<br />int n = 10;<br />请计算<br />sizeof (str ) = <br />sizeof ( p ) = <br />sizeof ( n ) = void Func ( char str[100])<br />{<br />请计算<br />sizeof( str ) = <br />}<br />void *p = malloc( 100 );<br />请计算<br />sizeof ( p ) =<br /><br />三、简答题（25分）<br />1、头文件中的 ifndef/define/endif 干什么用？<br />2、#include 和 #include “filename.h” 有什么区别？<br />3、const 有什么用途？（请至少说明两种）<br />4、在C++ 程序中调用被 C编译器编译后的函数，为什么要加 extern “C”声明？<br />5、请简述以下两个for循环的优缺点<br />// 第一个<br />for (i=0; i <br />{<br />if (condition)<br />DoSomething();<br />else<br />DoOtherthing();<br />} // 第二个<br />if (condition)<br />{<br />for (i=0; i <br />DoSomething();<br />}<br />else<br />{<br />for (i=0; i <br />DoOtherthing();<br />}<br />优点：<br />缺点：<br />优点：<br />缺点：<br />四、有关内存的思考题（20分）<br />void GetMemory(char *p)<br />{<br />p = (char *)malloc(100);<br />}<br />void Test(void) <br />{<br />char *str = NULL;<br />GetMemory(str); <br />strcpy(str, "hello world");<br />printf(str);<br />}<br />请问运行Test函数会有什么样的结果？<br />答：<br /><br />char *GetMemory(void)<br /><br />{ <br /><br />char p[] = "hello world";<br /><br />return p;<br /><br />}<br /><br />void Test(void)<br /><br />{<br /><br />char *str = NULL;<br /><br />str = GetMemory(); <br /><br />printf(str);<br /><br />}<br />请问运行Test函数会有什么样的结果？<br /><br />答：<br /><br />Void GetMemory2(char **p, int num)<br />{<br />*p = (char *)malloc(num);<br />}<br />void Test(void)<br />{<br />char *str = NULL;<br />GetMemory(&amp;str, 100);<br />strcpy(str, "hello"); <br />printf(str); <br />}<br />请问运行Test函数会有什么样的结果？<br />答：<br />void Test(void)<br />{<br />char *str = (char *) malloc(100);<br />strcpy(str, “hello”);<br />free(str); <br />if(str != NULL)<br />{<br />strcpy(str, “world”); <br />printf(str);<br />}<br />}<br />请问运行Test函数会有什么样的结果？<br /><br />答：<br />五、编写strcpy函数（10分）<br />已知strcpy函数的原型是<br />char *strcpy(char *strDest, const char *strSrc);<br />其中strDest是目的字符串，strSrc是源字符串。<br />（1）不调用C++/C的字符串库函数，请编写函数 strcpy<br />（2）strcpy能把strSrc的内容复制到strDest，为什么还要char * 类型的返回值？<br />六、编写类String的构造函数、析构函数和赋值函数（25分）<br />已知类String的原型为：<br />class String<br />{<br />public:<br />String(const char *str = NULL); // 普通构造函数<br />String(const String &amp;other); // 拷贝构造函数<br />~ String(void); // 析构函数<br />String &amp; operate =(const String &amp;other); // 赋值函数<br />private:<br />char *m_data; // 用于保存字符串<br />};<br />请编写String的上述4个函数。<br />************************************************************************ Key***********<br /><br />************************************************************************ Key************<br /><br />一、请填写BOOL , float, 指针变量 与“零值”比较的 if 语句。（10分）<br /><br /><br />请写出 BOOL flag 与“零值”比较的 if 语句。（3分）<br /><br />标准答案：<br /><br />if ( flag )<br /><br />if ( !flag )<br />如下写法均属不良风格，不得分。<br /><br />if (flag == TRUE) <br /><br />if (flag == 1 ) <br /><br />if (flag == FALSE) <br /><br />if (flag == 0) <br /><br />请写出 float x 与“零值”比较的 if 语句。（4分）<br /><br />标准答案示例：<br /><br />const float EPSINON = 0.00001;<br /><br />if ((x &gt;= - EPSINON) &amp;&amp; (x &lt;= EPSINON)<br /><br />不可将浮点变量用“==”或“！=”与数字比较，应该设法转化成“&gt;=”或“&lt;=”此类形式。<br /><br /><br /><br /><br />如下是错误的写法，不得分。<br /><br />if (x == 0.0) <br /><br />if (x != 0.0) <br /><br /><br /><br />请写出 char *p 与“零值”比较的 if 语句。（3分）<br /><br />标准答案：<br /><br />if (p == NULL)<br /><br />if (p != NULL)<br />如下写法均属不良风格，不得分。<br /><br />if (p == 0) <br /><br />if (p != 0) <br /><br />if (p) <br /><br />if (!) <br /><br /><br /><br />二、以下为Windows NT下的32位C++程序，请计算sizeof的值（10分）<br /><br /><br />char str[] = “Hello” ;<br /><br />char *p = str ;<br /><br />int n = 10;<br /><br />请计算<br /><br />sizeof (str ) = 6 （2分） <br /><br /><br />sizeof ( p ) = 4 （2分）<br /><br /><br />sizeof ( n ) = 4 （2分）<br />void Func ( char str[100])<br /><br />{<br /><br />请计算<br /><br />sizeof( str ) = 4 （2分）<br /><br />}<br /><br /><br /><br />void *p = malloc( 100 );<br /><br />请计算<br /><br />sizeof ( p ) = 4 （2分）<br /><br /><br /><br /><br /><br />三、简答题（25分）<br /><br /><br />1、头文件中的 ifndef/define/endif 干什么用？（5分）<br /><br />答：防止该头文件被重复引用。<br /><br /><br />2、#include 和 #include “filename.h” 有什么区别？（5分）<br /><br />答：对于#include</font>
				</span>
				<br />
				<!---->
		</font>
<img src ="http://www.cnitblog.com/chlclan/aggbug/12669.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/chlclan/" target="_blank">Enjoy Life</a> 2006-06-22 09:45 <a href="http://www.cnitblog.com/chlclan/archive/2006/06/22/12669.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ｃ语言面试题及解答（英文版）</title><link>http://www.cnitblog.com/chlclan/archive/2006/06/22/12668.html</link><dc:creator>Enjoy Life</dc:creator><author>Enjoy Life</author><pubDate>Thu, 22 Jun 2006 01:42:00 GMT</pubDate><guid>http://www.cnitblog.com/chlclan/archive/2006/06/22/12668.html</guid><wfw:comment>http://www.cnitblog.com/chlclan/comments/12668.html</wfw:comment><comments>http://www.cnitblog.com/chlclan/archive/2006/06/22/12668.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnitblog.com/chlclan/comments/commentRss/12668.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/chlclan/services/trackbacks/12668.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1. What is the difference between #include &lt;filename&gt; and #include "filename"?																										When writing your C program, you can include files in two ways.The first way is ...&nbsp;&nbsp;<a href='http://www.cnitblog.com/chlclan/archive/2006/06/22/12668.html'>阅读全文</a><img src ="http://www.cnitblog.com/chlclan/aggbug/12668.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/chlclan/" target="_blank">Enjoy Life</a> 2006-06-22 09:42 <a href="http://www.cnitblog.com/chlclan/archive/2006/06/22/12668.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>c语言面试试题</title><link>http://www.cnitblog.com/chlclan/archive/2006/06/12/12108.html</link><dc:creator>Enjoy Life</dc:creator><author>Enjoy Life</author><pubDate>Mon, 12 Jun 2006 06:48:00 GMT</pubDate><guid>http://www.cnitblog.com/chlclan/archive/2006/06/12/12108.html</guid><wfw:comment>http://www.cnitblog.com/chlclan/comments/12108.html</wfw:comment><comments>http://www.cnitblog.com/chlclan/archive/2006/06/12/12108.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/chlclan/comments/commentRss/12108.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/chlclan/services/trackbacks/12108.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 4.    static有什么用途？（请至少说明两种）1.限制变量的作用域2.设置变量的存储域7.    引用与指针有什么区别？1) 引用必须被初始化，指针不必。2) 引用初始化以后不能被改变，指针可以改变所指的对象。2) 不存在指向空值的引用，但是存在指向空值的指针。8.    描述实时系统的基本特性在特定时间内完成特定的任务，实时性与可靠性9.    全局变量和局部变量在内存中是否有区别？...&nbsp;&nbsp;<a href='http://www.cnitblog.com/chlclan/archive/2006/06/12/12108.html'>阅读全文</a><img src ="http://www.cnitblog.com/chlclan/aggbug/12108.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/chlclan/" target="_blank">Enjoy Life</a> 2006-06-12 14:48 <a href="http://www.cnitblog.com/chlclan/archive/2006/06/12/12108.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>