结构体与共用体习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第十一章 结构体与共用体
1、 填空
(1) 为了建立如图所示的存储结构(即每个结点含两个域,data 是数据域,next 是指向结点的指针域),请填空。

Struct link
{char data;
;
}node;
(2) 以下程序的输出结果是 。

main()
{struct cmplx{int x;int y;} cnum[2]={1,3,2,7};
printf(“%d\n ”,cnum[0].y/cnum[0].x*cnum[1].x);}
2、 选择
(1) 根据以下定义,能输出字母M 的语句是
A.printf(“%c\n ”,class[3].name);
B.printf(“%c\n ”,class[3].name[1]);
C.printf(“%c\n ”,class[2].name[1]);
D.printf(“%c\n ”,class[2].name[0]); struct person { char name[9];int age;};
struct person class[10]={ “John ”,17,
“Paul ”,19,
“Mary ”,18,
“Adam ”,16,};
(2) 对整个结构能够进行的操作是 。

A. 对结构进行赋值
data next
B.对结构进行存取
C.对结构进行运算
D.对结构进行&操作
(3)不是结构类型的特点的选项为。

A.结构体变量可以有不同类型的成员
B.结构体中的成员都占有存储空间
C.结构体变量既可以做函数参数,又可以从函数中返回
D.结构体变量的成员既可以读又可以写
3、判断
(1)能在一个存储区内处理不同的类型的数据叫结构。

()
(2)在编译时对结构类型不分配空间,只能对变量分配空间。

()
(3)结构一旦定义,系统就给它分配所需的内存单元。

()
4、程序设计
(1)设有以下结构类型说明:
struct stud
{char num[5],name[10];
int s[4];
double ave;
}
请编写:
<1>readrec把30名学生的学号、姓名、四项成绩及平均分放在一个结构体数组中,学生的学号、姓名和四项成绩由键盘输入,然后计算出平均分放在结构提对应的域中。

<2>函数writerec输出30名学生的记录。

<3>main函数调用readrec函数和writerec函数,实现全部程序功能。

(2)编写一个C程序,要求定义一个有关日期的结构体类型变量(包括年、月、日),从键盘为该变量中的各成员输入数据,然后再将输入的日期显示输出。

(3)建立50名学生信息结构,每个学生的信息包括:学号、姓名、出生年月日及平均成绩,要求从键盘上输入50名学生的信息,然后按一行显示一名学生的信息的方式显示50名学生的信息。

(4)建立10名学生的结构,其中包括学生的姓名、性别、学号及五门课的成绩。

编一个程序输入10名学生的信息并输出。

相关文档
最新文档