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博客

相关推荐
এ慕ོ冬℘゜5 分钟前
JavaScript学习心得:从只会语法,到真正会写业务逻辑
开发语言·javascript·ecmascript
uoKent6 分钟前
c++中new和malloc的区别
java·jvm·c++
2601_9669496510 分钟前
五档盘口数据对量化交易有什么价值?从信号判断到策略风险的完整分析
开发语言·人工智能·python·数据分析·量化·股票数据·quantdash
会周易的程序员24 分钟前
aiDgeController 软PLC虚拟机stvm集成测试报告
c++·物联网·架构·集成测试·st·软plc·iec61131
小吴学不废Java27 分钟前
Python 基础语法
开发语言·python
布莱克6051 小时前
队列详解:定义、分类、应用场景及与栈的区别(C/C++ 代码讲解)
c语言·开发语言·c++·队列
CPETW1 小时前
USB TO I2C_(Excel)_Scan ---- 1000KHz总线速率测试_A
c语言·开发语言·网络·科技·单片机
2601_962203511 小时前
【SpringBoot3】面向切面 AspectJ AOP 使用详解
开发语言·前端·python
程序员大雄学编程1 小时前
微积分43. 无穷积分入门:从概念到Python实战可视化
开发语言·python·学习·微积分
何以解忧,唯有..1 小时前
LangChain 中 Pydantic 格式输出:结构化输出的完整指南
java·开发语言·langchain