| 嵌入式CC++专项测试题 看下自己的水平如何 众所周知,时下嵌入式工程师可是一个热门岗位。但是我们要想找到一份高薪的嵌入式方面的工作也不是那么容易的,尤其是现在一些企业的面试题总是那么千奇百怪。面对这一问题,华清远见为大家汇总了一些嵌入式C/C++方面的专项测试题,希望可以对大家有所帮助。温馨提示,试题尾部有参考答案哦!
 
 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
 
 
 免费试听C语言、电子、PCB、STM32、Linux、FPGA、JAVA、安卓等。
 想学习的你和我联系预约就可以免费听课了。
 宋工企鹅号:三五二四六五九零八八  Tel:173--1795--1908
 
 
 
 |