笔试指导:微软研究院笔试题目
2008-09-22 09:25:00 来源:爱博仁人力资源网信息中心 作者:小杰采编 浏览46次
1.#include <stdio.h>
#include <String.h>
class CBuffer
{
char * m_pBuffer;
int m_size;
publc:
CBuffer()
{
m_pBuffer=NULL;
}
~CBuffer()
{
Free();
}
void Allocte(int size)
{
m_size=size;
m_pBuffer= new char[size];
}
private:
void Free()
{
if(m_pBuffer!=NULL)
{
delete m_pBuffer;
m_pBuffer=NULL;
}
}
public:
void SaveString(const char* pText) const
{ 我是应届生
strcpy(m_pBuffer, pText);
char* GetBuffer() const
{
return m_pBuffer; }
};
void main (int argc, char* argv[])
{
cBuffer buffer1;
buffer1.SaveString(“Microsoft”);
printf(buffer1.GetBuffer());
}
}
找出Allocate, SaveString, main的错误。
2.打印“Welcome MSR Asia”
#include <stdio.h>
#include <string.h>
char * GetName (void)
{
//To return “MSR Asia” String
char name[]=“MSR Asia”;
return name;
}
void main(int argc, char* argv[])
{
char name[32];
//Fill in zeros into name
for(int i=0;i<=32;i++)
{
name[1]=\0;
}
//copy “Welcome” to name
name=“Welcome”;
//Append a blank char
name[8]=”;
//Append string to name
strcat(name,GetName());
//print out
printf(name);
}
找出程序中的错误。
3.#include <stdio.h>
class A
{
public:
void FuncA()
{
printf(“FuncA called\n”);
}
virtual void FuncB()
{
printf(“FuncB called\n”);
}
};
class B: public A
{
public:
void FuncA()
{
A::FuncA();
printf(“FuncAB called\n”);
}
virtual void FuncB()
{
printf(“FuncBB called\n”); }
};
void main(void)
{
B b;
A *pa;
pa=&b;
A *pa2=new A;
b.FuncA();
www.54yjs.cn
b.FuncB();
pa->FuncA();
pa->FuncB();
pa2->FuncA();
pa2->FuncB();
delete pa2;
} ww
What is the output of the above program? 我
4.#include <stdio.h>
#include <string.h>
int FindSubString(char* pch)
{
int count=0; ww
char* p1=pch;
while(*p1!=‘\0’)
{
if(*p1==p1[1]-1)
{ www
p1++; ww
count++; ww
}
else
{
break;
}
}
int count2=count;
while(*p1!=‘\0’)
{
if(*p1!==p1[1]+1)
{
p1++;
count2--;
}
else
{
break;
}
if(count2==0)
return count;
return 0;
}
void ModifyString(char* pText)
{
char* p1=pText;
char* p2=p1;
while(*p1!=‘\0’)
{
int count=FindSubString(p1);
if(count>0)
{
*p2++=*p1;
sprintf(p2, “%I”, count);
while(*p2!= ‘\0’)
{
p2++;
}
p1+=count+count+1;
}
else 我是
{
*p2++=*p1++;
}
}
}
void main(void)
{
char text[32]=“XYBCDCBABABA”;
ModifyString(text);
printf(text);
}
In the main() function, after ModifyString(text) is called, what’s
the value of ‘text’?
责任编辑:xiejie
标签:
爱博仁人力资源官网版权与免责声明:
1、本网转载其他媒体,目的在于传递信息,并不代表赞同其观点和对其真实性负责,本网不承担此类稿件侵权行为的连带责任。
2、如本网所转载稿件涉及版权等问题,请著作权或版权拥有机构致电或来函与本网联系,本网将在第一时间处理妥当。如有侵犯您的名誉权或其他权利,亦请及时通知本网。本网在审慎确认后,将即刻予以删除。
3、本网原创文章未经本网允许,私自转载者本网保留追究其版权责任的权利,转载请注明来源:爱博仁人力资源官网:http://www.abler.cn。
发表评论
发表评论须知:
一、所发文章必须遵守《互联网电子公告服务管理规定》;
二、严禁发布供求代理信息、公司介绍、产品信息等广告宣传信息;
三、严禁恶意重复发帖;
四、严禁对个人、实体、民族、国家等进行漫骂、污蔑、诽谤。