zoukankan      html  css  js  c++  java
  • C的笔试题总结1

    这是一家公司的笔试题,我应聘的C开发工程师,10月31日当天晚上听宣讲会然后当场笔试,当时有点感冒,稀里糊涂的笔试就过了,人家在凌晨2点发短信通知自己第二天去面试,有技术面和HR面,虽然最终没通过,可是也敬佩这家公司的效率,下面是整理的部分笔试题,供参考。

    一.选择题:

    1.下面赋值语句正确的是: D. char a = '103';

    2.下面函数执行后的结果是:1, 2

    1     int a, x;
    2 
    3     for (a = 0, x = 0; a <= 1 && !x++;)
    4     {
    5         a++;
    6     }
    7 
    8     printf("a = %d, x = %d
    ", a, x);

    3.下面程序的运行结果是:8, 8

    1     int arr[] = {6, 7, 8, 9, 10};
    2     int *ptr = arr;
    3 
    4     *(ptr++) += 123; 
    5     printf("%d, %d
    ", *ptr, *(++ptr));

    注意:1.这里修改的是arr[0]的值为129;
             2.结果为8,8的原因在于函数参数入栈的顺序是从前往后的,而非优先级的影响

    4.下面说法错误的是:  A、char *ptr = strdup ("iPanel"); ptr的地址指向iPanel常量的地址。

    strdup函数的功能是将字符串拷贝到新建的位置。用法说明如下:

    1     char *str = "iPanel";
    2     char *ptr;
    3 
    4     ptr = strdup (str);   //create a new postion
    5 
    6     printf("%p, %p
    ", str, ptr);
    7     printf("%s, %s
    ", str, ptr);

    5.下面程序的运行结果是:cb ......为退格符

    1 printf("abc
    ");

    6.下面语句错误的是:ABCD,这里都是操作非法内存的现象

    1 A.  
    2     short a[4];
    3     int *b = (int *)&a[0];
    4     memset(b, 0, 4 * sizeof(int));
    1 B.
    2     short a[4];
    3     int *b = (int *)&a[2];
    4     memset(b, 0, sizeof(a));
    1 C.
    2     short a[4];
    3     int *b = (int *)&a[0];
    4     b+=3;
    5     *b = 2;
    1 D.
    2     short a[4];
    3     int *b = (int *)&a[0];
    4     b[3] = 2;

    二:简答题
    1.求*(p++)->a的值:

    1     struct tagValue{
    2         int a, *b;
    3     }*p;
    4     int x[] = {1, 2}, y[] = {3, 4};
    5     static struct tagValue c[2] = {5, x, 6, y}, p=c;

    我始终觉得上述代码本身存在至少两处错误,所以结果应该是error。
    2.实现8字节对齐函数,即满足任意数能够被8整除。

    1 int ByteAlign(int n, int size)
    2 {
    3     return ((n+size-1) & ~(size-1));
    4     //return (n+size-1)/size*size;
    5 }

    三、编程题
    实现有序插入函数。

    请把下列数组的元素全部插入到另外一个数组,并保持从小到大排列。

    int a[] = {1, 2, 3, 4, 9, 5, 7, 0, 6, 8};

  • 相关阅读:
    2020-02-26 今天学了啥?
    2020-02-25 今天学了啥?
    CSS选择器世界
    2019.12.21---今天学了啥?
    2019.12.20--今天学了啥?
    2019.12.19----今天学了啥?
    重拾算法之复杂度分析(大O表示法)
    es6之后,真的不需要知道原型链了吗?
    你真的了解FastClick吗?
    JavaScript中的对象与原型—你不知道的JavaScript上卷读书笔记(四)
  • 原文地址:https://www.cnblogs.com/philospy/p/4148856.html
Copyright © 2011-2022 走看看