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

阅读以下说明,回答问题1至问题3,将答案填入答题纸对应栏内。【说明】在某嵌入式处理器上,编写以下两

题目

阅读以下说明,回答问题1至问题3,将答案填入答题纸对应栏内。

【说明】

在某嵌入式处理器上,编写以下两段秸序(编译选项中,存储采用4字节对齐方式)。

程序段1:

struct studentl {

char name [10] ;

long sno;

char sex;

float score [4] ;

*pl, al, bl;

程序段2:

union student2 {

char name [10] ;

long sno;

char sex,

float score [4] ;

*p2, a2, b2;

汉诺塔问题说明:有n个盘子在A处,盘子从小到大,最上面的盘予最小,程序要

把这n个盘子从A处搬到C处,可以在E处暂存,但任何时候都不能出现大的盘子压

在小的盘子上面的情况。

下列是一段求解汉诺塔问题的C语言程序。

include <stdio . h>

void move (int n, char a, char c)

{

static int Step=l;

printf ("Step %2d: Disk %d %c..--> %c\n", Step, n, a, c) ;

Step++;

}

void Hanoi (int n, char a, char b, cnar c)

{

if (n>l)

{

Hanoi (n-l, a, c, b) ;

move (n, a. c) ;

Hanoi (n-l, b, a, c) ;

}

else move (n,a,c);

}

void main()

{

Hanoi(3, ’A’, 、B’, 、C ’);

}

【问题1】(3分)

C语言函数的一般格式为:

<函数类型> <函数名> (<参数列表>)

{

<函数体>;

}

简答下述问题,将答案填写在答题纸中对应栏目。

(l)<函数类型>的含义是什么?

(2)<参数列表>的含义是什么?

(3)C语言函数之间的参数如何传递?

【问题2] (6分)

回答问题,将答案填写在答题纸中对应栏目。

(1)sizeof(struct studentl)结果是多少

(2) sizeof(union student2)结果是多少

(3)变量a2在程序段2中定义,写出执亍以下语句后的输出结果。

strcpy (a2. name,¨zhangwei¨);

a2.sex=’f’;

printf ("%s¨, a2 .name);

【问题3](6分)

仔细阅读求解汉诺塔问题的C语言程序,完成其中(1)~(4)空白填空,将答案

填入答题纸的对应栏内。

运行结果为:

Step1:Disk l A---->C

Step 2: (l)

Step 3: Disk I C---->B

Step4: (2)

Step 5: (3)

Step 6: Disk 2 B---->C

Step 7: (4)

参考答案
正确答案:
本题考查C语言应用知识。
【问题l】
C语言函数的一般格式为:
<函数类型><函数名>(<参数列表>:
(
<函数体>;
)
其中<函数类型>为函数返回值的类型,无返回值时应写void;<参数列表>为函数
的接口参数,可以为空,即表示没有参数,但函数名后面的0不能省略。
C语言函数之间的参数传递是传值,是通过栈来传递的。调用时所有参数在栈中新
开辟相应类型的单元并将实参值填入,函数中对参数的任何操作都是对栈中单元的操作,
调用结束,栈中开辟的相应单元都会释放,并不影响实参变量的值。
【问题2】
studentl是一个结构体,sizeof(structstudentl)结果为所有元素字节数之和,因此
sizeof(structstudentl)结果为:10+4+1-16=31字节。
student2是联合体(或共用体),sizeo(unionstudent2)结果为其中最长一个元素的
字节数。因此sizeof(unionstudent2)结果为:16字节。
变量a2在程序段2中定义,执行以下语句:
Strcpy(a2.name,”zhangwei”)
a2.sex=f;
Printf(“%s,a2.name);
结果为:“fhangwei”
【问题3]
汉诺塔问题是指有n个盘子在A处,盘子从大到小,最上面的盘子最小,现在要把
这n个盘子从A出搬到C处,可以在B处暂存,但任何时候不能出现大的盘子压在小
的盘子上面的情况。算法如下:
(1)若n=l,则可以将盘子直接从A处搬到C处;
(2)假设n-l时,指导如何解;
(3)则n时,根据(2)的假设,可以先把前n-1个盘子从A处通过C处搬到B处,
就可以把第n个盘子直接从A处搬到C处,再把前n-l个盘子从B处通过A处搬到C
处,则完成了全部盘子搬动。
因此,运行结果为:
Step1:DisklA---->C
Step2:Disk2A---->B
Step3:DisklC----->B
Step4:Disk3A----->C
Step5:DisklB----->A
Step6:Disk2B----->C
Step7:DisklA----->C
参考答案
【问题1]
(l)<函数类型>的含义是:函数返回值的类型,无返回值时应写为void;
(2)<参数列表>的含义是:函数的接口参数,可以为空,即表示没有参数,但函
数名后面的()不能省略。
(3)C语言函数之间的参数传递是传值,是通过栈来传递的。
【问题2]
(1)sizeof(structstudentl)结果为:31
(2)sizeof(unionstudent2)结果为:16
(3)执行语句后的结果为:“fhangwei”
【问题3]
(1)Disk2A->B
(2)Disk3A->C
(3)DisklB->A
(4)DisklA->C
看了阅读以下说明,回答问题1至问题...的网友还看了以下:

试题二(共 15 分) 阅读以下关于嵌入式软件测试的叙述,回答问题 1 至问题 3,将解答填入答题纸 计算机类考试 2020-05-26 …

阅读以下关于嵌入式操作系统软件编码优化的技术说明,根据要求回答问题1至问题5。【说明】 由于嵌入 计算机类考试 2020-05-26 …

阅读以下关于某嵌入式处理器和存储器方面的说明,回答问题1至问题3,将答案填入答题纸的对应栏内。【 计算机类考试 2020-05-26 …

阅读以下说明,回答问题1至问题3,将答案填入答题纸对应栏内。【说明】在某嵌入式处理器上,编写以下两 计算机类考试 2020-05-26 …

试题五 (共15 分 ) 阅读以下关于嵌入式C语言编程方面的问题,回答问题1至问题3,将答案填入答题 计算机类考试 2020-05-26 …

试题二(共 15分) 阅读以下关于某嵌入式处理器和 8255 的叙述,回答问题 l至问题 3,将答案 计算机类考试 2020-05-26 …

阅读以下关于嵌入式软件测试的叙述,回答问题1至问题3,将解答填入对应栏内。 【说明】 某嵌入式软件 计算机类考试 2020-05-26 …

阅读古诗,回答问题。游西山韦应物时事方扰扰,幽赏独悠悠。弄泉朝涉涧,采石夜归州。挥翰题苍峭,下马历 语文 2020-06-29 …

阅读说明文,完成1—5题。人类发现和使用银的历史至少已有两千年了。我国考古学者从近年出土的春秋时代 语文 2020-07-01 …

阅读材料,回答问题山东省潍坊市坚持“保护为主、抢救第一、合理利用、传承发展”的工作方针,积极发掘地 政治 2020-07-10 …