百年教育职业培训中心 百年教育学习服务平台
题库试卷

24春国开电大春西安广播电视大学C语言程序设计形考任务4形考任务4参考答案_1

来源: 更新时间:

形考任务4_形考任务40形考任务4_形考任务40试卷总分:100得分:0一、选择题(共30分,每小题2分)1.假定有“structBOOK{chartitle[40];floatprice

形考任务4_形考任务40

形考任务4_形考任务40

试卷总分:100 得分:0

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

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

A. struct BOOK *x=malloc(book);

B. struct BOOK x={"C++ Programming",27.0};

C. struct BOOK *x=malloc(sizeof(struct BOOK));

D. struct BOOK *x=&book;

答案:


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

A. struct BOOK x= &book;

B. struct BOOK *x=&book;

C. struct BOOK x=calloc(BOOK);

D. struct BOOK *x=BOOK;

答案:


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

A. 句点

B. 冒号

C. 分号

D. 逗号

答案:


4.假定一个结构类型的定义为 “struct A{int a,b; double c;};”,则该类型的长度为(??? )。

A. 8

B. 10

C. 12

D. 16

答案:


5.假定一个结构类型的定义为 “struct D{int a; D* next;};”,则该类型的长度为(??? )。国开搜题

A. 4

B. 8

C. 12

D. 16

答案:


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

A. x.a

B. x->a

C. x(a)国开搜题

D. x{a}

答案:


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

A. x->name

B. &x->name

C. (&x)->name

D. (*x)->name

答案:


8.假定一个链表中结点的结构类型为“struct AA{int data, struct AA *next;};”,则next数据成员的类型为(??? )。

A. struct AA

B. struct AA*

C. AA渝粤搜题

D. int

答案:


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

A. p->next=f

B. p->next=ff=p

C. f=p->next

D. f->next=pf=p

答案:


10.标准输入设备键盘的文件流标识符是(??? )。一网一平台答案

A. stdin

B. stdout

C. stderr

D. stdio

答案:


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

A. eof

B. Eof

C. EOF

D. feof

答案:


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

A. fgetc()

B. fputc()

C. fclose()

D. fopen()

答案:


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

A. gets()

B. fgets()

C. getc()

D. fgetc()

答案:


14.向一个二进制文件中写入信息的函数fwrite()带有的参数个数为(??? )。

A. 1

B. 2

C. 3

D. 4

答案:


15.C语言中,为只写操作打开一个文本文件的方式为(??? )。

A. "a"

B. "r+"

C. "r"

D. "w"

答案:渝粤题库,我们的目标是要做全覆盖、全正确的答案搜索服务。


二、判断题(共40分,每小题2分。叙述正确则回答,否则回答渝粤教育

16.在结构类型的定义中,其中的数据成员可以是本身类型的直接对象。

答案:


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

答案:


18.定义结构类型的变量时,不能够同时进行初始化。

答案:


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

答案:国开形成性考核答案


20.假定一个结构类型的定义为 “struct A{int a,b; A* c;};”,则该类型的长度为12国开形成性考核答案

答案:


21.假定一个结构类型的定义为 “struct B{int a[5]; char* b;};”,则该类型的长度为20

答案:


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

答案:


23.执行malloc(sizeof(struct BB))函数调用时,得到的动态存储空间能够保存具有struct BB结构类型的一个对象。

答案:


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

答案:


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

答案:


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

答案:

国开形成性考核答案

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

答案:


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

答案:


29.在一个磁盘数据文件的文件名中,文件主名和扩展名都是必须的,不可省略。国开形成性考核答案

答案:


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

答案:

渝粤教育

31.一个磁盘数据文件的文件名由文件主名和扩展名所组成,其中间用圆点分开。

答案:


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

答案:


33.每次只能向文本文件中写入一个字符,不能一次写入一个字符串。

答案:


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

答案:


35.C语言中,系统函数fseek()用来移动数据文件中的文件位置指针。

答案:


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

36.#include<stdio.h>


?????? struct Worker {


?????????? char name[15];? //姓名


?????????? int age;??????? //年龄


?????????? float pay;????? //工资


?????? };


?????? void main() {


?????????? struct Worker x={"wanghua",52,4300};


?????????? struct Worker y, *p;


?????????? y=x; p=&x;


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


?????? }

答案:<p>wanghua???52???4300<br></p>


37.#include<stdio.h>


?????? #include<string.h>


?????? struct Worker {


?????????? char name[15];? //姓名


?????????? int age;??????? //年龄


?????????? float pay;????? //工资


?????? };


?????? void main() {

渝粤搜题

?????????? struct Worker x;


?????????? char *t="liouting";


?????????? int d=38; float f=3493;


?????????? strcpy(x.name,t);

渝粤题库,我们的目标是要做全覆盖、全正确的答案搜索服务。

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


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


?????? }

答案:<p>liouting???39???2493<br></p>


38.#include<stdio.h>


?? ????struct Worker {char name[15]; int age; float pay;};


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

渝粤搜题

?????????? if(r1.age<r2.age) return 1; else return 0;


?????? }


?????? void main() {

渝粤题库,我们的目标是要做全覆盖、全正确的答案搜索服务。

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


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


?????????? struct Worker x=a[0];


?????????? int i;


?????????? 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);


?????? }

答案:<p>def???58???4638<br></p>


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

39.void QA(struct Worker a[], int n) {


?????????? int i;


?????????? for(i=1; i<n; i++)


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


?????? }


??? 假定结构类型struct Worker 的定义如下:


?????? struct Worker { char name[15]; int age; float pay;};

答案:<p>从键盘输入nWorker类型的记录到一维数组a中。<br></p>


40.int Count(struct IntNode *f)


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


??????????? int c=0;


??????????? while(f) {


??????????????? c++;


??????????????? f=f->next;


??????????? }


??????????? return c;


??????? }


? ??假定struct IntNode的类型定义为:


?? ?????struct IntNode {int data; IntNode* next;};

答案:<p>统计出以表头指针为f的链表中结点的个数。<br></p>渝粤题库,我们的目标是要做全覆盖、全正确的答案搜索服务。


41.void xw1(char* fname) {


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


?? ????????char a[20];


?????????? printf("每个字符串长度小于20,字符串end作为结束标志\n");


?? ????????while(1) {


??? ???????????scanf("%s",a);


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


??? ???????????fputs(a,fout);


??? ???????????fputc('\n',fout);渝粤题库


?? ????????}


? ?????????fclose(fout);


? ?????}国家开放大学作业答案国开搜题

答案:<p>把从键盘上输入的若干个字符串保存到由fname参数所指定的文本文件中。<br></p>

电话咨询