c 语言程序设计形考4,C语言程序设计形考任务4.doc

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

一、选择题(共30分,每小题2分)题目1假定有“struct BOOKchar title40; float price struct BOOK book;”,则不正确的语句为( )。选择一项a. struct BOOK *xmallocbook; b. struct BOOK xC Programming,27.0; c. struct BOOK *xmallocsizeofstruct BOOK; d. struct BOOK *xbook; 正确答案是struct BOOK *xmallocbook;题目2假定有“struct BOOKchar title40; float price; book;”,则正确的语句为( )。选择一项a. struct BOOK x book; b. struct BOOK *xbook; c. struct BOOK xcallocBOOK; d. struct BOOK *xBOOK; 正确答案是struct BOOK *xbook;题目3在结构类型的定义中,不同数据成员的定义项之间采用的分隔符是( )。选择一项a. 句点 b. 冒号 c. 分号 d. 逗号 正确答案是分号题目4假定一个结构类型的定义为 “struct Aint a,b; double c”,则该类型的长度为( )。选择一项a. 8 b. 10 c. 12 d. 16 正确答案是16题目5假定一个结构类型的定义为 “struct Dint a; D* next”,则该类型的长度为( )。选择一项a. 4 b. 8 c. 12 d. 16 正确答案是8题目6假定要访问一个结构指针变量x中的数据成员a,则表示方法为( )。选择一项a. x.a b. x-a c. xa d. xa 正确答案是x-a题目7与结构成员访问表达式x.name等价的表达式为( )。选择一项a. x-name b. x-name c. x-name d. *x-name 正确答案是x-name题目8假定一个链表中结点的结构类型为“struct AAint data, struct AA *next”,则next数据成员的类型为( )。选择一项a. struct AA b. struct AA* c. AA d. int 正确答案是struct AA*题目9假定一个链表的表头指针为f,结点中包含有data和next域,则向该链表的表头插入一个地址为p的结点时,应执行的操作为( )。选择一项a. p-nextf b. p-nextf和fp c. fp-next d. f-nextp和fp 正确答案是p-nextf和fp题目10标准输入设备键盘的文件流标识符是( )。选择一项a. stdin b. stdout c. stderr d. stdio 正确答案是stdin题目11表示文件结束符的符号常量为( )。选择一项a. eof b. Eof c. EOF d. feof 正确答案是EOF题目12C语言中打开一个数据文件的系统函数为( )。选择一项a. fgetc b. fputc c. fclose d. 正确答案是题目13从一个数据文件中读入以换行符结束的一行字符串的系统函数为( )。选择一项a. gets b. fgets c. getc d. fgetc 正确答案是fgets题目14向一个二进制文件中写入信息的函数fwrite带有的参数个数为( )。选择一项a. 1 b. 2 c. 3 d. 4 正确答案是4题目15在C语言中,为只写操作打开一个文本文件的方式为( )。选择一项a. a b. r c. r d. w 正确答案是w二、判断题(共40分,每小题2分。叙述正确则回答“是”,否则回答“否”)题目16在结构类型的定义中,其中的数据成员可以是本身类型的直接对象。选择一项对 错 正确的答案是“错”。题目17在结构类型的定义中,允许出现结构类型不完整的超前定义。选择一项对 错 正确的答案是“对”。题目18定义结构类型的变量时,不能够同时进行初始化。选择一项对 错 正确的答案是“错”。题目19使用一个结构类型时,必须一起使用关键字struct和类型标识符。选择一项对 错 正确的答案是“对”。题目20假定一个结构类型的定义为 “struct Aint a,b; A* c”,则该类型的长度为12。选择一项对 错 正确的答案是“对”。题目21假定一个结构类型的定义为 “struct Bint a5; char* b”,则该类型的长度为20。选择一项对 错 正确的答案是“错”。题目22执行callocn,8函数调用时,将动态分配得到8*n个字节的存储空间。选择一项对 错 正确的答案是“对”。题目23执行mallocsizeofstruct 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语言中,系统函数fseek用来移动数据文件中的文件位置指针。选择一项对 错 正确的答案是“对”。三、写出下列每个程序运行后的输出结果(共15分,每小题5分)题目36includestdio.h struct Worker char name15; 姓名 int age; 年龄 float pay; 工资 ; void main struct Worker xwanghua,52,4300; struct Worker y, *p; yx; px; printfs d 6.2fn,x.name,y.age,p-pay; wanghua 52 4300题目37includestdio.h includestring.h struct Worker char name15; 姓名 int age; 年龄 float pay; 工资 ; void main struct Worker x; char *tliouting float f3493; strcpyx.name,t; x.aged; x.payf; printfs d 6.0fn,x.name,x.age,x.pay; liouting 39 2493题目38includestdio.h struct Worker char name15; int age; float pay int Lessstruct Worker r1, struct Worker r2 ifr1.ager2.age return 1; else return 0; void main struct Worker a4abc,25,2420,def,58,4638, ghi,49,4260,jkl,36,3750; struct Worker xa0; int i; fori1; i4; i ifLessx,ai xai; printfs d 6.0fn,x.name,x.age,x.pay; def 58 4638四、写出下列每个函数的功能(共15分,每小题5分)题目39void QAstruct Worker a, int n int i; fori1; in; i scanfs d f,ai.name,ai.age,ai.pay; 假定结构类型struct Worker 的定义如下 struct Worker char name15; int age; float pay从键盘输入n个Worker类型的记录到一维数组a中。题目40int Countstruct IntNode *f f为指向一个单链表的表头指针 int c0; whilef c; ff-next; return c; 假定struct IntNode的类型定义为 struct IntNode int data; IntNode* next统计出以表头指针为f的链表中结点的个数。题目41void xw1char* fname FILE* foutfname,w; char a20; printf每个字符串长度小于20,字符串end作为结束标志n; while1 scanfs,a; ifstrcmpa,end0 break; a,fout; fputcn,fout; fclosefout; 把从键盘上输入的若干个字符串保存到由fname参数所指定的文本文件中。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值