打印
[其它应用]

嵌入式C/C++专项测试题

[复制链接]
354|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
flycamelaaa|  楼主 | 2023-9-8 10:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、在linux+gcc下,关于以下代码,不正确的是____。

std::string& test_str()

{

std::string str="test";

return str;

}

int main()

{

std::string& str_ref=test_str();

std::cout<<str_ref<<std::endl;< p="" style="margin-right: auto; margin-left: auto;"></str_ref<<std::endl;<>

return 0;

}

A 编译警告

B 返回局部变量的引用,运行时出现未知错误

C 正常编译且运行

D 把代码里的&都去掉之后,程序可以正常运行

2、假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为____。

A 0

B 4

C 8

D 6

3、下面哪一个是sort的template的正确写法

A void sort(class A first,class A last,class B pred)

B void template(class A,class B)sort(A first,A last,B pred)

C template void sort(A first,A last,B pred)

D template void sort(A first,A last,B pred)

4、下面说法正确的是

A C++已有的任何运算符都可以重载

B const对象只能调用const类型成员函数

C 构造函数和析构函数都可以是虚函数

D 函数重载返回值类型必须相同

5、若有下面的函数调用:

? fun(a+b,?3,?max(n-1,?b));?其中实参的个数是____。

A 3

B 4

C 5

D 6

6、两个等价线程并发的执行下列程序,a为全局变量,初始为0,假设printf、++、--操作都是原子性的,则输出肯定不是哪个?

void foo() {

if(a <= 0) {

a++;

}

else {

a--;

}

printf("%d", a);

}

A 01

B 10

C 12

D 22

7、在32位操作系统gcc编译器环境下,下面程序的运行结果为____。

#include

using namespace std;

class A {

public:

int b;

char c;

virtual void print() {

cout << "this is father’s fuction! " << endl;

}

};

class B: A {

public:

virtual void print() {

cout << "this is children’s fuction! " << endl;

}

};

int main(int argc, char * argv[]) {

cout << sizeof(A) << "" << sizeof(B) << endl;

return 0;

}

A 8 8

B 9 9

C 12 12

D 12 16

8、重载(overload)和重写(override)的区别?

A 重载:是指允许存在多个同名函数,而这些函数的参数表不同

B 重载:是指子类重新定义复类虚函数的方法

C 重写:是指子类重新定义复类虚函数的方法

D 重写:是指允许存在多个同名函数,而这些函数的参数表不同



参考答案:1~8:C A D B A A C AC

使用特权

评论回复
沙发
OKAKAKO| | 2023-9-20 12:56 | 只看该作者
有具体的分析过程嘛

使用特权

评论回复
板凳
szt1993| | 2023-9-24 20:10 | 只看该作者
这些开题可以详细总结经验

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

653

主题

2697

帖子

0

粉丝