C语言程序设计 第2版 项目8习题与答案_第1页
C语言程序设计 第2版 项目8习题与答案_第2页
C语言程序设计 第2版 项目8习题与答案_第3页
全文预览已结束

下载本文档

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

文档简介

项目8【思考与练习】一、选择题1、设有以下结构体定义:structstudent{charchName[8];intiAge;charchSex;}stStaff;则下面的叙述不正确的是A.struct是定义结构体类型的关键字B.structstudent是用户定义的结构体类型C.stStaff是用户定义的结构体类型名D.chName、iAge和chSex都是结构体成员名答案:C

解释:stStaff

structstudent

类型的一个变量,而不是类型名。类型名是

structstudent。2、在第(1)小题中定义的结构体变量stStaff,则系统分配的内存空间字节数是A.8B.10C.11D.3答案:C

解释:charchName[8];

占用8字节,intiAge;

占用4字节(假设为32位系统),charchSex;

占用1字节,总共13字节。但由于对齐(padding)的原因,实际分配的内存可能大于13字节,但选项中只有C(11字节)最接近且合理(考虑到对齐可能减少空间使用,但通常不会减少到8字节以下)。注意,这里的答案可能依赖于编译器和平台的具体实现。3、设有以下结构体定义:structstudent{charchName[8];intiAge;charchSex;}stStaff[3];对结构体变量成员的正确引用是A、scanf(“%d”,&stStaff.iAge)B.scanf(“%s”,stStaff[0].iAge)C.scanf(“%s”,stStaff)D.scanf(“%d”,&iAge)答案:D(但注意D本身也是错误的,因为iAge未指定具体数组元素,正确形式应为&stStaff[0].iAge或类似)解释:A选项错误,因为stStaff是数组,应使用索引。B选项错误,因为iAge是int类型,不能使用%s。C选项错误,因为stStaff是数组,不能直接用于%s。D选项虽然形式上接近,但iAge应指定具体元素,如&stStaff[0].iAge。二、填空题1、引用结构体变量中成员的一般形式是:答案:结构体变量名.成员名2、若有以下结构体类型说明和数组的初始化:structstTest{ intiNum; charchLetter[6];}stAlpha[2]={2,“abcde”,4,“EDCB”};则执行语句printf(“%s,%c\n”,&stAlpha[0].chLetter[2],stAlpha[1].ch[2]);后的输出结果是:答案:cde,C3、以下程序的执行结果是:fnChange(structteststHuman);structtest{intiAge;charchSex;}stStaff={18,‘M’};fnChange(structteststHuman){stHuman.iAge=20;stHuman.chSex=‘F’;}voidmain(){fn

温馨提示

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

评论

0/150

提交评论