C++ Programming Basics · C++ Programming Basics The identifier object. It is predefined in C++ to...
Transcript of C++ Programming Basics · C++ Programming Basics The identifier object. It is predefined in C++ to...
C++ Programming Basics
In any language there are some fundamentals you need to know before you can write even the
most elementary programs. This chapter introduces three such fundamentals: basic program
construction, variables, and input/output (I/O). It also touches on a variety of other language
features, including comments, arithmetic operators, the increment operator, data conversion,
and library functions.
These topics are not conceptually difficult, but you may find that the style in C++ is a little
austere compared with, say, BAS -
while other languages begin to seem unnecessarily fancy and verbose.
As we noted in the Introduction, you can use either a Microsoft or a Borland compiler with
this book. Appendixes C and D provide details about their operation. (Other compilers may
work as well.) Compilers take source code and transform it into executable files, which your
computer can run as it does other programs. Source files are text files (extension .CPP) that cor-
respond with the listings printed in this book. Executable files have the .EXE extension, and can
be executed either from within your compiler, or, -DOS, directly
from a DOS window.
The programs run without modification on the Microsoft compiler or in an MS-DOS window.
-
FIRST, so its source file is
FIRST.CPP. It simply prints a sentence on the screen. Here it is:
Despite its small size, this program demonstrates a great deal about the construction of C++
Chapter
Functions are one of the fundamental building blocks of C++. The FIRST program consists
almost entirely of a single function called . The only parts of this program that are not
part of the function are the first two lines the ones that start with and
see what these lines do in a moment.)
it is called a member function. However, functions can also exist independently of classes. We
are not yet ready to talk about classes, so we will show functions that are separate standalone
entities, as is here.
The parentheses following the word are the distinguishing feature of a function. Without
the parentheses the compiler would think that refers to a variable or to some other pro-
arguments: values passed from
the calling program to the function.
The word preceding the function name indicates that this particular function has a return
value of type data types later in this chapter
The body of a function is surrounded by braces (sometimes called curly brackets). These
braces play the same role as the and keywords in some other languages: They sur-
round or delimit a block of program statements. Every function must use this pair of braces
around the function body. In this example there are only two statements in the function body:
the line starting with , and the line starting with . However, a function body can
consist of many statements.
When you run a C++ program, the first statement executed will be at the beginning of a func-
tion called mode programs in this book.) The pro-
gram may consist of many functions, classes, and other program elements, but on startup,
control always goes to . If there is no function called in your program, an error
will be reported when you run the program.
calls member functions in various objects to
function may also contain calls to other stand-
C++ Programming Basics
Objects, functions, and .
The program statement is the fundamental unit of C++ programming. There are two statements
in the FIRST program: the line
and the return statement
The first statement tells the computer to display the quoted phrase. Most statements tell the
computer to do something. In this respect, statements in C++ are similar to statements in other
in C++ are identical to statements
in C.
A semicolon signals the end of the statement. This is a crucial part of the syntax but easy to
forget. In some languages (like BASIC), the end of a statement is signaled by the end of the
(although not always) signal an error.
Chapter
The last statement in the function body is . This tells
whoever called it, in this case the operating system or compiler. In older versions of C++ you
could give the return type of and dispense with the return statement, but this is
ignores whitespace almost completely. Whitespace is defined as spaces, carriage returns, line-
feeds, tabs, vertical tabs, and formfeeds. These characters are invisible to the compiler. You canput several statements on one line, separated by any number of spaces or tabs, or you can run a
FIRST program
could be written this way:
but it does compile cor-
rectly.
There are several exceptions to the rule that whitespace is invisible to the compiler. The first
line of the program, starting with , is a preprocessor directive, which must be written
on one line. Also, string constants, such as , can-
not be broken into separate lines. (If you need a long string constant, you can insert a back-
slash (\) at the line break or divide the string into two separate strings, each surrounded by
quotes.)
As you have seen, the statement
causes the phrase in quotation marks to be displayed on the screen. How does this work? A
complete description of this statement requires an understanding of objects, operator overload-
brief preview.
C++ Programming Basics
The identifier object. It is predefined in C++ to corre-
spond to the standard output stream. A stream is an abstraction that refers to a flow of data.
The standard output stream normally flows to the screen display although it can be redirected
The operator is called the insertion or put to operator. It directs the contents of the variable
on its right to the object on its left. In FIRST it directs the string constant
to , which sends it to the display.
as the left-shift bit-wise operator and wonder how it can
also be used to direct output. In C++, operators can be overloaded. That is, they can perform
Although the concepts behind the use of and may be obscure at this point, using them
and the insertion operator .
Output with .
The phrase in quotation marks, , is an example
of a string constant. As you probably know, a constant, unlike a variable, cannot be given a
new value as the program runs. Its value is set when the program is written, and it retains this
handling strings are commonly used. A string can be represented by an array of characters, or
Chapter
The character at the end of the string constant is an example of an escape sequence. It
causes the next text output to be displayed on a new line. We use it here so that the phrases
ter in this chapter.
The two lines that begin the FIRST program are directives. The first is a preprocessor directive,
and the second is a directive
necessary anyway
The first line of the FIRST program
might look like a program statement, but
end with a semicolon, as program statements must. Instead, it starts with a number sign ( ).
called a preprocessor directive. Recall that program statements are instructions to the com-
puter to do something, such as adding two numbers or printing a sentence. A preprocessor
directive, on the other hand, is an instruction to the compiler. A part of the compiler called the
preprocessor deals with these directives before it begins the real compilation process.
The preprocessor directive tells the compiler to insert another file into your source
file. In effect, the directive is replaced by the contents of the file indicated. Using an
directive to insert another file into your source file is similar to pasting a block of
text into a document with your word processor.
is only one of many preprocessor directives, all of which can be identified by the ini-
tial
look at a few additional examples as we go along. The type file usually included by
is called a header file.
In the FIRST example, the preprocessor directive tells the compiler to add the source
file IOSTREAM to the FIRST.CPP source file before compiling. Why do this? IOSTREAM is an exam-
ple of a header file (sometimes called an include file). concerned with basic input/output
operations, and contains declarations that are needed by the identifier and the operator.
Without the and will think is being used
a file extension, but some older header files, left over from the days of the C language, have
the extension .H.
C++ Programming Basics
IOSTREAM, you can find the directory for your compiler
and display it as a source file in the Edit window. (See the appropriate appendix for hints on
how to do this.) Or you can look at it with the WordPad or Notepad utilities. The contents
IOSTREAM is a
source file, written in normal ASCII characters.
r files at the end of this chapter, when we introduce library
functions.
A C++ program can be divided into different namespaces. A namespace is a part of the pro-
gram in which certain names are recognized; outside of the namespace
directive
says that all the program statements that follow are within the namespace. Various program
components such as direc-
tive, we would need to add the name to many program elements. For example, in the FIRST
program need to say
To avoid adding dozens of times in programs we use the directive instead. ll
Comments are an important part of any program. They help the person writing a program, and
comments, so they do not add to the file size or execution time of the executable program.
FIRST
new program COMMENTS:
Chapter
Comments start with a double slash symbol ( ) and terminate at the end of the line. (This is
one of the exceptions to the rule that the compiler ignores whitespace.) A comment can start at
the beginning of the line or on the same line following a program statement. Both possibilities
are shown in the COMMENTS example.
may need more explanation than you do about what your program is doing. Also, you may not
are today.
Use comments to explain to the person looking at the listing wha
details are in the program statements themselves, so the comments should concentrate on the
big picture, clarifying your reasons for using a certain statement or group of statements.
comment style available in C++:
This type of comment (the only comment originally available in C) begins with the charac-
ter pair and ends with (not with the end of the line). These symbols are harder to type (since
is lowercase while is uppercase) and take up more space on the line, so this style is not
generally used in C++. However, it has advantages in special situations. You can write a multi-
line comment with only two comment symbols:
This is a good approach to making a comment out of a large text passage, since it saves insert-
ing the symbol on every line.