嵌入式软件开发笔试(试卷二)

1、填写运行结果

    char str[] = "helloWorld";

    char *p = str;

    int n = 10;

    //请计算

    sizeof(str) = ? (1);

    sizeof(p) = ? (2);

    sizeof(n) = ? (3);

 

    void Foo(char str[100])

    {

        //请计算

        sizeof(str) = ?(4);

    }

    void *p = malloc(100);

    请计算

    sizeofp) = ? (5);

     答:(1) 12   (2)  4  (3)  4  (4) 4  (5)4

    2、设px是指向一个类动态对象的指针变量,则执行“deletepx;“语句时将自动调用该类的 析构 函数;

    3、若需要把一个函数"voidF();"定义为一个类AB的友元函数,则应在类A的定义中加入关键字: friend 

    4、请写出下列代码的输出内容

    #include

    main()

    {

        int a,b,c,d;

        a = 10;

        b = a++;

        c = ++a;

        d = 10 * a++;

       printf("b,c,d:%d,%d,%d",b,c,d);

        return 0;

    }

    输出结果:b,c,d:10,12,120

    5、请写出下列代码的输出内容

    int inc(int a)

    {

        return (++a);

    }

    int multi(int*a, int *b, int*c)

    {

        return (*c =*a**b);

    }

    typedef int(FUNC1)(int a);

    typedef int(FUNC2)(int*,int*, int*);

    void show(FUNC2 fun, intarg1, int *arg2)

   {

        FUNC1 *p =&inc;

        int temp =p(arg1);

        fun(&temp,&arg1, arg2);

       printf("%d\n",*arg2);

    }

    main()

    {

        int a;

        show(multi, 10,&a);

        return 0;

    }

     答:110

    6、C和C++中的struct有什么区别?

    答:C中struct作为一种复杂数据类型,只能定义成员变量不能定义成员函数。

            C++中能定义成员函数

    7、语句for( ; 1; )有什么问题?他是什么意思?

     答:循环永远为真,死循环,功能相当于while(1)

    8、do....while和while....do有什么区别?

     答:do...while:先执行后判断执行

           while...do先判断循环条件

    9、C++中引用和指针有什么区别?

     答:引用必须初始化,指针不必

          引用初始化以后不能被改变,指针可以改变

          不存在指向空值的引用,但存在指向空的指针

    10、关于内存对其的问题以及sizeof()的输出?

     答:为了提高程序的效率

    11、动态连接库的两种方式

 

    12、队列和栈有什么区别?

 

    13、写出windows和Linux创建线程函数?

 

     14、计算结果

你可能感兴趣的:(嵌入式软件开发笔试题,嵌入式笔试题)