当前位置:首页 > 芯闻号 > 充电吧
[导读]输出 char s1[]="2kgames"; char* s2[]={"2kgames" }; char s3[20]="2kgames"; sizeof(s1)==? sizeof(s2)==? 


输出

 char s1[]="2kgames";

 char* s2[]={"2kgames" };

 char s3[20]="2kgames";

 sizeof(s1)==?

 sizeof(s2)==?

 sizeof(s3)==?

 strlen(s1)==?

 strlen(s3)==? 

 <答案: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:"<<   }

   virtual void f(int n) const

   {

      cout<<"A1:"<<   }

   virtual void f(char* s)

   {

      cout<<"A2:"<<   }

};

class B:public A

{

  public:

    void f(int n)

    {

       cout<<"B0:"<<    }

    void f(char* s)

    {

      cout<<"B1:<<    }

};

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
 {

    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<
       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;

}

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

这款全新的中端MCU系列为设计人员提供了更高水平的安全性和灵活性

关键字: 嵌入式 单片机

2024年4月11日,中国——意法半导体的ST25R100近距离通信(NFC)读取器芯片独步业界,集先进的技术功能、稳定可靠的通信连接和低廉的成本价格于一身,在大规模制造的消费电子和工控设备内,可以提高非接触式互动功能的...

关键字: 嵌入式 数据读取器 芯片

单片机是一种嵌入式系统,它是一块集成电路芯片,内部包含了处理器、存储器和输入输出接口等功能。

关键字: 单片机 编写程序 嵌入式

深圳2024年4月23日 /美通社/ -- 全球AI解决方案与工业级存储领导品牌宜鼎国际 (Innodisk)持续深化边缘AI布局,今(23)日发表全球首创"MIPI over Type-C"独家技术,让旗下嵌入式相机模...

关键字: AI 嵌入式 相机

为增进大家对嵌入式主板的认识,本文将对嵌入式主板以及嵌入式主板常见问题及其解决方法予以介绍。

关键字: 嵌入式 指数 主板

为增进大家对嵌入式系统的认识,本文将对嵌入式系统、嵌入式系统的特点予以介绍。

关键字: 嵌入式 指数 嵌入式系统

为增进大家对嵌入式的认识,本文将对嵌入式、嵌入式工作相关的内容予以介绍。

关键字: 嵌入式 指数 嵌入式技术

机器人操作系统(ROS)驱动程序基于ADI产品而开发,因此可直接在ROS生态系统中使用这些产品。本文将概述如何在应用、产品和系统(例如,自主导航、安全气泡地图和数据收集机器人)中使用和集成这些驱动程序;以及这样将如何有助...

关键字: 电机控制器 机器人 嵌入式

支持高达48V@5A的PD受电模式,达到目前USB PD最高标准。

关键字: 嵌入式 开发板

【2024年4月8日,德国慕尼黑讯】低碳化和数字化是当今时代人们面临的两大核心挑战,人类社会需要依靠创新和先进的技术,才能破除挑战、推动转型进程。在德国纽伦堡举办的2024国际嵌入式展(Embedded World 20...

关键字: 半导体 微控制器 嵌入式
关闭
关闭