• 上海 炉石面试题及解析


    1. 什么是预编译

    也就是预处理考察编译期间做的事情

    首先预处理:对宏和#include文件包含条件编译,特殊符号进行处理

    然后生成目标文件也就是二进制文件:在unix环境中这步生成一个可以重定向的的目标文件

    最后会生成一个可执行文件:

    这个可执行文件并不能独自运行他需要借助连接器帮他找到他所需的其他目标文件中的东西。


    2. const char *a char *const a char *const a 比较三个的区别:考察const限定的作用
    3. char a[]="1234";
    char a1[]="1234";
    char *ptr="1234";

    char *ptr1="1234";
    cout<<(a==a1)<<endl;
    cout<<(ptr==ptr1)<<endl;
    写出打印结果;

    该题主要我认为考察静态存储区的东西只有一份所有地址相同,只读,不可以修改

    4。void text(char str[])
    {
    for(int i=0;i<sizeof(str)/sizeof(str[0];i++)
    {
    ........
    }

    }

    具体记不清了 这个题主要考察 数组传过来后就退化成指针,所以确定长度不可以用sizeof 应该用strlen
    5.一个32位的机器,该机器的指针是多少位,如何用代码测试。:

    四个字节    sizeof(char */int*)只要是指针就可以测出来
    6.int main()
    {
    int a[5]={1,2,3,4,5};
    int *ptr=(int *)(&a+1);
    printf("%d,%d ",*(a+1),*(ptr-1));
    }
    写出结果

    这个问题主要考察数组跨度问题数组名跨度为数组元素的长度

    数组地址为整个数组
    7. int (*fun[10])(int)代表啥意思

    是一个包含10个函数指针的数组

     

    8 具体忘了,考点strcpy这个函数的缺点。

    9.a=3;b=5 不通过中间值让a=5,b=3(考点用异或)

    a=a+b;

    b=a-b;

    a=a-b;

    或者用异或;

    10.进程同步的方法,及优缺点
    11.进程间的通信方法
    12。线程死锁的必要条件
    13.列出常见的任务调度算法
    14.让你写出一个存放函数指针的数组
    15.类中静态变量和非静态变量的区别
    16.osi七层模型
    17.线程堆栈的考察,dll是否由堆栈

    18.用宏写一个返回两个数中较小的一个数

    #define Min(a,b)  return ((a)>(b))?(b):(a)

    19.用宏写一个测量数组大小

    编程题

    atoi的实现

    在单链表中删除一个给定目标的节点。

    没写的可以百度有的概念,有的十多种解法

  • 相关阅读:
    公众号开发笔记一
    公众号开发笔记一
    ArrayList,LinkedList和String
    ArrayList,LinkedList和String
    第56节:ArrayList,LinkedList和String
    第55节:Java当中的IO流-时间api(下)-上
    Java当中的IO流-时间api(下)-上
    当用python读取几十万行文本时,会出现什么状况?
    Python 如何定义只读属性?【新手必学】
    Python之数据分析工具包介绍以及安装【入门必学】
  • 原文地址:https://www.cnblogs.com/jzlzn/p/10494733.html
Copyright © 2020-2023  润新知