C语言程序设计形考任务4.docx

上传人:b****7 文档编号:10614936 上传时间:2023-02-21 格式:DOCX 页数:15 大小:19.33KB
下载 相关 举报
C语言程序设计形考任务4.docx_第1页
第1页 / 共15页
C语言程序设计形考任务4.docx_第2页
第2页 / 共15页
C语言程序设计形考任务4.docx_第3页
第3页 / 共15页
C语言程序设计形考任务4.docx_第4页
第4页 / 共15页
C语言程序设计形考任务4.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

C语言程序设计形考任务4.docx

《C语言程序设计形考任务4.docx》由会员分享,可在线阅读,更多相关《C语言程序设计形考任务4.docx(15页珍藏版)》请在冰豆网上搜索。

C语言程序设计形考任务4.docx

C语言程序设计形考任务4

BOOHbook;”,

,则正确的语

一、选择题(共30分,每小题2分)

题目1

假定有“structBOOK{chartitle[40];floatprice;};struct则不正确的语句为()。

选择一项:

a.structBOOK*x=malloc(book);

b.structBOOKx={"C++Programming",27.0};

c.structBOOK*x=malloc(sizeof(structBOOK));

d.structBOOK*x=&book;

正确答案是:

structBOOK*x=malloc(book);

题目2

假定有“structBOOK{chartitle[40];floatprice;}book;

句为()。

选择一项:

a.structBOOKx=&book;

b.structBOOK*x=&book;

c.structBOOKx=calloc(BOOK);

d.structBOOK*x=BOOK;

正确答案是:

structBOOK*x=&book;

题目3

在结构类型的定义中,不同数据成员的定义项之间采用的分隔符是

选择一项:

a.句点

b.冒号

c.分号

d.逗号

正确答案是:

分号

题目4

假定一个结构类型的定义为“structA{inta,b;doublec;};”,则该类型的

长度为()。

选择一项:

a.8

b.10

c.12

d.16

正确答案是:

16

题目5

假定一个结构类型的定义为“structD{inta;D*next;};”,则该类型的长

度为()。

选择一项:

a.4

b.8

c.12

d.16

正确答案是:

8

题目6

假定要访问一个结构指针变量x中的数据成员a,则表示方法为()。

选择一项:

a.x.a

b.x->a

c.x(a)

d.x{a}

正确答案是:

x->a

题目7

与结构成员访问表达式x.name等价的表达式为()。

选择一项:

a.x->name

b.&x->name

c.(&x)->name

d.(*x)->name

正确答案是:

(&x)->name

题目8

假定一个链表中结点的结构类型为“structAA{intdata,structAA*next;};”,则next数据成员的类型为()。

选择一项:

C

a.structAA

b.structAA*

c.AA

d.int

正确答案是:

structAA*

题目9

假定一个链表的表头指针为f,结点中包含有data和next域,则向该链表的表头插入一个地址为p的结点时,应执行的操作为()。

选择一项:

a.p->next=f

b.p->next=f和f=p

c.f=p->next

d.f->next=p和f=p

正确答案是:

p->next=f和f=p

题目10

标准输入设备键盘的文件流标识符是()。

选择一项:

a.stdin

b.stdout

c.stderr

d.stdio

正确答案是:

stdin

题目11

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

选择一项:

a.eof

b.Eof

c.EOF

d.feof

正确答案是:

EOF

题目12

C语言中打开一个数据文件的系统函数为()

选择一项:

a.fgetc()

b.fputc()

c.fclose()

d.fopen()

正确答案是:

fopen()

题目13

从一个数据文件中读入以换行符结束的一行字符串的系统函数为()

选择一项:

a.gets()

b.fgets()

c.getc()

d.fgetc()

正确答案是:

fgets()

题目14

向一个二进制文件中写入信息的函数fwrite()带有的参数个数为()选择一项:

a.1

b.2

c.3

d.4

正确答案是:

4

题目15

