【C/C++_选择题】(D10 1203)

本文是一组C/C++的选择题,涵盖了指针数组、二级指针、类模板等概念。题目涉及内存占用计算、二维数组存储、递归函数、输出格式、对象继承转换及类模板实例化等知识点,适合C/C++初学者和进阶者进行练习和提升。
摘要由CSDN通过智能技术生成

【C/C++_选择题】(D10 1203)

1、32位系统中,定义 * * a[3] [4],则变量占用内存空间为 ( B )

  A 4
  B 48
  C 192
  D 12

  分析:
  a是一个二级指针数组,数组里面存放的数据类型是二级指针,32位系统中二级指针的大小是4个字节,有12个这样的元素 ,12*4=48。


2、二维数组X按行顺序存储,其中每个元素占1个存储单元。若X[4] [4]的存储地址为Oxf8b82140,X[9] [9]的存储地址为 0xf8b8221c,则X[7] [7]的存储地址为 ( A )

  A 0xf8b821c4
  B 0xf8b821a6
  C 0xf8b82198
  D 0xf8b821c0

  分析:
  这道题的关键是不知道每行有几个元素,但是知道它们的存储地址,且每个元素只占1个存储单元。假设每行有n个元素,X[7] [7]的存储地址为x,那么就有
  X[9] [9] - X[4] [4] = 21c-140=5n+5  即:540-320=5n+5
  X[7] [7] - X[4] [4] = x-140=3n+3  即:x-320=3n+3
  解得:n=43 x=452 转化成十六进制 x = 1c4 即选A


3、求函数返回值,输入x=9999 ( A )

int func(int x)
{
   
	int count=0;
	while (x)
	{
   
		count++;
		x=x&(x-1); //与运算
	}
	return count;
}

  A 8
  B 9
  C 10
  D 12


4、根据下面递归函数:调用函数Fun(2),返回值是多少( D )

int Fun(int n)
{
   
	if
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值