收藏 分销(赏)

经典的经纬博客笔试题详解分享.doc

上传人:pc****0 文档编号:6276199 上传时间:2024-12-04 格式:DOC 页数:12 大小:60KB 下载积分:10 金币
下载 相关 举报
经典的经纬博客笔试题详解分享.doc_第1页
第1页 / 共12页
经典的经纬博客笔试题详解分享.doc_第2页
第2页 / 共12页


点击查看更多>>
资源描述
我的笔试之一:仟游篇 转自新浪经纬博客 1.输出  char s1[]="2kgames";  char* s2[]={"2kgames" };  char s3[20]="2kgames";  cout<<sizeof(s1)<<endl;  cout<<sizeof(s2)<<endl;  cout<<sizeof(s3)<<endl;  cout<<strlen(s1)<<endl;  cout<<strlen(s3)<<endl;   答案:8 4 20 7 7   2.输出 class A { public:  A() {  p();  }  ~A(){  p(); }  virtual void p() {  q(); }    virtual void q() {  cout<<'A'; } };   class B:public A { public:  B() {  p(); }  ~B() {  p(); }  void q() {  cout<<'B'; } };   int main() {     A* p=new B;     delete p; }   答案:ABA   3. 用一个C语言表达式判断一个数是否位2的N次幂。   答案:x == (((x ^ (~0x0)) + 1) & x)   4. 写一个高性能的函数把一个int乘以9   答案: int Multiply_9(int a) {  return ((a<<3)+a); }   5.请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1 解答: int checkCPU() {   union w   {    int a;    char b;   } c;   c.a = 1;   return (c.b == 1); }   6.int (* (*f)(int, int))(int)这里的f是什么?   答案: f是指针,指向一个参数为(int,int),返回值为一个指针的函数 这个返回的指针指向一个参数为(int),返回值为int的函数 我的笔试之二:思科篇 · 1. typedef struct {  char data[10]; }T1;   typedef struct {  T1* p;  char data[0]; }T2; sizeof(T2)==?   答案: 4   2.含N个元素的一个数组,数组的值的范围是1~N-1,找出重复的那个值。   答案: int array[N];   int FindRepeat(void) {    int flag[N]={0};    int i;    for(i=0;i<N;i++)    {       if(flag[array[i]]==1)          return array[i];       else          flag[array[i]]=1;    } }   3.下面哪些编译通不过?   A void T()   {      const int N=100;      int a[N];      a[2]=42;    }   B void T()   {      *((int* const)0x23567890)=5;   }   C char* fuc(void)   {      char a[4];      strcpy(a,"abcd");      return a;    }   答案: ABC都可以通过编译。 我的笔试之三:趋势科技篇 · 1. 找错误 (1) void Test(const int v)     {         int* p;         p=v;     }   答案:不能把非const指针指向const变量。应该是:const int* p;   (2) void Test(const int& v)     {         const int& p;         p=v;      }   答案:引用必须在定义的时候初始化。应该是:const int& p=v;   2. 编程题,翻转链表。   答案:   typedef struct node {  int value;  struct node* next; }SLink;   SLink* ReverseLink(SLink* h) {  SLink* pre,*cur,*next;  pre=NULL;  cur=h;  next=cur->next;  while(next)  {     cur->next=pre;     pre=cur;     cur=next;     next=next->next;  }  return cur; }   3.写出输出结果 class A { public:  A() {  f(0); }  virtual void f(int n)  {   cout<<"A0:"<<n<<endl;  }  virtual void f(int n) const  {   cout<<"A1:"<<n<<endl;  }  virtual void f(char* s)  {   cout<<"A2:"<<s<<endl;  } }; class B:public A { public:   void f(int n)   {     cout<<"B0:"<<n<<endl;   }   void f(char* s)   {     cout<<"B1:<<s<<endl;   } };   int main() {    A* p;    const A* cp;    B b;    p=&b;    p->f(1);    p->f("test");    A().f(2);    cp=&b;    cp->f(2); }   答案: A0:0 B0:1 B1:test A0:0 A0:2 A1:2   4. UTP(非屏蔽双绞线)的传输距离是?   答案:100m   5.176.68.160.0/22的子网掩码是:   答案:255.255.252.0 我的笔试之四:先锋商泰篇 1.下面表达式正确的是: A. char* const s="hello";    *s='w'; B. char* const s="hello";    s="world"; C. const char* s="hello";    *s='w'; D. const char* s="hello";    s="world";    答案:D   2.下面表达式正确的是: A. char* const s="hello";    *s='w'; B. char* const s="hello";    s="world"; C. char s[]="hello";    *s='w'; D. char s[]="hello";    s="world";   答案:C   3.写出程序输出结果:  char t[]="abcdefghijklmno";  t[12]='\0';  int i=0;  while(t[++i]!='\0')  {   printf("%c",t[i++]);  }   答案:bdfhjln 我的笔试之五--展讯篇 1. 编程求两个字符串的最大公共字符串。   答案: · #include "stdio.h" #include "string.h"   /* 函数功能:求两个字符串的最大公共字符串 */ void CommonStr(char* str1,char* str2) {  char* s1,*s2;  int i,j,k;          // i--最大公共字符串的长度  int len1;           // j--子串s2的开始位置  int len2;           // k--子串s1的开始位置  int p;  len1=strlen(str1);  len2=strlen(str2);  if(len1<len2)  {   s1=str2;   s2=str1;   len2=len1;  }  else  {   s1=str1;   s2=str2;  }  for(i=len2;i>0;i--)   // 从最大的开始找  {   for(j=0;j+i<=len2;j++)   {    for(k=0;k+i<=len1;k++)    {     p=0;     while(s1[k+p]==s2[j+p])     {      p++;     }     if(p>=i)     {      for(p=0;p<i;p++)       printf("%c",s1[k+p]);      printf("\n");      return;     }    }   }  } } int main(void) {  char* s1="worlld";  char* s2="hello,cjw";  CommonStr(s1,s2);  return 0; } 文章引用自:   2.计算一个字节里1的个数。   方法一: int Num_1(char data) {     int i,j;     int sum=0;     j=1;     for(i=0;i<8;i++)     {        j=1<<i;        if(data&j)           sum++;     }     return sum; }   方法二: unsigned int FindOneInNumber_02(unsigned char x) {    unsigned int n;    for(n=0; x; n++)       x &= x-1;     return n; } 文章引用自:
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服