练习题10及参考答案_第1页
练习题10及参考答案_第2页
练习题10及参考答案_第3页
练习题10及参考答案_第4页
练习题10及参考答案_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

表单顶部练习10和参考答案1.单个选择题(1)声明结构类型时,系统分配的存储空间为。A.该结构类型的第一个成员所需的存储空间B.该结构类型的最后一个成员所需的存储空间C.该结构类型的所有成员所需的存储空间总量D.结构类型本身不占用存储空间。也就是说,系统不会为结构类型分配存储空间a d(2)以下陈述不准确:A.以下结构声明占用5字节的空间Struct strushort int a;short int b;char c;B.结构类型的成员名称可以与程序中的变量名称相同C.结构类型的成员可以是结构变量D.您可以个别使用结构变数的成员,其作用与一般变数相同a声明结构类型时不占用内存空间。这个问题的答案是a。(3)定义结构变量时,系统分配的存储空间为。A.此结构变量的第一个成员所需的存储空间B.此结构变量最后一个成员所需的存储空间C.此结构变量中占用最大存储空间的成员所需的存储空间D.此结构变量的所有成员所需存储空间的总和a d(4)以下陈述是正确的:A.结构类型中每个成员的数据类型必须是基本类型B.结构类型中每个成员的数据类型与数组一样C.声明结构类型时,成员的数据类型不能是结构本身D.上述陈述是错误的a d(5)定义共享实体变量时,系统分配的存储空间为。A.此共享变量的第一个成员所需的存储空间B.此共享实体变量最后一个成员所需的存储空间C.此共享变量中占用存储空间最多的成员所需的存储空间D.共享实体变量所有成员所需的存储空间总和a c(6)下列关于枚举的叙述不正确。A.枚举变量只能导入与该枚举类型对应的枚举元素表格中的元素B.定义枚举类型时,可以初始化枚举元素C.枚举元素表格中的元素有顺序,可以进行比较D.枚举元素的值可以是整数或字符串a d(7)以下对typedef的说明不正确:A.可以使用typedef定义各种类型名称,但不能用于定义变量B.可以使用typedef添加新类型C.使用typedef只能用新名称表示已存在的类型D.使用typedef一般使用程式使用Typedef语句不会创建新类型,而是指定新定义类型的名称。这个问题的答案是b。(8)定义如下:Struct struint x;int y;Struct STint x;float y;struct stru * p; st1,* p1=st以下参考是正确的。A.(* P1)。p.x b. (* P1)-p.a c.p1-p-x d.p1.p-aa c(9)如有以下陈述:联合数据char * p;int n;以下是正确初始化的内容:A.union data a= Maryb . union data a= Mary ;C.union data a=10d . union data a= 10 ;a)初始化共享主体变量时,只能为一个成员指定初始值。这个问题的答案是b。(10)以下用法正确。A.typedef int INTEGERINTEGER i,m;B. typedef int charChar t、m;C.typedef int4ARRAY;阵列n;d .异常错误a选项a正确。在选项b中,char是c语言的现有数据类型。选项c必须变更为typedef int ARRAY4。ARRAY n .这个问题的答案是a。(11)以下程序的运行结果为:#includeStruct nodeint x;char c;Void func(结构节点b);Main()Static struct node a=10,x ;func(a);Printf(%d,%cn ,a.x,a . c);结构节点Void func)B.x=20b . c=x;A.20,x B. 10,x C. x,10 D. x,20通过传递参数值未传递给实际参数的值来调用a func()函数。这个问题的答案是b。(12)以下程序的运行结果为。#includeStruct nodeint x;char c;void func(struct node * b);Main()Static struct node a=10,x ;func(a);Printf(%d,%cn ,a.x,a . c);Void func(struct node *b)B- x=20;B- c=x;A.20,x B. 10,x C. x,10 D. x,20a func()函数使用传入调用,其中参数值传递给实际参数。这个问题的答案是a。(13)以下程序的运行结果为。#includeMain()联合short int I2;长k;char c4; r,* s=r;s-I0=0x 39;s-I1=0x 38;printf(“% LX n”,s-k);A.B. C. 3939 D. 3838ab(14)以下程序的运行结果为:#include联合数据int I;char c;float f;int n;Main()union data A= A ;printf(“% d n”,a . c);A.a b.65 c.65.d .或更高版本无效a)初始化共享主体变量时,只能为一个成员指定初始值,与a对应的ASCII代码为65。这个问题的答案是b。(15)以下程序的运行结果为:#includeMain()Struct sint n;int * m; * p;Int d5=10,20,30,40,50 ;Structs arr 5=100,d 0,200,d 1,300,d 2,400,D3、500、d4;P=arrprintf(“% d”,“,p-n”);printf(“% d”,“,(p)-n);printf(“% d n”,(* p-m);A.100、200、20b.100、201、21c.101、201、21d.100、200、21a c2.填空(1)以下程序的运行结果为:#include# pragma pack(1)/* 10 . 1 . 3节参考特殊说明*/Typedef structInt否;Char * nameChar sexFloat score STUD联合uint I;char * p;float f;双d;STUD s;Main()printf(“% d”、“% d n”、sizeof (stud)、size of(union u);a,其中char *name占用4个字节(所有指针变量占用的长度为4)。所以sizeof(STUD)=4 4 1 4=13。sizeof (union u)=max 4,4,4,8,13=13。程序输出如下:13,13(2)以下程序的运行结果为:#include# pragma pack(1)/* 10 . 1 . 3节参考特殊说明*/Typedef union长I;int k5;char c; DATEStruct dateInt catDATE cowDouble dogDATE maxMain()printf(“% d n”,size of(struct date)size of(max);在流程中,date是共享类型,DATE是以下结构类型:Sizeof(DATE)=max4,4*5,1=20,Sizeof(max)=size of(struct DATE)=20,size of程序输出如下:52(3)以下程序的运行结果为:#includeMain()int j;联合short int a;长b;unsigned char c; m;M.b=0xPrintf(%x,m . a);printf(“% x n”,m . c);Short int类型存储2个字节,long类型存储4个字节,m.b=0x语句后,第0个字节存储0x78,第1个字节存储0x56,第2个字节存储0x34,第3个字节存储0x12。因此,输出如下:5678,78(4)以下程序的运行结果为:#includeMain()联合short int a;char c2; w;w . c0=A;w . c1=a;printf(“% o n”,w . a);这是共享体。a和c成员共享同一存储区域。程序输出如下:60501(5)以下程序的运行结果为:#includeMain()Struct personchar name9;Int agestatic structperson ST10= John ,17, Paul ,19, Mary ,18,“史密斯”,16 ;Printf(%cn ,st2)。name0);a ST是节点本体阵列,st2。如果name为“Mary”,则为ST 2。name 0= m 。程序输出如下:m(6)以下程序的运行结果为:#include#define P printf# define C2“% c”“% c”“ n”# define S2“% s”“% s”“ n”Main()Static struct STchar c5;char * s; s1=cake , milk ;Static struct tChar * strStruct ST ss1 S2=work , time , free ;P(C2,s1.c0,* S1 . s);P(S2、s1.c、S1 . s);P(S2、s2.str、S2 . ss1 . s);P(S2,s2.str,S2 . ss1 . s 2);a根据宏定义的展开和结构变量的初始化方法,程序输出如下:Cm蛋糕牛奶WorkfreeOrkee(7)以下程序的运行结果为:#includeMain()Enum type a=1,b=3,c,d,f=-2,g ;printf(“%d,% d,%dn”,c,d,g);a枚举c位于b之后,因此c=c 1=4,d位于c之后,因此d=c 1=5,g位于f之后G=f 1=-1。程序输出如下:4,5,-1(8)以下程序的运行结果为:#includeMain()Struct STint n;Struct ST * npStruct ST a3、* p;A0。n=7;A0。NP=a1;A1。n=9;A2。NP=a2;A2。n=11A0。NP= 0;p=a0;printf(“% d n”,p-n);【答】8(9)以下程序的运行结果为:#includeMain()Struct ksint a;char * b; as=5,“abcd”,6,“efgh”;Struct ks * p=asPrintf(1 .“%sn”,as1。b);Printf(2 .%sn“,p-b);Printf(3 .%sn“,p-b

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论