资源预览内容
第1页 / 共15页
第2页 / 共15页
第3页 / 共15页
第4页 / 共15页
第5页 / 共15页
第6页 / 共15页
第7页 / 共15页
第8页 / 共15页
第9页 / 共15页
第10页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
一、选择题(共 30分,每小题 2分)题目1假定有 “st ruct BOOKchar titl e40; float price; st ruct BOOK book; 则不正确的语句为( )。选择一项:struct BOOK *x=malloc(book);b.struct BOOK x=C+ Programming,27.0;d.struct BOOK *x=&book;struct BOOK *x=malloc(sizeof(struct BOOK);正确答案是:struct BOOK *x=malloc(book);题目2)。假定有 “struct BOOKchar title40; float price; book;,则正确的语 句为(选择一项:a.structBOOKx= &book;b.structBOOK*x=&book;c.structBOOKx=calloc(BOOK);d.structBOOK*x=BOOK;正确答案是: struct BOOK *x=&book;题目3)。在结构类型的定义中,不同数据成员的定义项之间采用的分隔符是(选择一项:a.句点b. 冒号c. 分号d. 逗号正确答案是:分号题目4假定一个结构类型的定义为“struct Aint a,b; double c;”,则该类型的 长度为()。选择一项:8b.1012d. 16正确答案是:16题目5假定一个结构类型的定义为 “struct Dint a; D* next; ”,则该类型的长 度为()。选择一项:a. 4b. 8c. 12d. 16正确答案是:8题目6假定要访问一个结构指针变量x中的数据成员a,则表示方法为()。选择一项:a.x.ab.x-ac.x(a)d.xa正确答案是:x-a题目7与结构成员访问表达式 x.name 等价的表达式为()选择一项:a.x-nameb.&x-namec.(&x)-named.(*x)-name正确答案是: (&x)-name题目8假定一个链表中结点的结构类型为“st ruct AAint da ta, st ruct AA *next;,则next数据成员的类型为()。选择一项:a.struct AAb.struct AA*c.AAd.int正确答案是: struct AA*题目9假定一个链表的表头指针为f,结点中包含有data和next域,则向该链表的表 头插入一个地址为 p 的结点时,应执行的操作为()。选择一项:a.p-next=fb.p-next=f 和 f=pc.f=p-nextd.f-next=p 和 f=p正确答案是:p-next=f和f=p题目 10标准输入设备键盘的文件流标识符是()选择一项:a.stdinb.stdoutc.stderrd.stdio正确答案是: stdin题目11表示文件结束符的符号常量为()选择一项:a.eofb.Eofc.EOFd. feof正确答案是:EOF题目 12C 语言中打开一个数据文件的系统函数为()。选择一项:a.fgetc()选择一项ra.gets()b.fgets()c.getc()fgetc()正确答案是: fgets()d.b. fputc()c. fclose() d. fopen() 正确答案是: fopen()题目13)。从一个数据文件中读入以换行符结束的一行字符串的系统函数为(题目 14向一个二进制文件中写入信息的函数 fwrit e ()带有的参数个数为()。选择一项:a. 1b. 2c.c. 3d. 4 正确答案是:4题目15在C语言中,为只写操作打开一个文本文件的方式为()。选择一项:a.b. r+c.c. w 正确答案是:w 二、判断题(共 40分,每小题2分。叙述正确则回答“是”,否则回答“否”)题目 16在结构类型的定义中,其中的数据成员可以是本身类型的直接对象。 选择一项:对错正确的答案是“错”。题目 17在结构类型的定义中,允许出现结构类型不完整的超前定义。 选择一项:对错正确的答案是“对”。题目18定义结构类型的变量时,不能够同时进行初始化。选择一项:对错正确的答案是“错”。题目 19使用一个结构类型时,必须一起使用关键字struct和类型标识符。选择一项:对错正确的答案是“对”。题目 20假定一个结构类型的定义为“s truct Aint a,b; A * c;”,则该类型的长度 为 12 。选择一项:对错正确的答案是“对”。题目 21假定一个结构类型的定义为“st ruct Bin t a5; 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种。 选择一项:对错正确的答案是“对”。题目 28C 语言中的标准输入和输出设备文件都属于字符文件。 选择一项:对错正确的答案是“对”。题目 29在一个磁盘数据文件的文件名中,文件主名和扩展名都是必须的,不可省略。 选择一项:对错正确的答案是“错”。题目30在数据文件打开方式字符串中,字符r、w和a具有确定的含义,分别代表读、 写和追加方式。选择一项:对错正确的答案是“对”。题目31一个磁盘数据文件的文件名由文件主名和扩展名所组成,其中间用圆点分开。 选择一项:对错正确的答案是“对”。题目 32C 语言系统中提供一个用来描述文件属性的类型标识符为 FILE。 选择一项:对错正确的答案是“对”。题目33每次只能向文本文件中写入一个字符,不能一次写入一个字符串 选择一项:对错正确的答案是“错”。题目 34对二进制文件进行读和写操作将使用相同的系统函数。 选择一项:对错正确的答案是“错”。题目35在C语言中,系统函数fseekO用来移动数据文件中的文件位置指针。 选择一项:对错正确的答案是“对”。三、写出下列每个程序运行后的输出结果(共 15分,每小题5分)题目36#includestruct Worker char name15; / 姓名int age;/ 年龄float pay;/ 工资;void main() struct Worker x=wanghua,52,4300;struct Worker y, *p;y=x; p=&x;printf(%s %d %6.2fn,x.name,y.age,p-pay);wanghua 52 4300题目 37#include#includestruct Worker char name15;/ 姓名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.0fn,x.name,x.age,x.pay);liouting 39 2493题目 38#includestruct Worker char name15; int age; float pay;int Less(struct Worker r1, struct Worker r2) if(r1.ager2.age) return 1; else return 0;void main() struct Workera4=abc,25,2420,def,58,4638,ghi,49,4260,jkl ,36,3750;struct Worker x=a0;int i;for(i=1; i4; i+)if(Less(x,ai) x=ai;printf(%s %d %6.0fn,x.name,x.age,x.pay);def584638四、写出下列每个函数的功能(共 15分,每小题5分)题目 39void QA(struct Worker a, int n) int i;for(i=1; inext;return c;假定 struct IntNode 的类型定义为:struct IntNode int data; IntNode* next;统计出以表头指针为 f 的链表中结点的个数。题目 41void xw1(char* fname) FILE* fout=fopen(fname,w);char a20;printf(
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号