c语言程序设计形成性作业4,C语言程序设计形成性作业四.doc

44cb7578e1df5412b94317daaa3307ba.gifC语言程序设计形成性作业四.doc

下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。

2.下载的文档,不会出现我们的网址水印。

3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。

文档包含非法信息?点此举报后获取现金奖励!

下载文档到电脑,查找使用更方便

15

积分

还剩页未读,继续阅读

关 键 词:语言程序设计

形成

作业

资源描述:

C语言程序设计形成性作业四

一、 选择题

1. 假定有“struct BOOK{char title[40];float price;};struct BOOK *book;”,则不正确的语句为(A)。

A.struct BOOK *x=malloc(book); B.struct BOOK x={“C++ Programming”,27.0}; C.struct BOOK *x=malloc(sizeof(BOOK)); D.struct BOOK **x=&book;

2. 假定有“struct BOOK{char title[40];float price;} book;”,则正确的语句为(B)。

A.struct BOOK x=&book; B.struct BOOK *x=&book;

C.struct BOOK x=calloc(BOOK); D.struct BOOK *x=BOOK;

3.表示文件结束的符号常量为(C)。

A.eof B.Eof C.EOF D.feof

4.C语言中系统函数fopen()是(D)一个数据文件的函数。

A.读取 B.写入 C.关闭 D.打开

5.从一个数据文件中读入以换行符结束的一行字符串的函数为(B)。

A.gets() B.fgets() C.getc() D.fgetc()

6.向一个二进制文件写入信息的函数fwrite()带有(D)参数。

A.1 B.2 C.3 D.4

二、填空题

1.假定一个结构类型的定义为“struct A{int a,b;A*c;};”,则该类型的大小为_12_字节。

2.假定一个结构类型的定义为“struct B{int a[5],char *b;};”,则该类型的大小为_24_字节。

3.假定一个结构类型的定义为“struct D{int a;union{int b;double c;};struct D* d[2];};”,则该类型的大小为_20_字节。

4.假定要动态分配一个类型为struct Worker的具有n个元素的数组,并由r指向这个动态数组,则使用语句的表达式为struct Worker* r=_ calloc(n,sizeof(struct Worker));_。

5.假定要访问一个结构x中的由a指针成员所指向的对象,则表示方法为_*(x.a)_。

6.假定要访问一个结构指针p所指向对象中的b指针成员所指的对象,则表示方法为_*(p->b)_

7.与结构成员访问表达式(*fp).score等价的表达式是_ fp->score _。

三、写出下列每个程序运行后的输出结果

1. #includestruct Worker{

char name[15]; //姓名

int age; //年龄

float pay; //工资

};

void main(){

struct Worker x={"wanghua",52,23.50};

struct Worker y,*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);

}

wanghua 52 2350.00

wanghua 53 2370.00

2. #include#includestruct Worker{

char name[15]; //姓名

int age; //年龄

float pay; //工资

};

void main(){

struct Worker x;

char *t="louting";

int d=38;float f=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);

}

liouting 39 986.00

3. #include#includestruct Worker{

char name[15]; //姓名

int age; //年龄

float pay; //工资

};

int Less(struct Worker r1,struct Worker r2){

if(r1.age#include#includestruct Worker{

char name[15]; //姓名

int age; //年龄

float pay; //工资

};

从键盘输入n个Worker类型的记录到一维数组a中。

2. struct StrNode *QB(int n){

StrNode *f,*p;

if(n==0)return NULL;

f=(StrNode*)VC++6.0不能将void *赋值给其它类型,必须强制转换

malloc(sizeof(struct StrNode));

scanf("%s",f->name);

p=f;

while(--n){

p=p->next=(StrNode*)malloc(sizeof(struct StrNode));

scanf("%s",p->name);

}

p->next=NULL;

return f;

}

假定结构struct StrNode的定义如下:

struct StrNode{

char name[5];

struct StrNode *next;

};

建立一个具有n个结点的链表,每个结点的字符串值由键盘输入,链表的表头指针由函数返回。

3. struct IntNode* FindMax(struct IntNode *f)

{

struct IntNode *p=f;

if(!f)return NULL;

f=f->next;

while(f){

if(f->data < p->data)p=f;

f=f->next;

}

return p;

}

假定结构struct StrNode的定义如下:

struct IntNode{

int data;

struct IntNode * next;

};

从表头指针f指向的、由IntNode类型的结点所构成的链表中查找出data域的值最小的结点并返回指向该结点的指针。

4. int Count(struct IntNode *f)

{

int c=0;while(f){

c++;

f=f->next;

}

return c;

}

假定结构struct StrNode的定义如下:

struct IntNode{

int data;

struct IntNode * next;

};

统计出以表头指针为f的链表中结点的个数。

5. struct IntNode* Input(int n)

{

struct IntNode *f,*p;

f=(IntNode*)malloc(sizeof(struct IntNode));

if(n==0)return NULL;

f->next=NULL;

printf("从键盘输入 %d 个整数:",n);

while(n--){

scanf("%d",&(f->data));

p=f;

f=(IntNode*)malloc(sizeof(struct IntNode));

f->next=p;

}

return f->next;

}

假定结构struct StrNode的定义如下:

struct IntNode{

int data;

struct IntNode * next;

};

根据从键盘上输入的n个整数建立以一个链表,链表中的结点次序与输入值的次序相反,表头指针由函数返回。

6. #include#include#includevoid JA(char* fname)

{

FILE* fout=fopen(fname,"w");

char a[20];

printf("");

while(1){

scanf("%s",a);

if(strcmp(a,"end")==0)break;

fputs(a,fout);

fputc(\n,fout);

}

fclose(fout);

}

void main()

{

char *p="d:\\xxk\\xuxk1.txt";

JA(p);

}

从键盘上输入一组字符串到d:\xxk\xuxk1.txt字符文件中,存入文件时每个字符串后添加一个换行符,当从键盘上输入结束标志字符串"end"时程序结束。

展开阅读全文

温馨提示:

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。

2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。

3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。

4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。

5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。

6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。

7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

bb6249c6567dd4384e6ab3556cfc22ed.gif 

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

关于本文

本文标题:C语言程序设计形成性作业四.doc

链接地址:https://www.renrendoc.com/p-59860226.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值