A.1
B.2
C.4
D.3
第1题
#include <stdio.h>
void swap(int *a,int *b)
{ int *t;
t=a; a=b; b=t;
}
main()
{ int i=3,j=5,*p=&i,*q=&j;
swap(p,q); printf("%d %d\n",*p,*q);
}
第2题
第4题
【问题1】(4分) 写出代码1运行后的输出结果。 【问题2】(3分) 写出代码2运行后的输出结果。 【问题3】(8分) 代码3的功能与代码2完全相同,请补充3中的空缺,将解答写入答题纸的对应栏内。
第5题
阅读下列说明和程序,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
在开发某嵌入式系统时,设计人员根据系统要求,分别编写了相关程序,其中:
【程序1】是李工编写的一个数据交换子程序。
【程序2】是赵工编写的一段利用递归方法判别链表表示的两个数据结构是否相等的程序,若相等则返回值为1,否则返回为0。判别的准则是若两个链表的首指针相等,则相等;否则进行内部元素比较,元素中的itemid表示后面联合体un的有效性,itemid为0时,联合体un里面的data项有效,否则联合体un中的link项有效。
【程序1】
#include <stdio.h>
swap(int x,int y){
int t:
t= x;
x=y;
y=t;
}
main() {
int a,b;
a=3;
b=4;
swap(a,b);
printf(”%d, %d\n",a,b);
}
【程序2】
typedef struct Item {
int itemid;
union {
char data;
struct Item *link;
}un;
struct Item *nextItem;
} ItemNode;
int EqualItem( ItemNode*x,ItemNode*y){
int res;
if(x==y) retun1;
if(1){
if (2){
If(x->itemid==0){
res= (3) ;
}
else{
res= (4) ;
}
if (res){
retun (5) ;
}
}
}
Return0;
}
【问题1】(6分)
执行【程序1】后,打印出来的a=3,b=4;并没有完成数据交换,请指出李工的问题?并改正程序错误。将答案填写在答题纸中对应的栏目。
【问题2】(5分)
仔细阅读并分析【程序2】中的C语言代码,完成其中(1)~(5)空白填空,将
答案填入答题纸的对应栏内。
【问题3】(4分)
李工编写某嵌入式软件时,遇到了一些问题,请帮助李工解答下面2个问题,并将答案填写在答题纸中对应的栏目。
(1)李工在编译时,程序没有通过编译,经检查程序后将文件头的#include<filename.h>改为#include“filename.h”后编译通过,请问#include <filename.h>和#include“filename.h”的区别是什么?
(2)李工在编写一段C++程序时,需要调用一段已编译的C语言函数,为什么要加exten“C”?
第6题
A、#include <stdio.h> int main() { int a[5]={1,2,3,4,5}; swap(&a[0],&a[1]); printf("调用函数后:a[0]=%d\ta[1]=%d\n",a[0],a[1]); return 0; }
B、#include <stdio.h> int main() { int a[5]={1,2,3,4,5},*p; p=a; swap(p,p+1); printf("调用函数后:a[0]=%d\ta[1]=%d\n",a[0],a[1]); return 0; }
C、#include <stdio.h> int main() { int a[5]={1,2,3,4,5},*p; swap(a,a+1); printf("调用函数后:a[0]=%d\ta[1]=%d\n",a[0],a[1]); return 0; }
D、#include <stdio.h> int main() { int a[5]={1,2,3,4,5},*p; swap(a[0],a[1]); printf("调用函数后:a[0]=%d\ta[1]=%d\n",a[0],a[1]); return 0; }
第7题
第8题
include <stdio.h>
void swap(int *a, int *B)
{
int *t;
t=a;a=b;b=t;
}
main()
{
int i=3,j=5,*p=&i,*q=&j;
swap(p,q);printf("%d %d\n",*p,*q);
}
第9题
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!