C++:每日选择题--Day3

第一题

  1. 指针变量p进行自加运算(即 执行p++;)后,地址偏移值为1,则其数据类型为,char说法是否正确?
    A:正确

B:错误

答案及解析 B

比如我们的空类,空类所占的字节为1,指向空类的指针,自加运算之后,地址偏移也是1;

第二题

  1. 有如下类定义,请问sizeof(A)的值为:
cpp 复制代码
class A 
{
  public:
    int fun1();
  private:
    int _a;
    static int b;
};

A:12

B:8

C:4

D:1

答案及解析 C

本题考查的是static类型的成员变量是否应该计算到sizeof里,答案是不需要;因为static类型的变量,不是属于某个对象的,是属于整个类的;所以不需要计算。

第三题

  1. 下面程序的输出结果是()
cpp 复制代码
#include <iostream>
using namespace std;
int i = 0;
int fun(int n) 
{
    static int a = 2;
    a++;
    return (a * n);
}
 
int main() 
{
    int k = 5;
    {
        int i = 2;
        k += fun(i);
    }
    k += fun(i);
    cout << k;
    return (0);
}

A:11

B:12

C:13

D:14

答案及解析 A

明天出解析,请谅解!

第四题

  1. 下面描述错误的是( )
    A.this指针是非静态成员函数的隐含形参.

B.每个非静态的成员函数都有一个this指针.

C.this指针是存在对象里面的.

D.this指针可以为空

答案及解析 C

A:this指针就是非静态成员函数都有的隐藏的形参,this指的是实例化对象的地址;而静态成员函数是属于整个类的,不是某个对象的,所以无法得到实例化对象的地址,也就不需要this指针了;

B:正确;

C:this指针是非静态成员函数的形参,存在的是函数栈帧,因为是形参,不存在对象里。

D:this指针一般不为空,但是可以强制转换为空;

第五题

  1. 在32位机器上用gcc编译以上代码,求sizeof(A),sizeof(B)分别是()
cpp 复制代码
class A 
{
    int a;
    short b;
    int c;
    char d;
};
class B 
{
    double a;
    short b;
    int c;
    char d;
};

A:12 16

B:12 12

C:16 24

D:16 20

答案及解析 C

依旧是内存对齐:C/C++内存对齐规则(结构体、联合体、类)-CSDN博客

相关推荐
数据小爬虫@12 分钟前
如何高效利用Python爬虫按关键字搜索苏宁商品
开发语言·爬虫·python
ZJ_.14 分钟前
WPSJS:让 WPS 办公与 JavaScript 完美联动
开发语言·前端·javascript·vscode·ecmascript·wps
Narutolxy19 分钟前
深入探讨 Go 中的高级表单验证与翻译:Gin 与 Validator 的实践之道20241223
开发语言·golang·gin
Hello.Reader27 分钟前
全面解析 Golang Gin 框架
开发语言·golang·gin
禁默38 分钟前
深入浅出:AWT的基本组件及其应用
java·开发语言·界面编程
yuyanjingtao40 分钟前
CCF-GESP 等级考试 2023年9月认证C++四级真题解析
c++·青少年编程·gesp·csp-j/s·编程等级考试
Code哈哈笑1 小时前
【Java 学习】深度剖析Java多态:从向上转型到向下转型,解锁动态绑定的奥秘,让代码更优雅灵活
java·开发语言·学习
程序猿进阶1 小时前
深入解析 Spring WebFlux:原理与应用
java·开发语言·后端·spring·面试·架构·springboot
qq_433618441 小时前
shell 编程(二)
开发语言·bash·shell
闻缺陷则喜何志丹1 小时前
【C++动态规划 图论】3243. 新增道路查询后的最短距离 I|1567
c++·算法·动态规划·力扣·图论·最短路·路径