嵌入式笔试刷题(第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() { };
};

答案:

错误总结:

  1. CreateA()函数返回了局部变量a的地址。局部变量在函数结束后销毁,返回的是无效地址(悬空指针)。

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

嵌入式笔试专栏 文章被收录于专栏

本专栏系统整理了嵌入式方向笔试中常见的知识点和高频考题,涵盖基础理论、常用算法、C语言陷阱、操作系统原理、驱动开发、常见外设通信协议(如 I2C/SPI/UART)、RTOS、Linux 内核、以及实用电路知识等内容。

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务