嵌入式笔试刷题(第37天)
1. 设 int a=1,b=2,则 (a++)+b 这个表达式的值为( )
A. 2
B. 3
C. 4
D. 5
答案:B. 3
解答过程:
a++
是后置自增:先取a
当前的值(1),再让a
加1。- 表达式计算:
1(a的值)+2(b的值)=3
。 - 之后
a
的值变为2,但不会影响本次表达式的结果。
2. C++语言中,通常拷贝构造函数的参数是( )
A. 某个对象名
B. 某个对象的成员名
C. 某个对象的引用名
D. 某个对象的指针名
答案:C. 某个对象的引用名
解答过程:
- 拷贝构造函数一般写作:
ClassName(const ClassName& other)
。 - 使用引用可以避免不必要的拷贝,提高效率,并且防止递归调用自身。
3. 下列协议不属于TCP/IP协议族的是( )
A. UDP
B. RARP
C. IPX
D. DHCP
答案:C. IPX
解答过程:
- UDP、RARP、DHCP都是TCP/IP协议族的一部分。
- IPX是Novell公司的协议,不属于TCP/IP族。
4. 下列不属于对称加密算法的有( )
A. MD5
B. DES
C. 3DES
D. SHA
答案:A. MD5
解答过程:
- DES、3DES是对称加密算法。
- MD5和SHA是哈希算法(摘要算法),不属于加密算法。
5. 找出下列程序中的错误
class A { public: A() { }; ~A() { }; }; class B { public: B() { m_pName = new char[256]; }; ~B() { delete m_pName; }; public: A* CreateA() { A a; return &a; }; int Calc() { unsigned int a = 100; while(a >= 0) { a--; } return a; } private: char* m_pName; }; class C : public A { public: C() { }; ~C() { }; };
答案:
错误总结:
CreateA()
函数返回了局部变量a
的地址。局部变量在函数结束后销毁,返回的是无效地址(悬空指针)。
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
嵌入式笔试专栏 文章被收录于专栏
本专栏系统整理了嵌入式方向笔试中常见的知识点和高频考题,涵盖基础理论、常用算法、C语言陷阱、操作系统原理、驱动开发、常见外设通信协议(如 I2C/SPI/UART)、RTOS、Linux 内核、以及实用电路知识等内容。