Skip to Content
C++程序设计:原理与实践(基础篇)(原书第2版)
book

C++程序设计:原理与实践(基础篇)(原书第2版)

by 本贾尼 斯特劳斯特鲁普
August 2021
Intermediate to advanced
450 pages
9h 36m
Chinese
Pearson
Content preview from C++程序设计:原理与实践(基础篇)(原书第2版)

6.3.1 第一步尝试

在这个阶段,我们并没有准备好编写计算器程序。我们对问题还没有深入思考,不过思考总是比较困难的,而且像大多数程序员一样,我们急于编写程序代码。下面让我们试一试,编写一个简单的计算器程序,看看它将我们引向哪里。按照最初想法设计的程序如下:

上面的程序读取运算符隔开的两个运算对象(如2+2),计算并打印结果值(本例为4),其中运算符左边的变量名为lval,右边的变量名为rval。

这个程序能够运行了!但如果这个程序不完整将会怎样?让程序运转起来感觉是很棒的!也许程序设计和计算机科学并不像大家所说的那么难。好吧,也许是这样的,但不要过早沉迷于这小小的成功。继续下面几项工作:

1.进一步清理代码。

2.加入乘法和除法(如2*3)。

3.加入处理多个操作符的功能(如1+2+3)。

特别地,我们应该检查输入的内容是否符合要求(但由于匆忙,我们“忘记了”)。另外,如果一个变量的值可能是多个常量之一,检测它的值最好采用switch语句而不是if语句。

对于“1+2+3+4”这种包含多个运算符的表达式,按照它们的输入顺序进行加法运算,也就是说,从1开始,输入+2后计算1+2(得到中间结果3),输入+3后将其加到中间结果上,直到运算结束。经过尝试并修改一些简单的语法和逻辑错误之后得到如下程序: ...

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

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

C++语言导学(原书第2版)

C++语言导学(原书第2版)

本贾尼 斯特劳斯特鲁普
管理Kubernetes

管理Kubernetes

Brendan Burns, Craig Tracey
Python编程入门与实战

Python编程入门与实战

Posts & Telecom Press, Fabrizio Romano

Publisher Resources

ISBN: 9787111562252