【C/C++_选择题】(D12 1205)

【C/C++_选择题】(D12 1205)

1、以下不能正确定义二维数组的选项是( D )

  A int a[2] [2]={{1},{2}};
  B int a[] [2]={1,2,3,4};
  C int a[2] [2]={{1},2,3};
  D int a[2] []={{1,2},{3,4}};


2、代码生成阶段的主要任务是( C )

  A 把高级语言翻译成机器语言
  B 把高级语言翻译成汇编语言
  C 把中间代码变换成依赖具体机器的目标代码
  D 把汇编语言翻译成机器语言


3、下面程序的输出结果是( C )

#include<iostream.h>
void main()
{
	int n[][3]={10,20,30,40,50,60};
	int (*p)[3];
	p=n;
	cout<<p[0][0]<<","<<*(p[0]+1)<<","<<(*p)[2]<<endl;
}

  A 10,30,60
  B 10,30,50
  C 10,20,30
  D 20,40,60


4、下面程序的输出结果是( D )

#include < iostream.h>
#define SQR(A) A*A
void main() 
{
	int x=6,y=3,z=2;
	x/=SQR(y+z)/SQR(y+z);
	cout< < x< < endl;
}

  A 5
  B 6
  C 1
  D 0


5、在一个64位的操作系统中定义如下结构体,同时还定义fool函数,那么fool()程序的执行结果为( A )

struct st_task
{
	uint16_t id;
	uint32_t value;
	uint64_t timestamp;
};
void fool()
{
	st_task task = {};
	uint64_t a = 0x00010001;
	memcpy(&task, &a, sizeof(uint64_t));
	printf("%11u,%11u,%11u", task.id, task.value, task.timestamp);
}

  A 1,0,0
  B 1,1,0
  C 0,1,1
  D 0,0,1


6、STL中的一级容器有( D )

  A vector, deque, list, set, multiset, map, multimap.
  B 序列容器,关联容器,容器适配器
  C set, multiset, map, multimap.
  D vector, deque, list.


7、如果有一个类是 myClass , 关于下面代码正确描述的是(C)

myClass::~myClass()
{
	delete this;
	this = NULL;
}

  A 正确,我们避免了内存泄漏
  B 它会导致栈溢出
  C 无法编译通过
  D 这是不正确的,它没有释放任何成员变量


8、如果类B继承类A,A::x()被声明为虚函数,B::x()重载了A::x()方法,在下述语句中哪个x()方法会被调用 ( B )

B b;
b.x();

  A A::x()
​  B B::x()
  C A::x() B::x()
  D B::x() A::x()


9、函数func的定义如下()

void func(const int& v1, const int& v2)
{
	std::cout << v1 << ' ';
	std::cout << v2 << ' ';
}

  以下代码在vs中输出结果为 ( D )

int main (int argc, char* argv[])
{
	int i=0;
	func(++i,i++);
	return 0;
}

  A 0 1
  B 1 2
  C 2 1
  D 2 0
  E 程序强制终止并报错
  F 结果与编译器有关


10、下列一段C++代码的输出是 ( B )

#include "stdio.h"
class Base
{
public:
	int Bar(char x)
	{
    	return (int)(x);
	}
	virtual int Bar(int x)
	{
		return (2 * x);
	}
};

class Derived : public Base
{
public:
	int Bar(char x)
	{
		return (int)(-x);
	}
	int Bar(int x)
	{
		return (x / 2);
	}
};

int main(void)
{
	Derived Obj;
    Base *pObj = &Obj;
	printf("%d,", pObj->Bar((char)(100)));
	printf("%d,", pObj->Bar(100));
}

  A 100,-100
  B 100,50
  C 200,-100
  D 200,50


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值