Written by students who passed Immediately available after payment Read online or as PDF Wrong document? Swap it for free 4.6 TrustPilot
logo-home
Document preview thumbnail
Preview 4 out of 689 pages
Exam (elaborations)

Solution for Absolute C++ 6th Edition by Walter Savitch

Document preview thumbnail
Preview 4 out of 689 pages

Solution for Absolute C++ 6th Edition by Walter Savitch

Content preview

Savitch, Absolute C
y+t+re6w/qe: Chapter 1, Instructor’s Manual


Chapter 1
C++ Basics
Key Terms
functions
program
int main()
return 0
identifier
case-sensitive
keyword or reserved word
declare
floating-point number
M
fixed width integer types
auto
unsigned
EL
assignment statement
uninitialized variable
assigning int values to double variables
mixing types
AN
integers and Booleans
literal constant
scientific notation or floating-point notation
quotes
C-string
IE
string
escape sequence
const
??
modifier
declared constant
mixing types
precedence rules
??
integer division
the % operator
negative integers in division
type cast
type coercion
increment operator
decrement operator
v++ versus ++v
cout
expression in a cout statement
spaces in output
newline character
deciding between \n and endl
format for double values

1

, Savitch, Absolute C
y+t+re6w/qe: Chapter 1, Instructor’s Manual


magic formula
outputting money amounts
cerr
cin
how cin works
separate numbers with spaces
when to comment
#include,
preprocessor
namespace
using namespace

Brief Outline
M
1.1 Introduction to C++
Origins of the C++ Language
C++ and Object-Oriented Programming
The Character of C++
EL
C++ Terminology
A Sample C++ Program
1.2 Variables, Expressions, and Assignment Statements
Identifiers
AN
Variables
Assignment Statements
More Assignment Statements
Assignment Compatibility
Literals
IE
Escape Sequences
Naming Constants
Introduction to the string class
??
Arithmetic Operators and Expressions
Integer and Floating-Point Division
Type Casting
Increment and Decrement Operators
??
1.3 Console Input/Output
Output Using cout
New Lines in Output
Formatting for Numbers with a Decimal Point
Output with cerr
Input Using cin
1.4 Program Style
Comments
1.5 Libraries and Namespaces
Libraries and include Directives
Namespaces




2

, Savitch, Absolute C
y+t+re6w/qe: Chapter 1, Instructor’s Manual




1. Introduction and Teaching Suggestions
This chapter introduces the students to the history of the C++ language and begins to tell them
about what types of programs can be written in C++ as well as the basic structure of a C++
program. During the discussions on compilation and running a program, care should be taken to
explain the process on the particular computer system that the students will be using, as different
computing/development environments will each have their own specific directions that will need
to be followed. In the development of this instructor’s manual, a majority of the programs have
been compiled using g++ 4.4.7 on Ubuntu Linux, g++ 3.4 on cygwin, and Visual Studio .NET
2013. There are significant differences between the development environments and sometimes
on the compilers as well. This is especially the case with C++11 where command line options
may or may not be needed to compile, and some libraries may be unavailable for later sections
M
(e.g. threading, regular expressions).

Simple programming elements are then introduced, starting with simple variable declarations,
data types, assignment statements, and eventually evolving into arithmetic expressions. String
EL
variables are not introduced in detail until Chapter 9, but an introduction is given and could be
elaborating upon if desired. If time allows, a discussion of how the computer stores data is
appropriate. While some of the operations on the primitives are familiar to students, operations
like modulus (%) are usually not and require additional explanation. Also, the functionality of
AN
the increment and decrement operators requires attention. The issue of type casting is also
introduced, which syntactically as well as conceptually can be difficult for students. Some
students that have previously learned C may use the old form of type casting (e.g. (int)), but
should be encouraged to use the newer form (e.g. static_cast<int>).
IE
The section on programming style further introduces the ideas of conventions for naming of
programmatic entities and the use and importance of commenting source code. Commenting is a
skill that students will need to develop and they should begin commenting their code from the
??
first program that they complete. Indentation is also discussed. However, many development
environments actually handle this automatically.
??
2. Key Points
Compiler. The compiler is the program that translates source code into a language that a
computer can understand. Students should be exposed to how compiling works in their
particular development environment. If using an IDE, it is often instructive to show command -
line compiling so students can a sense of a separate program being invoked to translate their code
into machine code. This process can seem “magical” when a button is simply pressed in an IDE
to compile a program.

