Fundamentals of C++ Programming (2018)
|Fundamentals of C++ Programming|
A computer program, from one perspective, is a sequence of instructions that dictate the flow of electri¬ cal impulses within a computer system.
These impulses affect the computer’s memory and interact with the display screen, keyboard, mouse, and perhaps even other computers across a network in such a way as to produce the “magic” that permits humans to perform useful tasks, solve high-level problems, and play games.
One program allows a computer to assume the role of a financial calculator, while another transforms the machine into a worthy chess opponent. Note the two extremes here: • at the lower, more concrete level electrical impulses alter the internal state of the computer, while at the higher, more abstract level computer users accomplish real-world work or derive actual plea¬ sure. So well is the higher-level illusion achieved that most computer users are oblivious to the lower-level activity (the machinery under the hood, so to speak). Surprisingly, perhaps, most programmers today write software at this higher, more abstract level also.
An accomplished computer programmer can develop sophisticated software with little or no interest or knowledge of the actual computer system upon which it runs. Powerful software construction tools hide the lower-level details from programmers, allowing them to solve problems in higher-level terms. The concepts of computer programming are logical and mathematical in nature. In theory, computer programs can be developed without the use of a computer. Programmers can discuss the viability of a program and reason about its correctness and efficiency by examining abstract symbols that correspond to the features of real-world programming languages but appear in no real-world programming language. While such exercises can be very valuable, in practice computer programmers are not isolated from their machines. Software is written to be used on real computer systems.
Computing professionals known as software engineers develop software to drive particular systems. These systems are defined by their underlying hardware and operating system. Developers use concrete tools like compilers, debuggers, and profilers. This chapter examines the context of software development, including computer systems and tools.
Some contents of the book:
1 The Context of Software Development
IPO Software I.
1.2 Development Tools.
1.3 Learning Programming with C++.
2 Writing a C++ Program
2.1 General Structure of a Simple C++Program.
2.2 Editing, Compiling and Running the Program
2.3 Variations of our simple program.
2.4 Template for simple C++ programs.
13 Values and Variables I
3.1 Integer Values.
3.2 Variables and Assignment.
|3.4 Additional Integer Types).
3.5 Floating-point Types.
3.7 Other Numeric Types.
3.9 Enumerated Types.
3.10 Type Inference with auto.
|4 Expressions and Arithmetic!
|4.2 Mixed Type Expressions).
4.3 Operator Precedence and Associativity
4.6 Errors and Warnings.
4.6.1 Compile-time Errors.
14.6.2 Run-time Errors.
4.6.3 Logic Errors.
4.6.4 Compiler Warnings.
4.7 Arithmetic Examples.
4.8 Integers vs. Floating-point Numbers.
4.8.1 Integer Implementation . . . .
4.8.2 Floating-point Implementation
4.9 More Arithmetic Operators.
4.10 Bitwise Operators.
5.1 Type bool.
5.2 Boolean Expressions.
5.3 The Simple if Statement.
5.4 Compound Statements.
1575 The if/else Statement ].
5.6 Compound Boolean Expressions . . .
15.7 Nested Conditionals.
5.8 Multi-way if/else Statements.
15.9 Errors in Conditional Statements! . . .
16.1 The while Statement!.
[672 Nested Loops).
6.3 Abnormal Loop Termination.
The Author Richard L. Halterman thankfully shared his book for educational purposes.
Download Fundamentals of C++ Programming 9 MB PDF ebook