就业数据资源平台
当前位置:首页 > 笔试题目
普天C++笔试题及答案



  1.实现双向链表删除一个节点P,在节点P后插入一个节点,写出这两个函数。



  void DeleteNode(DuNode *p)



  {



  p->prior->next=p->next;



  p->next->prior=p->prior;



  free(p);



  }



  void InsertNode(DuNode *p, DuNode *s)//Node "s" is inserted after "p"



  {



  s->next=p->next;



  p->next->prior=s;



  p->next=s;



  s->prior=p;



  }



  2.写一个函数,将其中的/t都转换成4个空格.



  /* Name: Copyright: Author: 52coder



  Date: 12-07-03 16:40



  Description: 写一个函数,将其中的/t都转换成4个空格



  */



  #include



  using namespace std;



  char* Convert_t(char *des,char *src)



  {



  char *temp;



  des=new char[100];



  temp=des;



  while(*src!='/0')



  {



  if(*src=='/t')



  {



  src++;



  *des++=' ';



  *des++=' ';



  *des++=' ';



  *des++=' ';



  continue;



  }



  *des++=*src++;



  }



  *des='/0';



  des=temp;



  return des;



  }



  int main()



  {



  char *t="asdf/tasd/tasasddas//tdfasdf",*d;



  cout<



  cout<



  getchar();



  }



  3.Windows程序的入口是哪里?写出Windows消息机制的流程。



  WINDOWS入口是WinMain函数



  消息机制的流程:



  系统中发生了某个事件



  Windows把这个事件翻译为消息,然后把它放到消息队列中



  应用程序从消息队列中接收到这个消息,把它存放在TMsg记录中



  应用程序把消息传递给一个适当的窗口的窗口过程



  窗口过程响应这个消息并进行处理



  4.如何定义和实现一个类的成员函数为回调函数?



  如果类的成员函数是一个callback函数, 必须宣告它为”static”,才能把C++ 编译器加诸于函数的一个隐藏参数this去掉。



  5.C++里面是不是所有的动作都是main()引起的?如果不是,请举例。



  不是的,C++里面有些动作不是引起的,比如,全局对象的实例化、全局变量的动态空间申请,等等.



  下面是一个例子:



  #include



  using namespace std;



  //全局变量的动态空间申请在程序运行之后,main运行之前完成。所以不是所有的动作都是main引起的



  char *des=new char[100];



  int main()



  {



  char *des="abc";



  cout<



  getchar();



  }



  6.C++里面如何声明const void f(void)函数为C程序中的库函数?



  extern “C” const void f(void);



  这样声明之后,相当于告诉C, 函数const void f(void)是在C++语言的文件中声明或者实现的,c程序可以使用这个C++中的函数了,从而实现C++和c的混合编程。



  7.下列哪两个是等同的



  int b;



  A const int *a = &b; //指针a所指内容是常量,等同于int const *a,



  B const * int a = &b; //没有这种写法 ,只有int *const a,指针a是常量



  C const int* const a = &b; //指针a是常量,所指的内容也是常量



  D int const* const a = &b; //指针a是常量,所指的内容也是常量



  所以C和D是一样的



  8.内联函数在编译时是否做参数类型检查?



  内联函数和普通函数都要做类型检查,宏不做类型检查。



就业数据资源平台