就业数据资源平台
当前位置:首页 > 笔试题目
一些知名公司的笔试题目










这是微软的.


写出下列算法的时间复杂度。

(1)冒泡排序;

(2)选择排序;

(3)插入排序;

(4)快速排序;

(5)堆排序;

(6)归并排序;


2写出下列程序在X86上的运行结果。


struct mybitfields

{

unsigned short a : 4;

unsigned short b : 5;

unsigned short c : 7;

}test


void main(void)

{

int i;

test.a=2;

test.b=3;

test.c=0;


i=*((short *)&test);

printf("%dn",i);

}


3写出下列程序的运行结果。


unsigned int i=3;

cout<<i * -1;


4写出下列程序所有可能的运行结果。


int a;

int b;

int c;


void F1()

{

b=a*2;

a=b;

}


void F2()

{

c=a+1;

a=c;

}


main()

{

a=5;

//Start F1,F2 in parallel

F1(); F2();

printf("a=%dn",a);

}


5考察了一个CharPrev()函数的作用。


6对 16 Bits colors的处理,要求:

(1)Byte转换为RGB时,保留高5、6bits;

(2)RGB转换为Byte时,第2、3位置零。


7一个链表的操作,注意代码的健壮和安全性。要求:

(1)增加一个元素;

(2)获得头元素;

(3)弹出头元素(获得值并删除)。


8一个给定的数值由左边开始升位到右边第N位,如

0010<<1 == 0100

或者

0001 0011<<4 == 0011 0000

请用C或者C++或者其他X86上能运行的程序实现。


附加题(只有在完成以上题目后,才获准回答)

In C++, what does "explicit" mean? what does "protected" mean?


这是SONY的


1.完成下列程序

  *

  *.*.

  *..*..*..

  *...*...*...*...

  *....*....*....*....*....

  *.....*.....*.....*.....*.....*.....

  *......*......*......*......*......*......*......

  *.......*.......*.......*.......*.......*.......*.......*.......

  #include <stdio.h>

  #define N 8

  int main()

  {

   int i;

   int j;

   int k;

   ---------------------------------------------------------

   | |

   | |

   | |

   ---------------------------------------------------------

   return 0;

  }

  2.完成程序,实现对数组的降序排序

  #include <stdio.h>

  void sort( );

  int main()

  {

   int array[]={45,56,76,234,1,34,23,2,3}; //数字任//意给出

   sort( );

   return 0;

  }

  void sort( )

  {

   ____________________________________

   | |

   | |

   |-----------------------------------------------------|

  }

  3.费波那其数列,1,1,2,3,5……编写程序求第十项。可以用递归,也可以用其他方法,但要说明你选择的理由。

  #include <stdio.h>

  int Pheponatch(int);

  int main()

  {

   printf("The 10th is %d",Pheponatch(10));

   return 0;

  }

  int Pheponatch(int N)

  {

  --------------------------------

  | |

  | |

  --------------------------------

  }

  4.下列程序运行时会崩溃,请找出错误并改正,并且说明原因。

  #include <stdio.h>

  #include <malloc.h>

  typedef struct{

   TNode* left;

   TNode* right;

   int value;

  } TNode;

  TNode* root=NULL;

  void append(int N);

  int main()

  {

   append(63);

   append(45);

   append(32);

   append(77);

   append(96);

   append(21);

   append(17); // Again, 数字任意给出

  }

  void append(int N)

  {

   TNode* NewNode=(TNode *)malloc(sizeof(TNode));

   NewNode->value=N;

  

   if(root==NULL)

   {

   root=NewNode;

   return;

   }

   else

   {

   TNode* temp;

   temp=root;

   while((N>=temp.value && temp.left!=NULL) || (N<temp. value && temp. right!=NULL

  ))

   {

   while(N>=temp.value && temp.left!=NULL)

   temp=temp.left;

   while(N<temp.value && temp.right!=NULL)

   temp=temp.right;

   }

   if(N>=temp.value)

   temp.left=NewNode;

   else

   temp.right=NewNode;

   return;

   }

  }


联想笔试题

  1.设计函数 int atoi(char *s)。

  2.int i=(j=4,k=8,l=16,m=32); printf(“%d”, i); 输出是多少?

  3.解释局部变量、全局变量和静态变量的含义。

  4.解释堆和栈的区别。

  5.论述含参数的宏与函数的优缺点。

  普天C++笔试题

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

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

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

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

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

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

  7.下列哪两个是等同的

  int b;

  A const int* a = &b;

  B const* int a = &b;

  C const int* const a = &b;

  D int const* const a = &b;

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

  void g(base & b){

   b.play;

  }

  void main(){

   son s;

   g(s);

   return;

  }


呵呵!都是些基础的东西,所以大家还是别一味的追求新技术,打好基础才是上上策!!


 




就业数据资源平台