1、一、单选题1、有以下的结构体变量定义语句:struct student int num; charname9; stu;则下列叙述中错误的是( )。A.结构体类型名为stuB.结构体名为studentC.num是结构体成员名D.struct是C的关键字答案:A2、有以下定义语句:struct studentint num; charname9;则不能正确定义结构体数组并赋初始值的是( )。A.struct stu=1,zhangsan,2,li si;B.struct student stu2=1, zhangsan,2,li si;C.struct student stu=1,zhangsa
2、n,2,li si;D.struct student stu2=1,zhangsan,2,li si;答案:A3、以下程序的输出结果是( )。#include void main() struct cmplx int x; int y; cnum2=1,3,2,7; printf(%dn,cnum0.y/cnum0.x*cnum1.x);A.0B.6C.3D.1答案:B4、有以下程序: #include struct ord int x,y; dt2=1,2,3,4; int main() struct ord *p=dt; printf(%d,+p-x); printf(%dn,+p-y);
3、 return 0; 程序的运行结果是()。A.4,1B.1,2C.2,3D.3,4答案:C5、若有以下说明和定义union dt int a; char b; double c;data;以下叙述中错误的是()。A.程序段:data.a=5;printf(%fn,data.c);输出结果为5.000000B.变量data所占内存字节数与成员c所占字节数相等C.data的每个成员起始地址都相同D.data可以作为函数的实参答案:A二、判断题6、设有定义:struct student int ID;char name12; s,*p=&s; 语句:p.ID=20161001;是否正确?(错)7、
4、使几个不同类型的变量共占同一段内存的结构称为共用体。(对)8、在定义一个共用体变量时,系统分配给它的存储空间是该共用体变量中占用存储单元最长的成员的长度。(对)9、结构体变量可以在函数间传递,传递方式有值传递和地址传递两种。(对)三、填空题10、以下程序运行后的输出结果是(1 2 3)。#includestruct NODE int k; char s20;int main() struct NODE m3; int i; for(i=0;i3;i+) mi.k=i+1; for(i=0;in的值是(6)。12、程序运行的结果是(2)。#include int main() union example int a; int b; e; e.a=1;e.b=2; printf(%dn,e.a); return 0;