首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下关于C语言及C代码的叙述。 [说明] 在开发某嵌入式系统时,设计人员根据系统要求,分别编写了如下三部分程序,其中: [C代码1]是李工为了在嵌入式平台上开发一段可变参数函数,在X86平台上实现的一个参数个数可变函数实例。 [
阅读以下关于C语言及C代码的叙述。 [说明] 在开发某嵌入式系统时,设计人员根据系统要求,分别编写了如下三部分程序,其中: [C代码1]是李工为了在嵌入式平台上开发一段可变参数函数,在X86平台上实现的一个参数个数可变函数实例。 [
admin
2011-03-25
73
问题
阅读以下关于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代码1后,Sum的值应为多少?请用十进制表示。
选项
答案
Sum=6
解析
本题考查嵌入式C语言编程基础知识。
可变参数函数的应用在嵌入式C程序设计中应用非常广泛。在X86平台下,参数在堆栈中的存放是按照由底向上进行存储的。因此,在该程序中,sum函数的第一个参数表示的是在该参数后面还包含有几个参数。在程序体中,使用第一个参数进行参数访问控制,参数的获取方式按照数组方法进行获取。因此,C代码1执行后,Sum的值为6。
转载请注明原文地址:https://kaotiyun.com/show/UhWZ777K
本试题收录于:
嵌入式系统设计师下午应用技术考试题库软考中级分类
0
嵌入式系统设计师下午应用技术考试
软考中级
相关试题推荐
下图所示的扩展E—R图中,属性“电话”属于(62)________________,在逻辑结构设计中,该图中的(63)________________属性将不会被转换到关系模式中。
在下列机制中,(23)________________是指过程调用和响应调用所需执行的代码在运行时加以结合;而(24)________________是过程调用和响应调用所需执行的代码在编译时加以结合。
E-R图中的实体集A、B之间为1:*联系,转换为关系模型时,在B实体集中增加A实体集的标识符作外码;而在面向对象数据模型中,(69)________________。
以下关于计算机软件著作权的叙述中,正确的是(16)________________。
(16)是构成我国保护计算机软件著作权的两个基本法律文件。单个自然人的软件著作权保护期为(17)。(16)
并发操作可能带来的数据不一致性有(52),解决的办法是并发控制,主要技术是(53)。(52)
某系统中有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区中取出产品消费,用P、V操作实现进程间的同步模型如下图所示。假设信号量S1的初值为1,信号量S2的初值为0,那么a、b、c处应分别填()。
以下关于系统原型的叙述中,不正确的是()。
以下关于软件测试的叙述中,正确的是()。
对分组查询结果讲行筛选的是(),其条件表达式中可以使用聚集函数。
随机试题
汉乐府基本艺术特色是擅长()
关于骨盆出口,错误的是
灶心土的作用不包括( )。
最易虫蛀的中药饮片是()
路基土石方施工时,严禁在下列地点弃土( )。
图示机构中,曲柄OA以匀角速度绕O轴转动,滚轮B沿水平面作纯滚动,已知OA=l,AB=2l,滚轮半径为r。在图示位置时,OA铅直,滚轮B的角速度为( )。
某贷款项目,银行贷款年利率为8%时,财务净现值为33.82万元;银行贷款年利率为10%时,财务净现值为一16.64万元,当银行贷款年利率为()时,企业财务净现值恰好为零。
EHKMN
由生产技术水平决定的生产资料和劳动力之间的量的比例,被称为()。
春运期间。人流量很大,停车场有辆小车尾气着火了,假如你是停车场负责人你要怎么办?
最新回复
(
0
)