首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下关于C语言及C代码的叙述。 [说明] 在开发某嵌入式系统时,设计人员根据系统要求,分别编写了如下三部分程序,其中: [C代码1]是李工为了在嵌入式平台上开发一段可变参数函数,在X86平台上实现的一个参数个数可变函数实例。 [
阅读以下关于C语言及C代码的叙述。 [说明] 在开发某嵌入式系统时,设计人员根据系统要求,分别编写了如下三部分程序,其中: [C代码1]是李工为了在嵌入式平台上开发一段可变参数函数,在X86平台上实现的一个参数个数可变函数实例。 [
admin
2011-03-25
59
问题
阅读以下关于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
嵌入式系统设计师下午应用技术考试
软考中级
相关试题推荐
已知无向图的邻接表如图2-35所示。此邻接表对应的无向图为(1)。此图从F开始的深度优先遍历为(2)。从F开始的广度优先遍历为(3)。从F开始的深度优先生成树为(4)。从F开始的广度优先生成树为(5)。
在下列机制中,(23)________________是指过程调用和响应调用所需执行的代码在运行时加以结合;而(24)________________是过程调用和响应调用所需执行的代码在编译时加以结合。
假设铁路自动售票系统有n个售票终端,该系统为每个售票终端创建一个进程Pj(i=1,2,…,n)管理车票销售过程。假设Tjj=1,2,…,m)单元存放某日某趟车的车票剩余票数,Temp为Pi进程的临时工作单元,x为某用户的购票张数。Pi进程的工作流程如下图所
在安全通信中,S将所发送的信息使用(12)________________进行数字签名,T收到该消息后可利用(13)________________验证该消息的真实性。
E-R图中的实体集A、B之间为1:*联系,转换为关系模型时,在B实体集中增加A实体集的标识符作外码;而在面向对象数据模型中,(69)________________。
以下对触发器的叙述中,不正确的是(60)________________。
以下对数据转储的叙述中,不正确的是(58)________________。
下表中两个事务的调度带来的问题是(54)________________。
给定关系模式如下,学生(学号,姓名,专业),课程(课程号,课程名称),选课(学号,课程号,成绩)。查询所有学生的选课情况的操作是(36);查询所有课程的选修情况的操作是(37)。(37)
某系统中有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区中取出产品消费,用P、V操作实现进程间的同步模型如下图所示。假设信号量S1的初值为1,信号量S2的初值为0,那么a、b、c处应分别填()。
随机试题
马科维茨的资产组合管理理论认为,只要两种资产收益率的相关系数不为(),分散投资于两种资产就具有降低风险的作用。
提高法定存款准备金率,会使商业银行的信用能力()。
“可怜九月初三夜,露似珍珠月似弓”这句诗出自《暮江吟》。()
城市居民最低生活保障制度的保障对象是家庭人均收入低于当地最低生活保障标准的、持有非农业户口的城市居民,主要对象包括()。
某单位新聘用了三位工作人员小陈、小田和小张。其中,一个是湖南人,一个是重庆人,一个是辽宁人。小陈和重庆人不同岁,小张的年龄比辽宁人小,重庆人比小田年龄大。根据题干所述,可以推出以下哪项结论?
独立战争前,北美殖民地的民主因素包括()。①拥有比较民主化的议会②白人契约奴不同于奴隶,在期满之后可以获得自由③不存在传统的封建特权和等级制度④新英格兰地区盛行地方自治
(2014年真题)下列关于《法经》的表述,正确的是()。
马克思主义的传播,并没有中断或取消五四运动以前开始的反封建的思想启蒙工作,具体表现在中国的先进分子()
Theprocessby【C1】______ofwhichhumanbeingsarbitrarilymakecertainthingsstandforotherthingsmaybecalledthesymbolic
备忘录致:学生服务部的领导发自:李明日期:9月10日主题:安装电话内容:我想冒昧的就我们每一个寝室需要安装电话这件事提醒您。作为大学生,在当今日新月异的社会里,我们需要和我们的老师、朋友及校外进行及时的交流。因此电话对我们信息的传播与沟通起着重要
最新回复
(
0
)