计算机二级C++强化试题及答案.docxVIP

  • 1
  • 0
  • 约6.66千字
  • 约 24页
  • 2026-08-27 发布于河南
  • 举报

计算机二级C++强化试题及答案

1.若有定义语句`inta=10,*b=a;`,则下列语句中行为错误的是()

A.`*b=a;`B.`b=*a;`C.`a=*b;`D.`b=a;`

答案:B

解析:`b`是指针类型变量,存储合法的内存地址,`*a`本质就是`a`,`a`是int类型值,将int值直接赋值给指针变量,类型不匹配,编译错误。A选项是将`a`的值写入`b`指向的内存单元(即变量`a`本身),行为合法;C选项取出`b`指向的值赋值给`a`,行为合法;D选项将`a`的地址重新赋值给`b`,行为合法。

2.下列关于C++内联函数的描述中,正确的是()

A.内联函数在运行时才将函数体替换到调用处

B.内联函数可以提高程序的运行效率,但是会增加程序代码体积

C.所有带循环结构的函数都不能声明为内联函数

D.内联函数必须定义在类体内部

答案:B

解析:内联函数的替换过程发生在编译阶段,而非运行阶段,A错误;内联函数省去了函数调用的压栈、跳转、返回等开销,因此可以提升运行效率,但是每个调用点都会插入一份函数体副本,因此会增加程序的代码体积,B正确;带循环结构的函数只是编译器通常会忽略内联声明,不会强制报错,并非不能声明为内联函数,C错误;内联函数可以定义在类体外,只要添加`inline`关键字声明即可,D错误。

3.有如下类定义:

`

文档评论(0)

1亿VIP精品文档

相关文档