• 笔试强训Day2


    选择题

    1.

     思路:e是按指数类型输出,f是按照浮点数类型输出(输出只有f不用lf)

    输出默认是右对齐,-则是左对齐,四位精度就是小数点后保留几位用.4,输出字符数用整数30在小数点前表示即可。

    如果这个数没有三十位数这么长就将空着的位置打印成空格。

    2.

    思路:常量指针与指针常量的区别

    常量指针:指针所指空间的值不能改变,不能通过指针解引用改变控件中的值,但是可以改变指针所指向的空间。

    指针常量:指针所指的空间不能改变,但是可以改变空间中的值。

    区分:根据const与*的相对位置,const在*的左边则是常量指针,在右边则是指针常量

    (6)(7)有明显错误,p2是常量指针,p3是指针常量

    3.

    思路:A:acX与acY 的内存空间都在栈上,正确

    B:szX与szY指向的都是同一个字符串,因此是同一个内存空间
    C:acX与acY的区别就是初始化方式不一样,acX的方式会自动保存一个/n,会多占用一个内存空间

    D:szX的内容修改只会改变szX的所指对象,不会影响szY的内容

    4.

     思路:第三行代码中*的优先级是大于+=的,因此执行结果相当于a[0]=3.

    *(b+2)=2相当于a[2]=2

    b++使指针向后移动四个字节

    易得结果为C

    5.

     答案:B,宏定义在预处理中就替换了源代码、而且没有参数安全检,有不少缺点,不能得出避免使用const的结论

    6.

     思路:函数以数组作为参数的时候我们可以用数组名来调用,

    A选项数组名反了

    B选项不需要类型

    C不应该加方括号

    7.

     思路:

    A:a先与[]结合在与int *结合,是一个指针数组,存放指针的数组

    B:是一个数组指针,是一个指向数组的指针

    C:是一个函数指针,指向有一个整型参数且,一个返回值为int的函数

    D:是一个指针数组且每个指针指向的值为一个有一个整型参数吗,并且返回值为int的函数

    8.

     思路:

    (1)与(2)是我们要补充的内容,第一个循环是为了记录每个字符的出现次数,第二个循环是为了输出字符与其出现次数

    由于字符串都是大写字符,就光看(1)就可以排除ABCE,AB的括号是负数,C的[i]没有任何意义,E中a[i]还会越界

    9.

    思路:

    变量a是一个unsigned的类型,:后面为我们定义的变量的内存大小,单位为比特,其他几个变量同理

    这题需要用到结构体内存对齐的机制

    栈为a开辟了4个字节(32 个比特),a占据了19个

    b大小为11,会继续占据a开辟的空间,因为19+11=30<32,

    c的大小为4,上面开辟的空间不够用,在栈上继续开辟4字节(32bit),

    由于d的29+4>32,所以d需要再开辟空间,4字节

    index独自占据一个字节,

    ab占了对齐数为0~3的空间,c占据了4~7的空间,d占据的了8~11的空间,index占据了12号空间。

    32位机器的默认对齐数为4,而且上诉最大的参数为4,结构体的内存大小必须为最大参数的倍数,因此A占的大小为16

     

     

  • 相关阅读:
    【Excel】合并复杂单元格
    基于python下django框架 实现校园教室图书馆座位预约系统详细设计
    基于STC12C5A60S2系列1T 8051单片机实现一主单片机与一从单片机相互发送数据的RS485通信功能
    oracle的update语句where条件后的索引字段为空时不执行
    ArcGIS基础:使用线段分割面数据操作
    网络协议 — IPv6 互联网协议第 6 版
    【SAP消息号C6013】
    交易总额高达600亿美元?亚马逊、微软和谷歌完成100多笔并购
    做好库存周转,再也不用担心企业效益
    Docker的学习记录
  • 原文地址:https://blog.csdn.net/qq_64484137/article/details/128139314