思考题
1.“程序设计就是问题理解”的含义是什么?
2.本章详细讲述了计算器程序的设计,简要分析计算器程序应该实现哪些功能?
3.如何把一个大问题分解成一系列易于处理的小问题?
4.为什么编写一个程序时,先编写一个小的、功能可控的版本是一个好主意?
5.为什么功能蔓延是不好的?
6.软件开发的三个主要阶段是什么?
7.什么是“用例”?
8.测试的目的是什么?
9.根据本章的描述,比较Term、Expression、Number和Primary的不同点。
10.在本章中,输入表达式被分解为Term、Expression、Number和Primary等组成部分,试按这种方式分析表达式(17+4)/(5-1)的构成。
11.为什么程序中没有名为number()的函数?
12.什么是单词?
13.什么是文法?文法规则是什么?
14.什么是类?类的作用是什么?
15.如何为一个类的一个成员提供一个缺省值?
16.在expression()函数中,为什么switch语句的默认处理是退回单词?
17.什么是“预读取”?
18.putback()函数的功能是什么?为什么说它是有用的?
19.在term()函数中,为什么难以实现取模运算符%?
20.Token类的两个数据成员的作用是什么?
21.为什么把类的成员分成private和public两种类型?
22.对于Token_stream类,当缓冲区中有一个单词时,调用get()函数会发生什么情况?
23.在Token_stream类的get()函数中,为什么在switch语句中增加了对‘;’和‘q’的处理?
24.应该从什么时候开始测试程序?
25.“用户自定义类型”是什么?我们为什么需要这种机制?
26.对于一个C++用户自定义类型,它的接口是指什么? ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access