1、一、选择题(共 30 分,每小 题 2 分)题目 1正确获得 2.00分中的 2.00分标记题目题干假定有“struct BOOKchar title40; 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= 反馈Your answer is correct.题目 2正确
2、获得 2.00分中的 2.00分标记题目题干假定有“struct BOOKchar title40; float price; book;”,则正确的语句为( )。选择一项:a. struct BOOK x= b. struct BOOK *x= 回答正确c. struct BOOK x=calloc(BOOK); d. struct BOOK *x=BOOK; 反馈Your answer is correct.题目 3正确获得 2.00分中的 2.00分标记题目题干在结构类型的定义中,不同数据成员的定义项之间采用的分隔符是( )。选择一项:a. 句点 b. 冒号 c. 分号 回答正确d. 逗
3、号 反馈Your answer is correct.题目 4正确获得 2.00分中的 2.00分标记题目题干假定一个结构类型的定义为 “struct Aint a,b; double c;”,则该类型的长度为( )。选择一项:a. 8 b. 10 c. 12 d. 16 反馈Your answer is correct.题目 5正确获得 2.00分中的 2.00分标记题目题干假定一个结构类型的定义为 “struct Dint a; D* next;”,则该类型的长度为( )。选择一项:a. 4 b. 8 回答正确c. 12 d. 16 反馈Your answer is correct.题目
4、6正确获得 2.00分中的 2.00分标记题目题干假定要访问一个结构指针变量 x 中的数据成员 a,则表示方法为( )。选择一项:a. x.a b. x-a 回答正确c. x(a) d. xa 反馈Your answer is correct.题目 7正确获得 2.00分中的 2.00分标记题目题干与结构成员访问表达式 x.name 等价的表达式为( )。选择一项:a. x-name b. ;”,则 next 数据成员的类型为( )。选择一项:a. struct AA b. struct AA* c. AA d. int 反馈Your answer is correct.题目 9正确获得 2.
5、00分中的 2.00分标记题目题干假定一个链表的表头指针为 f,结点中包含有 data 和 next 域,则向该链表的表头插入一个地址为 p 的结点时,应执行的操作为( )。选择一项:a. p-next=f b. p-next=f和 f=p 回答正确c. f=p-next d. f-next=p和 f=p 反馈Your answer is correct.题目 10正确获得 2.00分中的 2.00分标记题目题干标准输入设备键盘的文件流标识符是( )。选择一项:a. stdin 回答正确b. stdout c. stderr d. stdio 反馈Your answer is correct.
6、题目 11正确获得 2.00分中的 2.00分标记题目题干表示文件结束符的符号常量为( )。选择一项:a. eof b. Eof c. EOF 回答正确d. feof 反馈Your answer is correct.题目 12正确获得 2.00分中的 2.00分标记题目题干C 语言中打开一个数据文件的系 统函数为( )。选择一项:a. fgetc() b. fputc() c. fclose() d. fopen() 回答正确反馈Your answer is correct.题目 13正确获得 2.00分中的 2.00分标记题目题干从一个数据文件中读入以换行符结束的一行字符串的系统函数为(
7、)。选择一项:a. gets() b. fgets() 回答正确c. getc() d. fgetc() 反馈Your answer is correct.题目 14正确获得 2.00分中的 2.00分标记题目题干向一个二进制文件中写入信息的函数 fwrite()带有的参数个数为( )。选择一项:a. 1 b. 2 c. 3 d. 4 回答正确反馈Your answer is correct.题目 15正确获得 2.00分中的 2.00分标记题目题干在 C 语言中,为只写操作打开一个文本文件的方式为( )。选择一项:a. “a“ b. “r+“ c. “r“ d. “w“ 回答正确反馈Your
8、 answer is correct.标记题目信息文本二、判断题(共 40 分,每小 题 2 分。叙述正确 则回答“是”,否则回答“否”)题目 16正确获得 2.00分中的 2.00分标记题目题干在结构类型的定义中,其中的数据成员可以是本身类型的直接对象。选择一项:对 错 题目 17正确获得 2.00分中的 2.00分标记题目题干在结构类型的定义中,允许出现结构类型不完整的超前定义。选择一项:对 错 题目 18正确获得 2.00分中的 2.00分标记题目题干定义结构类型的变量时,不能够同时进行初始化。选择一项:对 错 题目 19正确获得 2.00分中的 2.00分标记题目题干使用一个结构类型时
9、,必须一起使用关键字 struct 和类型标识符。选择一项:对 错 题目 20正确获得 2.00分中的 2.00分标记题目题干假定一个结构类型的定义为 “struct Aint a,b; A* c;”,则该类型的长度为12。选择一项:对 错 题目 21正确获得 2.00分中的 2.00分标记题目题干假定一个结构类型的定义为 “struct Bint a5; char* b;”,则该类型的长度为 20。选择一项:对 错 题目 22正确获得 2.00分中的 2.00分标记题目题干执行 calloc(n,8)函数调用时,将动态分配得到 8*n 个字节的存储空间。选择一项:对 错 题目 23正确获得
10、2.00分中的 2.00分标记题目题干执行 malloc(sizeof(struct BB)函数调用时,得到的动态存储空间能够保存具有 struct BB 结构类型的一个 对象。选择一项:对 错 题目 24正确获得 2.00分中的 2.00分标记题目题干假定要访问一个结构对象 x 中的由 a 指针成员所指向的对象,则表示方法为x.a。选择一项:对 错 题目 25正确获得 2.00分中的 2.00分标记题目题干假定要访问一个结构指针 p 所指对象中的 b 指针成员所指的对象,则表示方法为 p-b。选择一项:对 错 题目 26正确获得 2.00分中的 2.00分标记题目题干与结构成员访问表达式(*
11、fp).score 等价的表达式是 fp-score。选择一项:对 错 题目 27正确获得 2.00分中的 2.00分标记题目题干在 C 语言中,对二进制文件的所有不同打开方式共有 6 种。选择一项:对 错 题目 28正确获得 2.00分中的 2.00分标记题目题干C 语言中的标准输入和输 出设备文件都属于字符文件。选择一项:对 错 题目 29正确获得 2.00分中的 2.00分标记题目题干在一个磁盘数据文件的文件名中,文件主名和扩展名都是必须的,不可省略。选择一项:对 错 题目 30正确获得 2.00分中的 2.00分标记题目题干在数据文件打开方式字符串中,字符 r、w 和 a 具有确定的含
12、义,分别代表读、写和追加方式。选择一项:对 错 题目 31正确获得 2.00分中的 2.00分标记题目题干一个磁盘数据文件的文件名由文件主名和扩展名所组成,其中间用圆点分开。选择一项:对 错 题目 32正确获得 2.00分中的 2.00分标记题目题干C 语言系统中提供一个用来描述文件属性的 类型 标识符为 FILE。选择一项:对 错 题目 33正确获得 2.00分中的 2.00分标记题目题干每次只能向文本文件中写入一个字符,不能一次写入一个字符串。选择一项:对 错 题目 34正确获得 2.00分中的 2.00分标记题目题干对二进制文件进行读和写操作将使用相同的系统函数。选择一项:对 错 题目
13、35正确获得 2.00分中的 2.00分标记题目题干在 C 语言中,系统函数 fseek()用来移动数据文件中的文件位置指针。选择一项:对 错 标记题目信息文本三、写出下列每个程序运行后的输出结果(共 15 分,每小题 5 分)题目 36完成满分 5.00标记题目题干#includestruct Worker char name15; /姓名int age; /年龄float pay; /工 资;void main() struct Worker x=“wanghua“,52,4300;struct Worker y, *p;y=x; p=printf(“%s %d %6.2fn“,x.nam
14、e,y.age,p-pay);wanghua 52 4300反馈wanghua 52 4300题目 37完成满分 5.00标记题目题干#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 3924
15、93反馈liouting 39 2493题目 38完成满分 5.00标记题目题干#includestruct Worker char name15; int age; float pay;int Less(struct Worker r1, struct Worker r2) if(r1.agenext;return c;假定 struct IntNode 的类型定义为:struct IntNode int data; IntNode* next;统计出以表头指针为 f的链表中结点的个数。反馈统计出以表头指针为 f 的 链表中结点的个数。题目 41完成满分 5.00标记题目题干void xw1(char* fname) FILE* fout=fopen(fname,“w“);char a20;printf(“每个字符串 长度小于 20,字符串 end 作为结束标志n“);while(1) scanf(“%s“,a);if(strcmp(a,“end“)=0) break;fputs(a,fout);fputc(n,fout);fclose(fout);把从键盘上输入的若干个字符串保存到由 fname 参数所指定的文本文件中。反馈把从键盘上输入的若干个字符串保存到由 fname 参数所指定的文本文件中。