当前位置: 首页 > news >正文

【1224】C选填(字符串\0占大小,类大小函数调用,const定义常量,逗号表达式取尾,abs返回值


1.设有数组定义: char array[]="China"; 则数组array所占的存储空间为__________

6

注意要加上\0的位置

数组中考虑‘\0’,sizeof()判断大小也要考虑‘\0’

2.初始化数组char[] strArray="kuai-shou",strArray的长度为()

9

数组长度不需要考虑\0

3.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

using namespace std;

class A {

public:

    void FunctionA() {cout << "FunctionA" << endl;}

    virtual void FunctionB() {cout << "FunctionB" << endl;}

    static void FunctionC() {cout << "FunctionC" << endl;}

};

class B : public A {

public:

    void FunctionB() {cout << "FunctionB" << endl;}

    int FunctionD() {cout << "FunctionD" << endl;}

};

int main() {

    B *b = nullptr;

    b->FunctionA();

    b->FunctionB();

    b->FunctionC();

    b->FunctionD();

    return 0;

}

以上程序中,下列哪个函数调用会有问题()

b->FunctionB();

因为虚函数本质上是通过类对象的虚表进行访问,而且类的成员函数除了虚函数,其他都不存储在类当中,因此类对象不存在的情况下,无法使用虚函数,其他函数都可以正常访问(前提是这些函数都没有存取类对象的成员变量) 

对象本来就是空的,只不过需要1个字节来进行占位,成员函数是不占对象空间的,影响对象空间大小只有虚函数,成员变量,继承关系中的一些变量

  • 空类的对象需要 1 字节来确保它们具有唯一地址。
  • 成员函数不会影响对象的大小。
  • 虚函数会增加对象的大小,因为需要额外的虚函数表指针(vptr)。
  • 成员变量直接决定了对象的大小。
  • 继承关系中的基类成员会被继承到派生类,因此派生类对象的大小也包括基类成员的大小。

4.下列的常量定义中,错误的定义是(   )。

A const int M=10;

B const int M=20;

C const char ch;

D const bool mark=true;

c const char ch;

常量的定义必须初始化

5.对于下面的代码

1

2

int i = (j = 4, k = 8, l = 16, m = 32);

printf("%d", i);

的输出是()

32

逗号表达式,取尾

逗号运算级别很低,int i = (j=4,k=8,l=16,m=32) ,加了括号就是取最后一个值,所以i=32;如果没加加括号就该是i=4.

6.math.h的abs返回值()

A 不可能是负数

B 不可能是正数

C 都有可能

D 不可能是0

C 都有可能

abs是取整数绝对值的函数,会出现负数是因为int中最小的负数-128没办法用正数绝对值表示

num为0或正数时,函数返回num值;

当num为负数且不是最小的负数时(不要问我最小的int类型负数是多少,上面那个图里面有真相),函数返回num的对应绝对值数,即将内存中该二进制位的符号位取反,并把后面数值位取反加一;

当num为最小的负数时(即0x80000000)-128,由于正数里int类型32位表示不了这个数的绝对值,所以依然返回该负数。

7.下面两段代码中for循环分别执行了多少次?

1

2

3

4

5

6

7

8

9

1.

unsigned short i,j;

for(i=0, j=2; i!=j; i+=5, j+=7)

{}

2.

unsigned short i,j;

for(i=3,j=7;i!=j;i+=3,j+=7)

{}

32767 16383

跑圈追赶问题:

unsigned short 2个字节,2……16 = 65536,2的16次方

看成一个圈

1.

可认为j比i落后65536-2=65534距离,j比i每次多跑2距离

所以赶上需要65534/2=32767次

2.

j比i落后65536-4=65532距离,j比i每次多跑4距离

所以赶上需要65532/4=16383次

8.关于变量及其作用范围描述正确的是()

A 实例变量是类的成员变量

B 静态变量用关键字static声明

C 在方法体中定义的局部变量在该方法被执行时创建

D 局部变量在使用前可不用初始化

AB

  • C:局部变量存放在栈区;在Windows和Linux平台,全局/静态存储区跟执行代码一样,是在编译过程中就已经生成在执行文件中。
  • D:变量在使用前必须初始化,不初始化变量是没有意义的。

http://www.lryc.cn/news/509184.html

相关文章:

  • 本科阶段最后一次竞赛Vlog——2024年智能车大赛智慧医疗组准备全过程——终篇
  • 复合机器人:开启智能制造新时代
  • 装饰者模式
  • 【机器学习】当教育遇上机器学习:打破传统,开启因材施教新时代
  • 【蓝桥杯每日一题】分糖果——DFS
  • information_schema是什么?
  • 案例分析-THC7984设计问题报告
  • HarmonyOS NEXT 技术实践-基于基础视觉服务的多目标识别
  • 【python】银行客户流失预测预处理部分,独热编码·标签编码·数据离散化处理·数据筛选·数据分割
  • 使用 docker ps 查不到刚刚创建的容器
  • vue2+element 前端表格下载
  • MySQL使用LOAD DATA INFILE方式导入文本文件
  • 【从零开始入门unity游戏开发之——unity篇02】unity6基础入门——软件下载安装、Unity Hub配置、安装unity编辑器、许可证管理
  • SpringBootWeb 篇-深入了解 SpringBoot + Vue 的前后端分离项目部署上线与 Nginx 配置文件结构
  • 优化程序中的数据:从代数到向量解
  • 【Web】2024“国城杯”网络安全挑战大赛决赛题解(全)
  • 基于ceres优化的3d激光雷达开源算法
  • 【FAQ】HarmonyOS SDK 闭源开放能力 — Vision Kit(2)
  • 【LeetCode】726、原子的数量
  • VMware虚拟机三种网络工作模式
  • 14-zookeeper环境搭建
  • [搜广推]王树森推荐系统笔记——矩阵补充最近邻查找
  • Unity3D * 粒子特效 * Particle System
  • 【基础篇】1. JasperSoft Studio编辑器与报表属性介绍
  • 数据结构:算法篇:快速排序;直接插入排序
  • WebAPI编程(第一天,第二天)
  • 查看MySQL存储引擎方法,表操作
  • 【Python教程】Python3基础篇之Number(数字)
  • 基于openEuler22.09部署OpenStack Yoga云平台(一)
  • I.MX6U 启动方式详解