参考答案:
【问题1】
(1)a=a|BIT3或者a|= BIT3
(2)a=a& ~BIT3或者a&=~BIT3
【问题2】
回答以下4项中任意3项(意思相近即可)。
(1)中断程序的返回值。中断程序中一般不能返回一个值。
(2)中断程序参数。中断程序中一般不能传递参数。
(3)浮点运算。中断程序应该是短而有效率的,一般在中断程序上下文切换时不保存浮点寄存器,尽量不要在中断程序中做浮点运算。
(4)printf()一般是阻塞性调用,尽量不要在中断程序中调用阻塞性服务。
【问题3】
(1)x
(2)s
(3)q->next或p->next
(4)s
(5)q
详细解析:
本题考查嵌入式程序开发的能力。
要求掌握C语言的位操纵,位操作是程序中对位模式按位进行的一元或二元操作。位运算符有取反操作、按位或、按位异或、按位与、移位等。
要求掌握C语言中链表的相关操作,比如链表的插入、删除等操作。包括了单链表、双链表。该题考查的就是对单链表的操作。单链表是一种链式存取的数据结构,链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象)+指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。以“结点的序列”表示的线性表称作线性链表(单链表),单链表是链式存取的结构。