【问题1】 如果处理机按16位以大端方式(big_endian)编址,请在图4-2所示的存储器图表中填入myRarData数据的存储内容(十六进制表示)。
参考答案:
解析:
[分析]: 本题是一道有关C语言编程的考题。需要考生具有熟练的软件编程基础知识,了解 C语言指针变量的灵活使用方法和基本的程序编译的存储知识。考生需要仔细阅读和分析本题中的程序代码,搞清楚程序中各个语句的具体含义和程序构梨,通过思考和推算回答问题。 本题要关注以下几点: (1)根据1到14行的结构类型定义的含义,正确解释第15行中数组初值的赋值关系。 (2)在回答问题时,考生应注意编译器的字对齐的特点,掌握处理器的大、小端方式。 (3)通过阅读程序,注意区分开全局变量和局部变量的内容,并深入了解内存空间中代码段(text)、数据段(data)、bss段(bss)、堆区(heap)和栈区(stack)的具体含义和编译过程中存储分配的一般分配原则。[问题1]
[分析]: 本题主要考查考生对高级程序语言定义的初值应如何存储,这里考生应关注问题1中的条件,即“处理机按16位以大端方式(big_endian)编址”,这种条件决定了各个初值的存放位置、变量封装的含义以及对存储空间的编址。此外,从事嵌入式软件开发的人员,应灵活掌握数据的转换格式和十六进制的表示形式,计算机所能识别的字母(如 ’a’)表达方式。通过本问题的解答,可以考查考生对计算机软件,尤其是嵌入式软件基础知识的掌握。本问题涉及的知识在参考书上均有说明,希望考生能够从题目中发现隐含的知识。