云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 结构体与共用体

结构体与共用体

  • 62 次阅读
  • 3 次下载
  • 2025/5/4 19:38:12

第十章 结构体与共用体

一、选择题

1.在说明一个结构体变量时系统分配给它的存储空间是 。(0级)

A) 该结构体中第一个成员所需存储空间 B) 该结构体中最后一个成员所需存储空间

C) 该结构体中占用最大存储空间的成员所需存储空间 D) 该结构体中所有成员所需存储空间的总和

2.若有以下说明和语句: struct worker

{ int no; char ﹡name; }work, ﹡p=&work; 则以下引用方式不正确的是 。(1级)

A) work.no B) (﹡p).no C) p->no D)work->no 3.有如下定义:

struct date { int year, month, day; };

struct worklist { char name[20]; char sex; struct date birthday; }person;

对结构体变量person的出生年份进行赋值时,下面正确的赋值语句是 。 (1级)

A) year=1958 B) birthday.year=1958 C) person.birthday.year=1958 D) person.year=1958 4.以下对结构体类型变量的定义中不正确的是 。(1级) 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; } student; }std1; struct student std1; 5.设有以下说明语句

struct stu

{ int a; float b; }stutype;

则下面的叙述不正确的是 。(1级) A) struct是结构体类型的关键字

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

6.C语言结构体类型变量在程序执行期间 。(0级) A) 所有成员一直驻留在内存中 B) 只有一个成员主留在内存中 C) 部分成员驻留在内存中

D) 没有成员驻留在内存中

7.int类型占4个字节,以下程序的运行结果是 。(1级) # include main( )

{ struct date

{ int year, month, day; }today; printf(“%d\\n”,sizeof(struct date)); }

A) 6 B) 8 C) 10 D)12 8.有如下定义

struct person{char name[9]; int age;}; struct person class[10]={“Johu”, 17, “Paul”, 19 “Mary”, 18, “Adam 16,};

根据上述定义,能输出字母M的语句是 。(1级) A) prinft(“%c\\n”,class[3].mane); B) pfintf(“%c\\n”,class[3].name[1]); C) prinft(“%c\\n”,class[2].name[1]); D) printf(“%^c\\n”,class[2].name[0]); 9.设有如下定义

struct ss

{ char name[10]; int age; char sex;

} std[3],* p=std;

下面各输入语句中错误的是 。(1级) A) scanf(\B) scanf(\C) scanf(\D) scanf(\

10.设有以下说明语句,则下面的叙述中不正确的是 。(1级)

struct ex {

int x ; float y; char z ; } example;

A) struct结构体类型的关键字 B) example是结构体类型名 C) x,y,z都是结构体成员名 D) struct ex是结构体类型 11.若程序中有下面的说明和定义:

struct stt { int x; char b; }

struct stt a1,a2;

则会发生的情况是 。(1级) A)程序将顺利编译、连接、执行。

B)编译出错。

C)能顺利通过编译、连接,但不能执行。 D)能顺利通过编译,但连接出错。 12.已知教师记录定义为:

struct student { int no;

char name[30]; struct

{ unsigned int year; unsigned int month; unsigned int day; }birthday; } stu;

struct student *t = &stu;

若要把变量t中的生日赋值为“1980年5月1日”,则正确的赋值方式为 。(1级)

A) year = 1980; B) t.year = 1980; month = 5; t.month = 5; day = 1; t.day = 1;

C) t.birthday.year = 1980; D) t-> birthday.year = 1980; t.birthday.month = 5; t-> birthday.month = 5; t.birthday.day = 1; t-> birthday.day = 1;

13.以下结构类型可用来构造链表的是 。(1级) A) struct aa{ int a;int * b;};

B) struct bb{ int a;struct bb * b;};

C) struct cc{ int * a;cc b;};

D) struct dd{ int * a;aa b;};

二、填空题

1.有如下定义:(1级)

struct {int x; int y; }s[2]={{1,2},{3,4}}, ﹡p=s; 则:表达式 ++p->x 的结果是 。 表达式 ++p->x 的结果是 。

2.若有定义:(2级)

struct num {int a; int b; float f; }n={1, 3, 5.0}}; struct num ﹡pn=&n; 则表达式pn->b/n.a﹡++pn->b的值是 ,表达式(﹡pn).a+pn->f的值是 。 3.若要使指针p指向一个double类型的动态存储单元,请填空。(1级)

p= malloc(sizeof(double));

4.设有以下结构类型说明和变量定义,则变量a在内存所占字节数是 。 (1级) Struct stud { char num[6]; int s[4]; double ave;

} a,*p;

三、程序填空题

1.结构数组中存有三人的姓名和年龄,以下程序输出三人中最年长者的姓名和年龄。请

填空。(1级) static struct man

{ char name[20]; int age; }person[ ]={ “li-ming”,18, “wang-hua”,19,”zhang-ping”,20}; main( )

{struct man *p,*q; int old=0; p=person; for( ; (1) ) if(oldage) {q=p; (2) ;} printf(“%s %d”, (3) ); }

2.以下程序段的功能是统计链表中结点的个数,其中first为指向第一个结点的指针(链

表不带头结点)。请填空。(1级) struct link

{char data; struct link *next; }; ……

struct link * p, * first; int c=0; p=first;

while ( (1) ) { (2) ; p= (3) ; }

3.已知head 指向一个带头结点的单向链表,链表中每个结点包含数据域(data)和指针域(next),数据域为整型。以下函数求出链表中所有链结点数据域的和值,作为函数值返回。请填空。(2级) struct link

{int data; struct link *next; }; main( )

{ struct link *head; . . .

sum(head); . . . }

sum( (1) ) { struct link *p; int s=0; p=head->next;

while(p) {s+= (2) ; p= (3) ; } return(s); }

4.已知head指向单链表的第一个结点,以下函数完成往降序单向链表中插入一个结点,

插入后链表仍有序。请填空。(2级) # include

struct student

{int info; struct student *link; };

struct student *insert(struct student * head, struct student * stud)

搜索更多关于: 结构体与共用体 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

第十章 结构体与共用体 一、选择题 1.在说明一个结构体变量时系统分配给它的存储空间是 。(0级) A) 该结构体中第一个成员所需存储空间 B) 该结构体中最后一个成员所需存储空间 C) 该结构体中占用最大存储空间的成员所需存储空间 D) 该结构体中所有成员所需存储空间的总和 2.若有以下说明和语句: struct worker { int no; char ﹡name; }work, ﹡p=&work; 则以下引用方式不正确的是 。(1级) A) work.no B) (﹡p).no C) p->no D)work->no 3.有如下定义: struct date { int year, mont

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com