资源描述:
《《C语言程序设计》形成性考核作业(4)解答.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、《C语言程序设计》作业4解答一、选择题1.假定有“structBOOK{chartitle[40];floatprice;};structBOOKbook;”,则不正确的语句为(A)。A.structBOOKx=malloc(book);B.structBOOKx={"C++Programming",27.0};C.structBOOKx=malloc(sizeof(structBOOK));D.structBOOKx=&book;2.假定有“structBOOK{chartitle[40];floatprice;}book;”
2、,则正确的语句为(B)。A.structBOOKx=&book;B.structBOOKx=&book;C.structBOOKx=calloc(BOOK);D.structBOOKx=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.向一个二进制文件中写入信息
3、的函数fwrite()带有(D)个参数。A.1B.2C.3D.4二、填空题1.假定一个结构类型的定义为“structA{inta,b;structAc;};”,则该类型的大小为12字节。2.假定一个结构类型的定义为“structB{inta[5];charb;};”,则该类型的大小为24字节。3.假定一个结构类型的定义为“structD{inta;union{intb;doublec};structDd[2];};”,则该类型的大小为20字节。4.假定要动态分配一个类型为structWorker的具有n个元素的数组,并由r指向这
4、个动态数组,则使用的语句表达式为structWorkerr=calloc(n,sizeof(structWorker));。5.假定要访问一个结构x中的由a指针成员所指向的对象,则表示方法为(x.a)。6.假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为(p->b)。7.与结构成员访问表达式(fp).score等价的表达式是fp->score。三、写出下列每个程序运行后的输出结果1.#includestructWorker{charname[15];//姓名intage;//年龄float
5、pay;//工资};voidmain(){structWorkerx={"wanghua",52,2350};structWorkery,p;y=x;p=&x;printf("%s%d%6.2f",y.name,y.age,y.pay);printf("%s%d%6.2f",p->name,p->age,p->pay);d资
6、 }程序的运行结果是:wanghua522350.00wanghua522350.002.#include#includestructWorker{charname[15];//姓名intage;//年龄floatpay;//工资};voidmain(){structWorkerx;chart="liouting";intd=38;floatf=493;strcpy(x.name,t);x.age=d;x.pay=f;x.age++;x.pa
7、y=2;printf("%s%d%6.2f",x.name,x.age,x.pay);}程序的运行结果是:liouting39986.003.#includestructWorker{charname[15];//姓名intage;//年龄floatpay;//工资};intLess(structWorkerr1,structWorkerr2){if(r1.age8、{"def",58,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.