《C语言程序设计A》课程形成性考核作业四参考答案.docx
- 文档编号:26634298
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:9
- 大小:16.13KB
《C语言程序设计A》课程形成性考核作业四参考答案.docx
《《C语言程序设计A》课程形成性考核作业四参考答案.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计A》课程形成性考核作业四参考答案.docx(9页珍藏版)》请在冰豆网上搜索。
《C语言程序设计A》课程形成性考核作业四参考答案
一、选择题
1.假定有“structBOOK{chartitle[40];floatprice;};structBOOK*book;”,则不正确的语句为(A)。
A.structBOOK*x=malloc(book);B.structBOOKx={“C++Programming”,27.0};C.structBOOK*x=malloc(sizeof(BOOK));D.structBOOK**x=&book;
2.假定有“structBOOK{chartitle[40];floatprice;}book;”,则正确的语句为(B)。
A.structBOOKx=&book;B.structBOOK*x=&book;
C.structBOOKx=calloc(BOOK);D.structBOOK*x=BOOK;
3.表示文件结束的符号常量为(C)。
A.eofB.EofC.EOFD.feof
4.C语言中系统函数fopen()是(D)一个数据文件的函数。
A.读取B.写入C.关闭D.打开
5.从一个数据文件中读入以换行符结束的一行字符串的函数为(B)。
A.gets()B.fgets()C.getc()D.fgetc()
6.向一个二进制文件写入信息的函数fwrite()带有(D)参数。
A.1B.2C.3D.4
二、填空题
1.假定一个结构类型的定义为“structA{inta,b;A*c;};”,则该类型的大小为___12_______字节。
2.假定一个结构类型的定义为“structB{inta[5],char*b;};”,则该类型的大小为___24_______字节。
3.假定一个结构类型的定义为“structD{inta;union{intb;doublec;};structD*d[2];};”,则该类型的大小为___20_______字节。
4.假定要动态分配一个类型为structWorker的具有n个元素的数组,并由r指向这个动态数组,则使用语句的表达式为structWorker*r=__(Worker*)malloc(n*sizeof(Worker));_____。
5.假定要访问一个结构x中的由a指针成员所指向的对象,则表示方法为__x.(*a)___。
6.假定要访问一个结构指针p所指向对象中的b指针成员所指的对象,则表示方法为_____*(p->b)___
7.与结构成员访问表达式(*fp).score等价的表达式是__fp->score______。
三、写出下列每个程序运行后的输出结果
1.#include
structWorker{
charname[15];//姓名
intage;//年龄
floatpay;//工资
};
voidmain(){
structWorkerx={"wanghua",52,23.50};
structWorkery,*p;
y=x;p=&x;
printf("%s%d%6.2f\n",y.name,y.age,y.pay);
printf("%s%d%6.2f\n",p->name,p->age,p->pay);
}
输出结果为:
wanghua5223.50
wanghua5223.50
Pressanykeytocontinue
2.#include
#include
structWorker{
charname[15];//姓名
intage;//年龄
floatpay;//工资
};
voidmain(){
structWorkerx;
char*t="louting";
intd=38;floatf=493;
strcpy(x.name,t);
x.age=d;x.pay=f;
x.age++;x.pay*=2;
printf("%s%d%6.2f\n",x.name,x.age,x.pay);
}
输出结果为:
louting39986.00
Pressanykeytocontinue
3.#include
#include
structWorker{
charname[15];//姓名
intage;//年龄
floatpay;//工资
};
intLess(structWorkerr1,structWorkerr2){
if(r1.age elsereturn0; } voidmain(){ structWorkera[4]={{"abc",25,420},{"def",58,638},{"ghi",49,560},{"jkl",36,375}}; structWorkerx=a[0]; inti; for(i=1;i<4;i++) if(Less(x,a[i]))x=a[i]; printf("%s%d%6.2f\n",x.name,x.age,x.pay); } 输出结果为: def58638.00 Pressanykeytocontinue 四、写出下列每个函数的功能 1. voidQA(structWorkera[],intn){ inti; for(i=0;i scanf("%s%d%f",&a[i].name,a[i].age,a[i].pay); } 假定结构structWorker的定义如下: #include #include #include structWorker{ charname[15];//姓名 intage;//年龄 floatpay;//工资 }; 函数功能为: 输入structWorker类型的对象a[n]的各个元素的值 2.structStrNode*QB(intn){ StrNode*f,*p; if(n==0)returnNULL; f=(StrNode*)malloc(sizeof(structStrNode)); scanf("%s",f->name); p=f; while(--n){ p=p->next=(StrNode*)malloc(sizeof(structStrNode)); scanf("%s",p->name); } p->next=NULL; returnf; } 假定结构structStrNode的定义如下: structStrNode{ charname[5]; structStrNode*next; }; 函数功能为: 建立一个具有n个结点,每个结点的类型是StrNode的链表 3.structIntNode*FindMax(structIntNode*f) { structIntNode*p=f; if(! f)returnNULL; f=f->next; while(f){ if(f->data f=f->next; } returnp; } 假定结构structStrNode的定义如下: structIntNode{ intdata; structIntNode*next; }; 函数功能为: 在一个具有n个结点,每个结点的类型是IntNode的链表中寻找data值最大的结点 4.intCount(structIntNode*f) { intc=0;while(f){ c++; f=f->next; } returnc; } 假定结构structStrNode的定义如下: structIntNode{ intdata; structIntNode*next; }; 函数功能为: 计算一个具有n个结点,每个结点的类型是IntNode的链表的结点数 5.structIntNode*Input(intn) { structIntNode*f,*p; f=(IntNode*)malloc(sizeof(structIntNode)); if(n==0)returnNULL; f->next=NULL; printf("从键盘输入%d个整数: ",n); while(n--){ scanf("%d",&(f->data)); p=f; f=(IntNode*)malloc(sizeof(structIntNode)); f->next=p; } returnf->next; } 假定结构structStrNode的定义如下: structIntNode{ intdata; structIntNode*next; }; 函数功能为: 在类型为IntNode的链表后输入n个结点的数据 6.#include #include #include voidJA(char*fname) { FILE*fout=fopen(fname,"w"); chara[20]; printf(""); while (1){ scanf("%s",a); if(strcmp(a,"end")==0)break; fputs(a,fout); fputc('\n',fout); } fclose(fout); } voidmain() { char*p="d: \\xxk\\xuxk1.txt"; JA(p); } 函数功能为: 在已经存在的d: \xxk文件夹下(如不存在此文件夹程序运行会出错)打开xuxk1.txt文件,并向其中输入一系列长度小于20的字符串,直到输入字符串end结束。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计A 语言程序设计 课程 形成 考核 作业 参考答案
![提示](https://static.bdocx.com/images/bang_tan.gif)