早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->

试题五 (共15 分 ) 阅读以下关于嵌入式C语言编程方面的问题,回答问题1至问题3,将答案填入答题纸

题目

试题五 (共15 分 )

阅读以下关于嵌入式C语言编程方面的问题,回答问题1至问题3,将答案填入答题纸的对应栏内。

【说明】

嵌入式C语言编程中常涉及位运算、宏定义的问题,以及大端方式(Big-endian)、小端方式(Little-endian)的访问问题。

【 问题1 】(4 )

嵌入式系统中常要求用户对变量或寄存器进行位操作。下面的两个函数分别为设置和清除变量 a 的第 5位。请使用下面的宏定义 BIT5 按要求对变量 a 进行相应的处理。在函数set_bit5中,用位或赋值操作(|=)设置变量a的第5位,在函数clear_bit5中,用位与赋值操作(&=)清除变量a的第5位。

define BIT5 (0x01<<5)

static int a;

void set_bit5(void)

{

① ; /* 设置变量a的第5位 */

}

void clear_bit5(void)

{

② ; /* 清除变量a的第5位 */

}

【 问题2】(5 分 )

图5-1所示代码的设计意图是计算1~100各数的平方。 该段代码运行后,没有得到应有的结果,请说明出错原因,将答案填入答题纸的对应栏内。

【问题3】(6分)

某嵌入式处理器工作在大端方式 (Big-endian)下, 其中unsigned int为32位, unsigned short为16位,unsigned char为8位。仔细阅读并分析下面的C 语言代码,写出其打印输出的结果,将答案填入答题纸的对应栏内。

include "stdio.h"

include "stdlib.h"

void *MEM_ADDR;

void mem_test(void)

{

unsigned int *pint_addr = NULL;

unsigned short *pshort_addr = NULL;

unsigned char *pchar_addr = NULL;

MEM_ADDR = (void *)malloc(sizeof(int));

pint_addr = (unsigned int *)MEM_ADDR;

pshort_addr = (unsigned short *)MEM_ADDR;

pchar_addr = (unsigned char *)MEM_ADDR;

*pint_addr = 0x12345678;

printf("0x%x, 0x%x\n", *pshort_addr, *pchar_addr);

/* 第一次输出 */

pshort_addr++;

*pshort_addr = 0x5555;

printf("0x%x, 0x%x\n", *pint_addr, *pchar_addr);

/* 第二次输出 */

pchar_addr++;

*pchar_addr = 0xAA;

printf("0x%x, 0x%x\n", *pint_addr, *pshort_addr);

/* 第三次输出 */

}

参考答案
正确答案:
试题五(共15分)【问题1】(4分)①a|=BIT5(2分)②a&=~BIT5(2分)【问题2】(5分)出错原因:在宏定义中,参数a使用两次,而在引用宏时,使用了i++,从而导致出错。(3分)(只要意思正确即可给分)①i(1分)②i++或i=i+1或++i或i+=1(1分)【问题3】(6分)第一次输出:0x1234,0x12(2分,每个数值1分)第二次输出:0x12345555,0x12(2分,每个数值1分)第三次输出:0x12aa5555,0x5555(2分,每个数值1分)
看了试题五 (共15 分 ) 阅读...的网友还看了以下:

小红测试每分钟的跳绳的次数,前四次跳的分别是:180下,180下,175下,185下.第五次比全部 数学 2020-05-19 …

化学实验题,在试管底部铺一层细沙..--,并放一小块擦干的白磷,先关闭活塞,把螺旋状铜丝在酒精灯上 化学 2020-05-23 …

一次考试共5道题,考试结果统计如下:做对第一题的占考试总人数的90%,做对第二道题的占考试总人数的 数学 2020-06-16 …

一次考试共5题,考试结果统计如下:做对第一题的占考试总人数的百分之90,做对第二题的占考试总人数的 数学 2020-06-16 …

为什么平时会做的提=题,考试一紧张就做不出来了?我女儿今年进入初三,一向成绩很好的她,今年每次考试 其他 2020-06-19 …

基础数学题1、五年级一共150人,戴近视镜的有45人.我们五一班一共45人,带近视镜的有10人.五 其他 2020-07-05 …

小红测试每分钟的跳绳的次数,前四次跳的分别是:180下,180下,175下,185下.第五次比全部 其他 2020-07-18 …

我国全面放开二孩政策可缓解我国低生育率及人口老龄化带来的问题,“试管婴儿技术”可为不孕夫妇重新获得 语文 2020-07-29 …

六年级数学判断题(就五题)快进来!1.两个真分数的积一定还是真分数.()2.把5米长的绳子8等分,其 数学 2020-12-10 …

七年级下数学试卷里的题题.试卷名叫:第五阶段测试卷(A)(第十四章14.1-14.2)如图,在△AB 数学 2021-01-22 …