首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下关于C语言及C代码的叙述。 [说明] 在开发某嵌入式系统时,设计人员根据系统要求,分别编写了如下三部分程序,其中: [C代码1]是李工为了在嵌入式平台上开发一段可变参数函数,在X86平台上实现的一个参数个数可变函数实例。 [
阅读以下关于C语言及C代码的叙述。 [说明] 在开发某嵌入式系统时,设计人员根据系统要求,分别编写了如下三部分程序,其中: [C代码1]是李工为了在嵌入式平台上开发一段可变参数函数,在X86平台上实现的一个参数个数可变函数实例。 [
admin
2011-03-25
35
问题
阅读以下关于C语言及C代码的叙述。
[说明]
在开发某嵌入式系统时,设计人员根据系统要求,分别编写了如下三部分程序,其中:
[C代码1]是李工为了在嵌入式平台上开发一段可变参数函数,在X86平台上实现的一个参数个数可变函数实例。
[C代码2]是王工在编写软件时,自己编写的内存拷贝函数。
[C代码3]是赵工编写的一段数据处理的程序,其中fun0的含义为从已创建的一个单向链表中查找倒数第index个结点。他的设计思路为:首先创建两个指针ptr1,ptr2,并且都指向链表头,然后ptr1向前走index步,这样ptr1和ptr2之间就间隔index个结点,然后ptr1和ptr2同时向前步进,当ptr1到达最后一个结点时,ptr2就是倒数第index个结点了。ReverseList()为赵工编写的对已有单向链表进行逆序重排的函数。
[C代码1]
long sum (int i,…)
{
int*p,j;
long s=0;
p=&i+1;
for(j=0;j<i;j++)
s+=p[j];
return s;
}
long Sum=sum(3,1,2,3);
[C代码2]
static int pent;
……··
void*MyMemcpy(void*dest, const void*src, int n)
{
char*pDest=(char*)dest;
char*pSrc=(char*)src;
for(int i=0; i<n; i++) {
*(pDest +i)=*(pSrc+i);
}
return dest;
}
[C代码3]
node *fun(node*head, int index)
{
node *ptr1,*ptr2;
int i=0:
ptr1=head;
ptr2=head;
if( head==NULL || head->next==NULL )
return ptr1;
while (i<index)
{
(1) ;
if (ptrl==NULL)
return head;
i++;
}
while (ptr1->next !=NULL)
{
ptr1=ptr1->next;
(2) ;
}
return (3) ;
}
node* ReverseList (node *head)
{
node *temp1=NULL;
node *temp2=NULL;
node *temp3=NULL;
if ((head->next==NULL) || (head==NULL))
{
return head;
}
temp1=head;
temp3=temp1->next;
temp1->next=NULL;
while (temp3->next !=NULL)
{
temp2=temp3;
temp3=temp3->next;
(4) ;
temp1=temp2;
}
temp3->next=temp1;
return (5) ;
}
仔细阅读并分析C代码3,填补其中的空(1)~(5)。
选项
答案
(1)ptr1=ptr1->next (2)ptr2=ptr2->next (3)ptr2 (4)temp2->next=temp1 (5)temp3
解析
在单向链表中,对某元素的后继元素的访问只能通过结点中的next指针项来获取。按照题目要求,首先创建两个指针ptr1,ptr2,并且都指向链表头,然后ptr1向前走index步,这样ptr1和ptr2之间就间隔index个结点,然后ptr1和ptr2同时向前步进,当ptr1到达最后一个结点时,ptr2就是倒数第index个结点了。因此,对于第index个结点的查找,只需要移动ptr1和ptr2,最后ptr2返回的为倒数第index个结点。
在逆序排列中,将temp3移动到链表尾部,使用temp2作为临时变量进行链表翻转。
转载请注明原文地址:https://kaotiyun.com/show/GhWZ777K
本试题收录于:
嵌入式系统设计师下午应用技术考试题库软考中级分类
0
嵌入式系统设计师下午应用技术考试
软考中级
相关试题推荐
某数据库应用系统在运行过程中,发现随着数据量的不断增加,有部分查询业务和数据更新业务执行耗时越来越长。经分析,这些业务都与表Tablel有关。假设Tablel有30多个字段,分别为(Key,A2,A2,…Am,B1,B2,…Bn)。执行频度较高的查询业务都
关系模型SC(学号,姓名,学院,学院领导,课程号,课程笔,成绩),函数依赖集F={学号→(姓名,学院,学院领导),学院→学院领导,课程号→课程名,(学号,课程号)→成绩},则关系SC中(48)________________,要满足第二范式,应将SC分解
Redis是一种NoSQL数据库,具体地说,是(70)________________存储数据库。
需求分析阶段生成的文档中,用来描述企业中各项业务流程的是(61)________________。
给定关系模式如下,学生(学号,姓名,专业),课程(课程号,课程名称),选课(学号,课程号,成绩)。查询所有学生的选课情况的操作是(36);查询所有课程的选修情况的操作是(37)。(36)
在数据库系统运行中,经常会找出频繁执行的SQL语句进行优化。常见的优化策略有:尽可能减少多表查询或建立(65);用带(66)的条件子句等价替换OR子句;只检索需要的属性列等。(65)
某系统由3个部件构成,每个部件的千小时可靠度都为R,该系统的千小时可靠度为(1-(1-R)2)R,则该系统的构成方式是()。
对分组查询结果讲行筛选的是(),其条件表达式中可以使用聚集函数。
将具有特定功能的一段SQL语句(多于一条)在数据库服务器上进行预先定义并编译,以供应用程序调用,该段SQL程序可被定义为()。
随机试题
(2011年10月)很多单位出现“一把手”腐败,从领导体制上看,主要原因是______。
对工程咨询单位的资格复评每()年进行一次。
张先生在未来10年内每年年初获得1000元,年利率为8%,则这笔年金的终值为()元。
甲游客与乙国际旅行社签订了一份出国旅游合同,在合同中没有明确约定哪一方负担出境手续费。根据我国有关的法律规定,该手续费应当由()负担。
什么是物流活动中的增值活动?
秦始皇将方孔圆钱作为统一货币的原因有两种说法,一是钱铸成后要进行锉边等加工,把方形细木棍插入方孔,可以使钱固定不动,便于操作,方孔钱也便于钱上文字的定位。另一种说法被学界普遍认可,即秦始皇笃信当时极为流行的“天圆地方”的宇宙观。依据文意,文章接下来最应该讲
第二次世界大战后,多数先行国家的行政重心逐渐向社会福利管理转移,它们的人口基础管理,普遍形成了一种以“人口服务”为主的新体制。这种体制并没有放弃人口的管控,只是这种管控的核心目标是人口服务,基本手段是人口服务,表现形式也是人口服务。它将管控寓于服务之中,而
下颌中切牙的解剖特点,错误的是()。
AllthefollowingsentenceshaveanappositiveEXCEPT______
A、Hehasthreetelevisions.B、HewatchesTVveryoften.C、HewatchesTVonlywhenheisnotbusy.D、HewatchesTVtorelaxhimse
最新回复
(
0
)