Syntax and Semantics. When discussing any programming language, we describe both the
rules for writing the language, i.e. its grammar, as well as the interpretation of what has been
written, i.e. its semantics. For syntax, we have a compiler that will tell us when we have made a
mistake. We can correct the error and try compiling again. However, the bigger challenge may

3

, Savitch, Absolute C
y+t+re6w/qe: Chapter 1, Instructor’s Manual


lie in the understanding of what the code actually means. There is no “compiler” for telling us if
the code that is written will do what we want it to, and this is when the code does not do what we
want, it most often takes longer to fix than a simple syntax error.

Names (Identifiers). C++ has specific rules for how you can name an entity in a program.
These rules are compiler enforced, but students should be able to recognize a correct or incorrect
identifier. Also, there are common conventions for how C++ names its programming entities.
Variable names begin with a lower case letter while constants are in all upper case. However,
these conventions are not compiler enforced. The book and the source code for C++ itself use
these conventions and it is helpful for students to understand that if they follow them, their code
is easier for others to read.

Variable Declarations. C++ requires that all variables be declared before they are used. The
declaration consists of the type of the variable as well as the name. You can declare more than
M
one variable per line.

Assignment Statements with Primitive Types. To assign a value to a variable whose type is a
EL
primitive, we use the assignment operator, which is the equals (=) sign. Assignment occurs by
first evaluating the expression on the right hand side of the equals sign and then assigning the
value to the variable on the left. Confusion usually arises for students when assigning the value
of one variable to another. Showing that x = y is not the same as y = x is helpful when trying to
AN
clear up this confusion.

Initializing a Variable in a Declaration. We can and should give our variables an initial value
when they are declared. This is achieved through the use of the assignment operator. We can
assign each variable a value on separate lines or we can do multiple assignments in one line.
IE
Assignment Compatibility. Normally, we can only assign values to a variable that are of the
same type as we declared the variable to be. For example, we can assign an integer value to an
??
integer variable. However, we can also assign a char value to an integer due to the following
ordering:
char → short → int → long → float → double
Values on the left can be assigned to variables whose types are to the right. You cannot go in the
??
other direction. In fact, the compiler will give an error if you do. However, you may receive a
compiler warning message about loss of precision.

What is Doubled? This discussion concerns how floating-point numbers are stored inside the
computer. A related topic would be to show the conversion of these numbers into the format
(e.g. IEEE 754 into two’s complement) that the computer uses.

Escape Sequences. When outputting strings, the \ character is used to escape the following
character and interpret it literally. It is useful to use this to show how to output " or \ along with
untypable characters, such as newlines or tabs.




4

Document information

Uploaded on
January 30, 2025
Number of pages
689
Written in
2024/2025
Type
Exam (elaborations)
Contains
Questions & answers
$18.49

Wrong document? Swap it for free Within 14 days of purchase and before downloading, you can choose a different document. You can simply spend the amount again.
Written by students who passed
Immediately available after payment
Read online or as PDF

Seller avatar
MelStudyguides
5.0
(1)
Sold
3
Followers
0
Items
73
Last sold
1 year ago




Why students choose Stuvia

Created by fellow students, verified by reviews

Quality you can trust: written by students who passed their tests and reviewed by others who've used these notes.

Didn't get what you expected? Choose another document

No worries! You can instantly pick a different document that better fits what you're looking for.

Pay as you like, start learning right away

No subscription, no commitments. Pay the way you're used to via credit card and download your PDF document instantly.

Student with book image

“Bought, downloaded, and aced it. It really can be that simple.”

Alisha Student

Working on your references?

Create accurate citations in APA, MLA and Harvard with our free citation generator.

Working on your references?

Frequently asked questions