资源描述:
《C语言程序设计形成性作业四》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言程序设计形成性作业四一、选择题1.假定有“structBOOK{chartitle[40];floatprice;};structBOOK*book;”,则不正确的语句为(A)。A.structBOOK*x=malloc(book);B.structBOOKx={“C++Programming”,27.0};C.structBOOK*x=malloc(sizeof(BOOK));D.structBOOK**x=&book;2.假定有“structBOOK{chartitle[40];floatprice;}book;”,则正确的语句为(B)。A.structBOOKx=&bo
2、ok;B.structBOOK*x=&book;C.structBOOKx=calloc(BOOK);D.structBOOK*x=BOOK;3.表示文件结束的符号常量为(C)。A.eofB.EofC.EOFD.feof4.C语言中系统函数fopen()是(D)一个数据文件的函数。A.读取B.写入C.关闭D.打开5.从一个数据文件中读入以换行符结束的一行字符串的函数为(B)。A.gets()B.fgets()C.getc()D.fgetc()6.向一个二进制文件写入信息的函数fwrite()带有(D)参数。A.1B.2C.3D.4二、填空题1.假定一个结构类型的定义为“struct
3、A{inta,b;A*c;};”,则该类型的大小为_12_字节。2.假定一个结构类型的定义为“structB{inta[5],char*b;};”,则该类型的大小为_24_字节。3.假定一个结构类型的定义为“structD{inta;union{intb;doublec;};structD*d[2];};”,则该类型的大小为_20_字节。4.假定要动态分配一个类型为structWorker的具有n个元素的数组,并由r指向这个动态数组,则使用语句的表达式为structWorker*r=_calloc(n,sizeof(structWorker));_。5.假定要访问一个结构x中的由a
4、指针成员所指向的对象,则表示方法为_*(x.a)_。6.假定要访问一个结构指针p所指向对象中的b指针成员所指的对象,则表示方法为_*(p->b)_7.与结构成员访问表达式(*fp).score等价的表达式是_fp->score_。三、写出下列每个程序运行后的输出结果1.#includestructWorker{charname[15];//姓名intage;//年龄floatpay;//工资};voidmain(){structWorkerx={"wanghua",52,23.50};structWorkery,*p;y=x;p=&x;printf("%s%d%6
5、.2f",y.name,y.age,y.pay);printf("%s%d%6.2f",p->name,p->age,p->pay);}wanghua522350.00wanghua532370.002.#include#includestructWorker{charname[15];//姓名intage;//年龄floatpay;//工资};voidmain(){structWorkerx;char*t="louting";intd=38;floatf=493;strcpy(x.name,t);x.age=d;x.pay=f;x.a
6、ge++;x.pay*=2;printf("%s%d%6.2f",x.name,x.age,x.pay);}liouting39986.003.#include#includestructWorker{charname[15];//姓名intage;//年龄floatpay;//工资};intLess(structWorkerr1,structWorkerr2){if(r1.age7、8,638},{"ghi",49,560},{"jkl",36,375}};structWorkerx=a[0];inti;for(i=1;i<4;i++)if(Less(x,a[i]))x=a[i];printf("%s%d%6.2f",x.name,x.age,x.pay);}def58638.00四、写出下列每个函数的功能1.voidQA(structWorkera[],intn){inti;for(i=0;i