读书人

找工作笔试口试那些事儿(7)-测试题答案

发布时间: 2013-09-05 16:02:07 作者: rapoo

找工作笔试面试那些事儿(7)---测试题答案

一、请填写BOOL , float, 指针变量 与“零值”比较的 if 语句。

提示:这里“零值”可以是0 , 0.0 , FALSE 或者“空指针”。例如 int 变量 n 与“零值”

比较的 if 语句为:

if ( n == 0 )

if ( n != 0 )

以此类推。

请写出 BOOL flag 与“零值”比较的 if 语句:

if ( flag )

if ( !flag )

请写出 float x 与“零值”比较的 if 语句:

const float EPSINON = 0.00001;

if ((x >= - EPSINON) && (x <= EPSINON)

不可将浮点变量用“==”或“!= ”与数字比较,应该设法转化成“>=”或“ <=”此类形式

请写出 char *p 与“零值”比较的 if 语句:

if (p == NULL)

if (p != NULL)

二、以下为Windows XP 下的32位C++ 程序,请计算size of 的值

// String 的析构函数  String : : ~String(void)               {   delete [] m_data;                        //  由于m_data是内部数据类型,也可以写成 delete m_data;  }// String 的普通构造函数                String : : String(const char *str)      // 6 分 {   if(str==NULL)                            {     m_data = new char[1];    // 若能加 NULL 判断则更好   *m_data = ‘ \ 0 ’ ;                         }                                           else  {     int length = strlen(str);                m_data = new char[length+1];  //  若能加 NULL 判断则更好           strcpy(m_data, str);                  } }   //  拷贝构造函数   String::String(const String &other)   // 3 分  {    int length = strlen(other.m_data);      m_data = new char[length+1];      //  若能加 NULL 判断则更好       strcpy(m_data, other.m_data);          } //  赋值函数   String & String::operate =(const String &other)    // 13分  {    // (1) 检查自赋值                     // 4 分   if(this ==  &other)    return *this;   // (2)  释放原有的内存资源            // 3 分   delete []  m_data;      // (3 )分配新的内存资源,并复制内容 // 3 分   int length = strlen(other.m_data);     m_data = new char[length+1];         // 若能加 NULL 判断则更好   strcpy(m_data, other.m_data);      // (4 )返回本对象的引用            // 3 分   return *this; }  


读书人网 >编程

热点推荐