- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【课后评量】
第九章【課後評量】
一、問答題
1.請問下面的程式碼片段,在哪一行會發生編譯上的錯誤?
1 struct flower
2 {
3 /* 花的名稱 */
4 char *name;
5 };
6 struct flower fruit_flower[5];
7 fruit_flower.name[0]= lotus;
解答:第7行。之所以會發生編譯上的錯誤,主要是程式不曉得到底要存取哪一元素的結構成員,所以必須將索引值[0]更正放在flower後面,即fruit_flower[0].name= lotus;如此,才可以程式執行無誤。
2.下面這個程式何者有誤?
01 struct student
02 {
03 unsigned bit1: 1;
04 unsigned bit2: 1;
05 unsigned bit3: 1;
06 unsigned bit4: 1;
07 } a = {1, 0, 1, 1};
08
09 int main(void)
10 {
11 unsigned *ptr;
12 ptr = a.bit1;
13 printf(%u, *ptr);
14
15 return 0;
16 }
解答:最小可定址的記憶體單位為位元組,使用位元欄位時,您無法取得它的記憶體位址。
3.「結構指標」的功用為何?
解答:如果以結構為資料型態宣告指標變數,此指標就稱為「結構指標」。雖然結構變數可以直接對其成員進行存取,但由於結構指標為是以此結構為資料型態的指標變數,所儲存的內容是位址,因此還是跟一般指標變數一樣,必須先指定結構變數的位址給指標,才能間接存取其指定結構變數的成員。
4.請舉一實例說明,如何宣告巢狀結構。
解答:
struct grade
{
struct
{
char *name;
int height;
int weight;
} std[3]; /*省略了內層結構的名稱定義,而直接使用grade結構來定義*/
char *teacher;
};
5.有一結構內容如下:
struct circle
{
float r;
float pi;
float area;
};
且宣告為結構指標:
struct circle *getData;
getData = myCircle;
請依照上述程式碼,寫出兩種結構指標存取方式?
解答:
第一種結構指標存取方式
printf(getData-r = %.2f\n, getData-r);
printf(getData-pi = %.2f\n, getData-pi);
printf(getData-area = %.2f\n, getData-area);
第二種結構指標存取方式
printf((*getData).r = %.2f\n, (*getData).r);
printf((*getData).pi = %.2f\n, (*getData).pi);
printf((*getData).area = %.2f\n, (*getData).area);
6.下列有關結構指標陣列的程式碼中,何者有誤?請說明原因。
int main()
{
struct student
{
int score;
};
struct student s1[5] = { 90,95,98,75, 80}};
struct student *s2[5];
int i;
for(i = 0; i 5; i++)
s2[i] = s1[i];/* 複製結構成員 */
for(i = 0; i 5; i++)
{
printf(成績:%d \n, *s2[i].name);
}
return 0;
}
解答:第16行,因為是結構指標陣列,所以不能使用*運算子或指標運算來存取結構內的資料成員。而必須改為:
printf(成績:%d \n, s2[i]-score);
7.請列舉型態指令(enum)的意義與功用。
解答:列舉型態指令(enum)也是一種由使用者自行定義的資料型態,內容是由一組常數集合成的列舉成員,並給予各常數值不同的命名。列舉型態指令的優點,在於把變數值限定在列舉成員的常數集合裡,並利用名稱方式來作指定,使得程式可讀性大為提高。
8.二元樹(又稱knuth樹)是一個由有限節點所組成的集合,此集合可以為空
您可能关注的文档
- 战略性新兴产业(产品)发展指导目录》(2016年.doc
- 项目名称: 重庆出入境检验检疫局技术中心实验室 通风系统改造项目 .doc
- 学期 - 新北市立新庄国民中学.doc
- 植物生物学参考试题及解析.doc
- lc22 系列内装ic 传声器 - 朗斯测试技术有限公司.pdf
- ( — )学年国家奖学金申请审批表 - 中国石油大学(北京).doc
- 2011级高一第二个研究性学习备选课题 课题名称 课题概况 指 导 教 师 .doc
- zjgka-01-分布式能源及集成控制技术沙盘3米×2米.doc
- 易度云办公与用友致远的产品对比.doc
- 浙江大学学院第六期srtp教师立项评审汇总表 - 浙江大学电气工程学院.doc
- ⅰ 课程 第三章 设施内环境条件与调节 第一节 光照条件及其调节 ⅱ .doc
- 《数字通信原理》阶段测验(二) 班级:通信s06-1、2、3 学号 姓名 一 .doc
- 附5 - 华北科技学院.doc
- 第八届中国可信计算与信息安全学术会议(ctcis 2014)专栏论文.doc
- 《现场总线技术》教学大纲.doc
- 2017年高等学校科学研究优秀成果奖(科学技术)推荐项目公示材料 1 .doc
- 附件3 天津市实验教学示范中心建设单位 “十三五”发展规划 (表样 .doc
- economy and business课堂要点2(56 kb).doc
- 小鼠 - abc.doc
- 工程质量检测与事故处理教学大纲 - 西南科技大学土木工程与建筑学院.doc
文档评论(0)