- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7.7习题
7.7.1 概念题
1.枚举变量是怎样进行输入和输出的?
答:对枚举变量进行输入和输出操作,在模块化程序设计中,应设法调用输入和输出函数来完成。在输入函数体内,用switch语句,将所输入的枚举元素整型值转换成相应的枚举变量值,通过参数别名传递使主函数中的枚举变量获得该值。在输出函数体内,将通过参数传递过来的枚举变量值,用switch语句转换成相应的字符串输出显示在屏幕上。
2.(1)举例说明什么情况是枚举元素的组合状态?
(2)为便于表明枚举元素的组合状态,枚举元素的整型值应怎样设置?
(3)什么是枚举元素的专用标志位?
(4)什么是枚举元素组合状态字?
答:(1)如果把各种菜肴定义为枚举元素,则用某些菜肴组成一桌菜就是枚举元素的组合。如果把各种文娱节目定义为枚举元素,则用某些节目组成一场晚会也是枚举元素的组合。
(2)(3)为便于表明枚举元素的组合状态,枚举元素的整型值是按2的倍数递增来设置的。目的是使所有枚举元素都各有一个各自专用的二进制位,见表7-1,最右列中黑体数字“1”所表示的二进制位就是。这种为每个元素所专用的二进制位叫做该元素的标志位。
(4)组成组合状态的枚举元素们的“按位或”就是枚举元素组合状态字。
3. 某酒楼以八大名菜为元素组成一个枚举类型caiyao(菜肴),整型值如表7-1所示。如果某食客的点菜状态字flag之值为十进制180,试问这表明该食客点了哪几个菜?试用枚举元素表示点菜状态字flag。
答:十进制180表示为二进制就看标志位可知,食客点了C菜、E菜、F菜和H菜。flag可表示为:C|E|F|H。其中“|”是运算符“按位或”。
4.(1)人的生日数据包括年、月、日。试定义一个生日结构类型bthd。
(2)友情录的数据包括姓名、生日、地址、电话号码。试定义友情录结构类型frnd。
(3)试声明上述友情录结构frnd型变量frd。
(4)试问上述frd生日的年份、月份和日期如何表示?
答:(1)生日结构类型定义如下:
struct bthd{
int yr; //年
int mn; //月
int dy; //日
}
(2)友情录结构类型定义如下:
struct frnd{
char nam[20]; //姓名
bthd btd; //生日
char adr[20]; //地址
int tel; //电话号
}
(3)frnd frd;
(4)frd.btd.yr //年份
frd.btd.mn //月份
frd.btd.dy //日期
5.试问下列程序运行结果如何?
#includeiostream
using namespace std;
struct node{
char *nm;
node *nx;
};
int main()
{
node a[3]={Wu Hua,a+2,Li Min,a,Qi Din,a+1};
node *p=a;
coutp-nmendl;
coutp-nx-nmendl;
coutp-nx-nx-nmendl;
coutp-nx-nx-nx-nmendl;
return 0;
}
答:程序运行结果如下:
Wu Hua
Qi Din
Li Min
Wu Hua
6.对链表结点操作的必做预习题:
图7.3中和题目中的链表、结点和指针都是同类型的,题中就不再作说明。
(1)有两个指针q和p分别指向了两个结点A和B,如图7.3(1)所示。试问用何语句能使q改为指向结点B?
答:用语句q=p;能使q指向节点B。
(2)链表中有结点A和结点B,关系如图7.3(2)所示。现有一指向结点A的指针p,试问执行下列语句后,指针p指向何处?
p=p-next;
答:执行所述语句后,p将指向节点B。
(3)有一条链表,指针p指向尾结点A,指针b指向另一结点B,如图7.3(3)所示。试问用何语句能使结点B链接在结点A之后,使结点B顶替结点A就任尾结点?用何语句来对结点B进行结尾?
答:用语句p-next=b;能使节点B链接在节点A之后,使节点B取代A就任尾节点。用语句b-next=0;可使尾节点B结尾。
(4)图7.3(4)中首指针hd指向首结点A,指针p也指向首结点A。试问执行下列语句后,hd指向何处?哪个结点脱了链?哪个结点是首结点。
hd=p-next;
答:执行所述语句后,hd不指向节点A,而改为指向节点B了。致使节点A脱了链,使节点B就任了首节点。
(5)链表中结点A、B、C和指针q和p的关系如图7.3(5)所示。试问用何语句能使结点A不对结点B链接(使结点B脱链),改为结点A对结点C链接?
答:用语句q-next=p-next; 能使节点A不对节
您可能关注的文档
最近下载
- Unit 6 Understanding ideas Longji Rice Terraces 课件-高中英语外研版(2019)必修第一册.pptx VIP
- 护理学导论(高职)教学教案.docx
- 2024年部编新改版语文六年级上册全册月考试题含答案(共4套).docx
- 饮用水和环境卫生公众健康宣教及风险沟通答案-2024年全国疾控系统“大学习”活动.docx VIP
- 新型冠状病毒、甲型和乙型流感病毒全预混冻干多重荧光PCR检测试剂盒及其检测方法发明专利.pdf VIP
- 基金会捐赠协议.doc VIP
- XX市智慧安居工程(一期)报警求助综合受理指挥分系详细设计方案.doc VIP
- 《乡土中国》 第11篇 《长老统治》.ppt
- [知识]职业生涯人物访谈(教师).pdf VIP
- 第六单元整本书阅读《西游记》课件 2024—2025学年统编版语文七年级上册.pptx VIP
文档评论(0)