《C语言程序设计》形成性考核作业(4)解答_第1页
《C语言程序设计》形成性考核作业(4)解答_第2页
《C语言程序设计》形成性考核作业(4)解答_第3页
《C语言程序设计》形成性考核作业(4)解答_第4页
已阅读5页,还剩4页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精品文档 C 语言程序设计作业4 解答一、选择题1. 假定有“ structBOOK chartitle40; floatprice;structBOOK* book;”,则不正确的语句为(A)。A. structBOOK* x=malloc(book);B. structBOOKx="C+ Programming",27.0;C. structBOOK* x=malloc(sizeof(struct BOOK);D. structBOOK*x=&book;2. 假定有“ structBOOK chartitle40; floatprice; book; ”,则正确

2、的语句为 ( B )。A. structBOOKx=&book;B. structBOOK* x=&book;C. structBOOKx=calloc(BOOK);D. structBOOK*x=BOOK;3. 表示文件结束符的符号常量为 ( C )。A. eofB. EofC. EOFD. feof4. C 语言中的系统函数fopen( ) 是 ( D)一个数据文件的函数。A. 读取B. 写入C. 关闭D. 打开5.从一个数据文件中读入以换行符结束的一行字符串的函数为( B)。A. gets( )B. fgets( )C. getc( )D. fgetc( )6.向一个二进

3、制文件中写入信息的函数fwrite( ) 带有 ( D)个参数。A. 1B. 2C. 3D. 4二、填空题1. 假定一个结构类型的定义为“ structA int a, b; structA * c; ”,则该类型的大小为12可编辑精品文档字节。2. 假定一个结构类型的定义为“ structB int a5; char* b; ”,则该类型的大小为24字节。3. 假定一个结构类型的定义为“structD int a; union intb; doublec; structD * d2;”,则该类型的大小为20字节。4.假定要动态分配一个类型为structWorker 的具有 n 个元素的数组,

4、 并由 r 指向这个动态数组, 则使用的语句表达式为 structWorker * r=calloc(n, sizeof(structWorker);。5.假定要访问一个结构 x 中的由 a 指针成员所指向的对象,则表示方法为*(x.a)。6. 假定要访问一个结构指针 p 所指对象中的 b 指针成员所指的对象,则表示方法为*(p->b)。7. 与结构成员访问表达式(*fp).score等价的表达式是fp->score。三、写出下列每个程序运行后的输出结果1. #include <stdio.h>structWorker charname15;/姓名intage;/年龄f

5、loatpay;/工资;void main( )structWorkerx="wanghua", 52, 2350;structWorkery, * p;y=x;p=&x;可编辑精品文档printf("%s%d%6.2fn",, y.age, y.pay);printf("%s%d%6.2fn",p->name, p->age, p->pay);程序的运行结果是 :wanghua522350.00wanghua522350.002.#include<stdio.h>#include&l

6、t;string.h>structWorker charname15;/姓名intage;/年龄floatpay;/工资;voidmain( )structWorker x;char *t="liouting"intd=38;floatf=493;strcpy(, t);x.age=d;x.pay=f;x.age+;x.pay*=2;printf("%s%d%6.2fn",, x.age, x.pay);程序的运行结果是:liouting39986.003.#include<stdio.h>可编辑精品文档stru

7、ctWorker charname15;/姓名intage;/年龄floatpay;/工资;intLess(structWorkerr1, structWorkerr2)if(r1.age<r2.age)return1;elsereturn0;voidmain( )structWorkera4="abc",25,420,"def",58,638,"ghi",49,560,"jkl",36,375;structWorker x=a0;int i;for(i=1; i<4; i+)if(Less(x,ai)

8、x=ai;printf("%s%d%6.2fn",, x.age, x.pay);程序的运行结果是:def58638.00四、写出下列每个函数的功能1.voidQA(structWorkera , intn)inti;for(i=1; i<n; i+)可编辑精品文档scanf("%s%d%f", &, &ai.age, &ai.pay);假定结构类型structWorker的定义如下 :structWorker charname15;/姓名intage;/年龄floatpay;/工资;函数的功能是:

9、 将键盘输入的n-1 个职工记录, 包括职工姓名、 年龄和工资保存在结构数组a 中。2.structStrNode* QB(int n)structStrNode* f, * p;if(n=0)returnNULL;f=malloc(sizeof(structStrNode);scanf("%s",f->name);p=f;while(-n)p=p->next=malloc(sizeof(structStrNode);scanf("%s", p->name);p->name=NULL;return f;假定结构类型structSt

10、rNode的定义如下 :可编辑精品文档structStrNodecharname15;/字符串域structStrNode* Next;/指针域;函数功能是 : 将键盘输入的n 个长度小于15 的字符存储在一个链表中,先输入的字符串存储在链表的表头,最后输入的字符串存储在链表的表尾,函数返回链表的表头指针。3.structIntNode* FindMax(structIntNdoe * f)structIntNode* p=f;if(!f)returnNULL;f=f->next;while(f)if(f->data<p->data)p=f;f=f->next;r

11、eturn p;假定 structIntNode的类型定义为:structIntNodeintdata;/结点值域structIntNode * next;/结点指针域;函数的功能是: 查找由头指针f 所指链表中各结点值域的最小值,函数返回值域值最小的结点指针。可编辑精品文档4.intCount(structIntNode* f)int c=0;while(f)c+;f=f->next;return c;假定 structIntNode的类型定义为:structIntNodeintdata;/结点值域structIntNode * next;/结点指针域;函数的功能是: 统计并返回由头指

12、针f 所指链表的结点数。5.structIntNode* Input( intn)structIntNode * f, * p;f=malloc(sizeof(structIntNode);if(n=0)return NULL;f->next=NULL;printf("从键盘输入%d个整数 : ", n);while(n-)scanf("%d", &(f->data);p=f;可编辑精品文档f=malloc(sizeof(structIntNode);f->next=p;returnf->next;假定 structInt

13、Node的类型定义为:structIntNodeintdata;/结点值域structIntNode * next;/结点指针域;函数功能是 : 将键盘输入的n 个整数存储在一个链表中,先输入的数据存储在链表的表尾,最后输入的数据存储在链表的表头,函数返回链表的表头指针。6. #include <stdio.h>#include <stdlib.h>#include <string.h>voidJA(char* fname)FILE* fout=fopen(fname,"w");chara20;printf("输入若干个字符串,每个字符串长度小于20, 字符串 end 作为结束标志.n");while(1)scanf("%s", a);if(strcmp(a, "end")=0)break;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论