文档详情

C语言程序设计形成性作业四.doc

发布:2018-03-04约4.3千字共5页下载文档
文本预览下载声明
C语言程序设计形成性作业四 选择题 假定有“struct BOOK{char title[40];float price;};struct BOOK *book;”,则不正确的语句为(A)。 A.struct BOOK *x=malloc(book); B.struct BOOK x={“C++ Programming”,27.0}; C.struct BOOK *x=malloc(sizeof(BOOK)); D.struct BOOK **x=book; 假定有“struct BOOK{char title[40];float price;} book;”,则正确的语句为(B)。 A.struct BOOK x=book; B.struct BOOK *x=book; C.struct BOOK x=calloc(BOOK); D.struct BOOK *x=BOOK; 3.表示文件结束的符号常量为(C)。 A.eof B.Eof C.EOF D.feof 4.C语言中系统函数fopen()是(D)一个数据文件的函数。 A.读取 B.写入 C.关闭 D.打开 5.从一个数据文件中读入以换行符结束的一行字符串的函数为(B)。 A.gets() B.fgets() C.getc() D.fgetc() 6.向一个二进制文件写入信息的函数fwrite()带有(D)参数。 A.1 B.2 C.3 D.4 二、填空题 1.假定一个结构类型的定义为“struct A{int a,b;A*c;};”,则该类型的大小为_12_字节。 2.假定一个结构类型的定义为“struct B{int a[5],char *b;};”,则该类型的大小为_24_字节。 3.假定一个结构类型的定义为“struct D{int a;union{int b;double c;};struct D* d[2];};”,则该类型的大小为_20_字节。 4.假定要动态分配一个类型为struct Worker的具有n个元素的数组,并由r指向这个动态数组,则使用语句的表达式为struct Worker* r=_ calloc(n,sizeof(struct Worker));_。 5.假定要访问一个结构x中的由a指针成员所指向的对象,则表示方法为_*(x.a)_。 6.假定要访问一个结构指针p所指向对象中的b指针成员所指的对象,则表示方法为_*(p-b)_ 7.与结构成员访问表达式(*fp).score等价的表达式是_ fp-score _。 三、写出下列每个程序运行后的输出结果 1. #includestdio.h struct Worker{ char name[15]; //姓名 int age; //年龄 float pay; //工资 }; void main(){ struct Worker x={wanghua,52,23.50}; struct Worker y,*p; y=x;p=x; printf(%s %d %6.2f\n,y.name,y.age,y.pay); printf(%s %d %6.2f\n,p-name,p-age,p-pay); } wanghua 52 2350.00 wanghua 53 2370.00 2. #includestdio.h #includestring.h struct Worker{ char name[15]; //姓名 int age; //年龄 float pay; //工资 }; void main(){ struct Worker x; char *t=louting; int d=38;float f=493; strcpy(x.name,t); x.age=d;x.pay=f; x.age++;x.pay*=2; printf(%s %d %6.2f\n,x.name,x.age,x.pay); } liouting 39 986.00 3. #includestdio.h #includestring.h struct Worker{ char name[15]; //姓名 int age; //年龄 float pay; //工资 }; int Less(struct Worker r1,struct Worker r2){ if(r1.ager2.age)return 1; else ret
显示全部
相似文档