在C语言中,为只写操作打开一个文本文件的方式为(

选择一项:

a.

II

a"

b.

II

r+"

c.

II

r"

w"

d.

正确答案是:

"w"

II,

、判断题(共40分,每小题2分。

叙述正确则回答“是”,否则回答“否”)

题目16

在结构类型的定义中,其中的数据成员可以是本身类型的直接对象选择一项:

正确的答案是“错”。

题目17

在结构类型的定义中,允许出现结构类型不完整的超前定义。

选择一项:

正确的答案是“对”。

题目18

定义结构类型的变量时,不能够同时进行初始化选择一项:

正确的答案是“错”。

题目19

使用一个结构类型时,必须一起使用关键字struct和类型标识符

选择一项:

正确的答案是“对”。

题目20

假定一个结构类型的定义为

“structA{inta,b;A*c;};

,则该类型的长度

为12

选择一项:

正确的答案是“对”

题目21

假定一个结构类型的定义为

“structB{inta[5];char*b;};

,则该类型的

长度为20。

选择一项:

正确的答案是“错”。

题目22

执行calloc(n,8)函数调用时,将动态分配得到8*n个字节的存储空间。

选择一项:

正确的答案是“对”。

题目23

执行malloc(sizeof(structBB))函数调用时,得到的动态存储空间能够保存具

有structBB结构类型的一个对象。

选择一项:

正确的答案是“对”。

题目24

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

选择一项:

正确的答案是“错”。

题目25假定要访冋一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为p->b。

选择一项:

正确的答案是“错”。

题目26

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

选择一项:

正确的答案是“对”。

题目27

在C语言中,对二进制文件的所有不同打开方式共有6种。

选择一项:

正确的答案是“对”。

题目28

C语言中的标准输入和输出设备文件都属于字符文件。

选择一项:

错正确的答案是“对”

题目29

在一个磁盘数据文件的文件名中,文件主名和扩展名都是必须的,不可省略。

选择一项:

正确的答案是“错”。

题目30

在数据文件打开方式字符串中,字符r、w和a具有确定的含义,分别代表读、写和追加方式。

选择一项:

正确的答案是“对”。

题目31

一个磁盘数据文件的文件名由文件主名和扩展名所组成,其中间用圆点分开选择一项:

正确的答案是“对”。

题目32

C语言系统中提供一个用来描述文件属性的类型标识符为FILE

选择一项:

正确的答案是“对”

题目33

每次只能向文本文件中写入一个字符,不能一次写入一个字符串选择一项:

正确的答案是“错”。

题目34

对二进制文件进行读和写操作将使用相同的系统函数。

选择一项:

正确的答案是“错”

题目35

在C语言中,系统函数fseek()用来移动数据文件中的文件位置指针选择一项:

正确的答案是“对”。

、写出下列每个程序运行后的输出结果(共15分,每小题5分)

题目36

#include

structWorker{

charname[15];//姓名

intage;//年龄

floatpay;//工资

};

voidmain(){

structWorkerx={"wanghua",52,4300};

structWorkery,*p;

y=x;p=&x;

printf("%s%d%6.2f\n",x.name,y.age,p->pay);}

wanghua524300

题目37

#include

#include

structWorker{

charname[15];//姓名

intage;//年龄

floatpay;//工资

};

voidmain(){

structWorkerx;

char*t="liouting";

intd=38;floatf=3493;

strcpy(x.name,t);

x.age=d;x.pay=f;

printf("%s%d%6.0f\n",x.name,x.age,x.pay);}

liouting392493

题目38

#include

structWorker{charname[15];intage;floatpay;};

intLess(structWorkerr1,structWorkerr2){if(r1.age

}

voidmain(){

structWorker

a[4]={{"abc",25,2420},{"def",58,4638},

{"ghi",49,4260},{"jkl",36,3750}};

structWorkerx=a[0];

inti;

for(i=1;i<4;i++)

if(Less(x,a[i]))x=a[i];

printf("%s%d%6.0f\n",x.name,x.age,x.pay);

def

58

4638

四、写出下列每个函数的功能(共15分,每小题5分)

题目39

voidQA(structWorkera[],intn){

inti;

for(i=1;i

scanf("%s%d%f",&a[i].name,&a[i].age,&a[i].pay);

}

假定结构类型structWorker的定义如下:

structWorker{charname[15];intage;floatpay;};

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

题目40

intCount(structIntNode*f)

{//f为指向一个单链表的表头指针

intc=0;

while(f){

c++;

f=f->next;

}

returnc;

}

假定structIntNode的类型定义为:

structIntNode{intdata;IntNode*next;};

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

题目41

voidxw1(char*fname){

标志\n");

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

chara[20];

printf("每个字符串长度小于20,字符串end作为结束while

(1){

scanf("%s",a);

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

fputs(a,fout);

fputc('\n',fout);

}

fclose(fout);

}

把从键盘上输入的若干个字符串保存到由fname参数所指定的文本文件中

[此文档可自行编辑修改,如有侵权请告知删除,感谢您的支持,我们会努力把内容做得更好]

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1