• 笔试强训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

     

     

  • 相关阅读:
    C语言 函数指针
    安装Python的selenium模块时遇到问题
    【通信】两层无线 Femtocell 网络上行链路中的最优功率分配附matlab代码
    LNMP配置(Linux、Nginx、MySQL、PHP)
    MapUtil从map结构中获取深度的信息
    jdk版本与class文件格式major版本对应关系
    【小白从小学Python、C、Java】【Python-计算机等级考试二级】【Python-数据分析】Python中使用fromat进行进制转换
    基于Java+SSM+MySQL的高校就业创业信息管理系统
    SpringAMQP中AmqpTemplate发送接收消息
    如何理解某一个开发框架的意图,从而去写和落代码文件位置不会出错
  • 原文地址:https://blog.csdn.net/qq_64484137/article/details/128139314