C语言程序设计 结构体与共用体

2018-12-22 21:35

一、 选择题

1、 定义结构类型时,下列叙述正确的是()

A、 系统会按成员大小分配每个空间 B、 系统会按最大成员大小分配空间 C、 系统不会分配空间 D、 以上说法均不正确

2、已知结构类型变量x的初始化值为{“20”,30,40,35.5},请问合适的结构定义是() A、 Struct s{int no;int x,y,z}; B、 Struct s{char no[2];int x,y,z}; C、 Struct s{int no;float x,y,z}; D、Struct s{char no[2];float x,y,z}; 3、若程序中有定义struct abc{int x;char y;};abc s1,s2;则会发生的情况是() A、 编译时会有错误 B、 链接时会有错误 C、 运行时会有错误 D、 程序没有错误

4、已知学生记录描述为

struct student

{int no;

char name[20]; char set; struct

{int year; int month; int day;

}birth;};

struct student s;

设变量s中的“生日”应是“1984年11月11日”,下列对生日的正确赋值方式是( ).

A)year=1984; B)birth.year=1984; month=11; birth.month=11; day=11; birth.day=11; C)s.year=1984; D)s.birth.year=1984; s.month=11; s.birth.month=11; s.day=11; s.birth.day=11; 5、当说明一个结构体变量时系统分配给它的内存是( ).

A)各成员所需内存量的总和 B)结构中第一个成员所需内存量

C)成员中占内存量最大者所需的容量 D)结构中最后一个成员所需内存量 6、以下对结构体类型变量的定义中不正确的是( ).

A)#define STUDENT struct student B)struct student STUDENT {int num; {int num; float age; float age; }std1; }std1;

C)struct D)struct

{int num; int num; float age; float age;

}std1; }student;

struct student std1; 7、设有以下说明语句 struct stu {int a;

float b; }stutype;

则下面的叙述不正确的是( ).

A)struct是结构体类型的关键字

B)struct stu是用户定义的结构体类型 C)stutype是用户定义的结构体类型名 D)a和b都是结构体成员名

8、C语言结构体类型变量在程序执行期间( )..

A)所有成员一直驻留在内存中 B)只有一个成员驻留在内存中 C)部分成员驻留在内存中 D)没有成员驻留在内存中

9、在16位IBM-PC机上使用C语言,若有如下定义: struct data

{int i; char ch; double f;

}b;

则结构变量b占用内存的字节数是( ). A)1 B)2 C)3 D)4 10、以下程序的运行结果是( ).

#include “stdio.h”

main() {struct data

{int year,month,day;

}today;

printf(“%d\\n”,sizeof(struct data));}

A)6 B)8 C)10 D)12 11、若有以下定义和语句;

struct student

{int age; int num ;};

struct student stu [3]={{1001,20 },{1002,19},{1003,21}}; main()

{struct student *p;

p=stu; ?..}

则以下不正确的引用是( )。

A)(P++)—》 num B)p++ C)(*p).num D)p=&stu.age 12、以下scanf函数调用语句中对结构体 变量成员的不正确引用是( )。 stuct pupil

{char name[20 ]; int age ; int sex; }pup[5,]*p;

p=pup;

A) scanf(“%s”,pup[0].name); B) scanf(“”%d),&pup[0].age; C) scanf(“%d”,&sex));?D) scanf(“%d”,P->age); 13、有以下定义和语句,则以下引用形式不合法的是( )。 Struct s {int i1;

struct s*i2,i0;

};

static struct s a[3 ]={2,&a[1],’\\0’,4,%a[2],&a[0],6,’\\0’,&a[1]}, *ptr; ptr=a;

A) ptr->i1++ B)*ptr->i2 C)++ptr->i0 D)ptr->i1 14、设有如下定义: struct sk {int n; float x; }data,*p;

若要使P指向data中的n域, 正确的负值语句的是( )。

A、p=&data.n;B) *p=data.n;C)p=(struct sk*)&data.n;D)p=(struct sk*)data.n; 15、若哟于以下说明和语句: struct student {int age; int num; }std,*p; p=&std;

则以下对结构体变量std中成员age的引用方式不正确的是( )。 A)std.age B)p->age C)(*p).age D)*p.age 16、若有以下说明和语句,则下面表达式中值为1002的是( )。

Struct student {int age;

int num;};

struct student stu[3]={{1001,20},{1002,19},{1003,21};

struct student *p;

p=stu;

A)(p++)—>num B)(p++)—>age C)(*p).num D)(*++p).age 17、以下对结构体变量stul 中成员age 的非法引用是( )。

struct student {int age; int num;

}stul,*p;

p=&stul;

A)stul.age B)student.age C)p—>age D)(*p).age

18、若要利用下面的程序片段使指针变量p指向一个存储整型变量的存储单元,则[ ]中

应填入的内容是( )。

int *p;

P=[ ]malloc(sizeof(int));

A)int B)int* C)(*int) D)(int*) 19、当说明一个共用体变量时系统分配给它的内存是( )。

A)各成员所需内存量的总和 B)结构中第一个成员所需内存量

C)成员中占内存量最大者所需的容量 D)结构中最后一个成员所需内存量 20、以下对C语言中共用体类型数据的叙述正确的是( )。

A)可以对共用体变量名直接赋值 B)一个共用体变量中可以同时存放其所有成员 C)一个共用体变量中不可能同时存放其所有成员 D)共用体类型定义中不能出现结构体类型的成员 21、若有以下定义和语句: union data {int i; char c; float f; }a;

int n;

则以下语句正确的是( )。

A)a=5; B)a={2,’a’,1.2}; C)printf(“%d\\n”,a); D)n=a;

22、设有以下说明,则下面不正确的叙述是( )。

union data

{ int i; char c; float f; }un;

A)un所占的内存长度等于成员f的长度 B)un的地址和它的各成员地址都是同一地址

C)un可以作为函数参数 D)不能对un赋值,但可以在定义un时对它初始化 23、C语言共用体型变量在程序运行期间 ( ) 。

A)所有成员一直驻留在内存中 B)只有一个成员驻留在内存中 C)部分成员驻留在内存中 D)没有成员驻留在内存中 24、以下程序的运行结果是 ( ) 。 #include “stdio.h” main()

{ union {long a; int b; char c;

}m;

printf(“%d\\n”,sizeof(m));} A) 2 B)4 C)6 D)8

25、以下程序的运行结果是 ( ) .

#include “stdio.h” union pw {int i; char ch[2]; }a; main() {ch[0]=13;

ch[1]=0;

printf(“%d\\n”,a,i); } A)13 B)14 C)208 D)209

二、填空题

1、以下程序的运行结果是 【 】. . struct n{ int x; char c; };

main()

{struct n a={10,‘x’};

func(a);

printf(“%d,%c”,a.x,a.c);} func(struct n b)

{b.x=20;

b.c=’y’;}

2、 以下程序的运行结果是【 】.

main()

{struct EXAMPLE{struct{


C语言程序设计 结构体与共用体.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:河南省开封高级中学2017届高三物理周周练测试题 含答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: