0% found this document useful (0 votes)
7 views

Lecture 2. Introduction to C++_1

This document is a lecture on the introduction to C++, detailing its origins from the C programming language developed by Dennis Ritchie. It explains the structure of a simple C++ program, including variable declarations, input/output syntax, and the process of compiling and running a program. Additionally, it covers common programming errors and debugging techniques.

Uploaded by

Abyot yassab
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Lecture 2. Introduction to C++_1

This document is a lecture on the introduction to C++, detailing its origins from the C programming language developed by Dennis Ritchie. It explains the structure of a simple C++ program, including variable declarations, input/output syntax, and the process of compiling and running a program. Additionally, it covers common programming errors and debugging techniques.

Uploaded by

Abyot yassab
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

Mechanical Engineering

Department

Computer Programming
(MEng 1052)

Lecture 2

Introduction to C++

Prepared by: Addisu D. February, 2015


1
Origins of the C++ Language
 The first thing that people notice about the C++ language is its
unusual name. Is there a C programming language, you might
ask? Is there a C– or a C– – language? Are there programming
languages named A and B? The answer to most of these
questions is no.
 There is a B programming language; it was not derived from a
language called A, but from a language called BCPL.
 The C language was derived from the B language, and C++
was derived from the C language.
 The C programming language was developed by Dennis
Ritchie of AT&T Bell Laboratories in the 1970s. It was first
used for writing and maintaining the UNIX operating system.

2
Origins of the C++ Language
 C is a general-purpose language that can be used for writing
any sort of program, but its success and popularity are closely
tied to the UNIX operating system.
 The C language is peculiar because it is a high-level language
with many of the features of a low-level language.
 C is somewhere in between the two extremes of a very high-
level language and a low-level language, and therein lies both
its strengths and its weaknesses.
 C is not as easy to understand as other languages; also, it does
not have as many automatic checks as some other high-level
languages.

3
Origins of the C++ Language
 To overcome these and other shortcomings of C, Bjarne
Stroustrup of AT&T Bell Laboratories developed C++ in
the early 1980s.
 Stroustrup designed C++ to be a better C. Most of C is a
subset of C++, and so most C programs are also C++
programs.
 The reverse is not true; many C++ programs are definitely
not C programs.

4
A Sample C++ Program
 In the next lecture we will explain in detail all the C++
features you need to write programs , but to give you a feel
for how a C++ program works, we will now give a brief
description of how a sample C++ program works.

5
6
A Sample C++ Program
 The program begins with the following lines:

 For now we will consider these lines to be a rather


complicated way of saying “The program starts here.”
 The program ends with the following two lines:

 For a simple program, these two lines simply mean “The


program ends here.”
7
A Sample C++ Program
 The lines in between these beginning and ending lines are the
heart of the program.

 This line is called a variable declaration. This variable


declaration tells the computer that number_of_pods,
peas_per_pod, and total_peas will be used as names for three
variables.
 In this program, the variables are used to name numbers. The
word that starts this line, int, is an abbreviation for the word
integer and it tells the computer that the numbers named by
these variables will be integers.
 An integer is a whole number, like 1, 2, −1, −7, 0, 205, −103,
8 and so forth.
A Sample C++ Program
 The remaining lines are all instructions that tell the computer
to do something. These instructions are called statements or
executable statements.
 Most of the statements begin with either the word cin or cout.
These statements are input statements and output statements.
 The word cin, which is pronounced “see-in,” is used for
input.
 The statements that begin with cin tell the computer what to
do when information is entered from the keyboard.
 The word cout, which is pronounced “see-out,” is used for
output; that is, for sending information from the program to
the terminal screen.

9
A Sample C++ Program

 The letter c is there because the language is C++.


 The arrows, written << or >>, tell you the direction that data
is moving. The arrows, << and >>, are called ‘insert’ and
‘extract,’ or ‘put to’ and ‘get from,’ respectively.
 For example, consider the line:

 This line may be read, ‘put "Press...number.\n" to cout’ or


simply ‘output "Press...number.\n"’. If you think of the word
cout as a name for the screen (the output device), then the
arrows tell the computer to send the string in quotes to the
screen.

10
A Sample C++ Program
 The \n at the end of the quoted string tells the computer to
start a new line after writing out the text.
 The next program line starts with the word cin, so it is an
input statement.
 Let’s look at that line:
cin >> number_of_pods;
 This line may be read, ‘get number_of_pods from cin’ or
simply ‘input number_of_pods’.
 If you think of the word cin as standing for the keyboard
(the input device), then the arrows say that input should be
sent from the keyboard to the variable number_of_pods.

11
A Sample C++ Program
 Consider the next two program lines:
cout << "Enter the number of peas in a pod:\n";
cin >> peas_per_pod;
 The line first sends a message to the screen asking for a
number.
 When you type in a number at the keyboard and press the
Return key, that number becomes the value of the variable
peas_per_pod.
 The next nonblank program line, shown below, does all the
computation that is done in this simple program:
total_peas = number_of_pods * peas_per_pod;
 The asterisk symbol, *, is used for multiplication in C++. So
this statement says to multiply number_of_pods and
12 peas_per_pod.
A Sample C++ Program
 The sample dialogue of the above program is shown below

Press return after entering a number.


Enter the number of pods:
10
Enter the number of peas in a pod:
9
If you have 10 pea pods
and 9 peas in each pod, then
you have 90 peas in all the pods.

13
PROGRAMMING TIP: Input and Output Syntax
 If you think of cin as a name for the keyboard or input device
and think of cout as a name for the screen or the output
device, then it is easy to remember the direction of the arrows
>> and <<.
 They point in the direction that data moves. For example,
consider the statement:
cin >> number_of_pods;
 In the above statement, data moves from the keyboard to the
variable number_of_pods, and so the arrow points from cin to
the variable. On the other hand, consider the output statement:
cout << number_of_pods;
 In this statement the data moves from the variable
number_of_pods to the screen, so the arrow points from the
14
variable number_of_pods to cout.
Layout of a Simple C++ Program
 The general form of a simple C++ program is shown below

15
Layout of a Simple C++ Program
#include <iostream>
 is called an include directive. It tells the compiler where to find
information about certain items that are used in your program.
 In this case iostream is the name of a library that contains the
definitions of the routines that handle input from the keyboard
and output to the screen; iostream is a file that contains some
basic information about this library.
 The linker program that we discussed earlier in this chapter
combines the object code for the library iostream and the object
code for the program you write.
 Directives always begin with the symbol #.
 Be certain that you do not have any extra space between the <
and the iostream file name or between the end of the file name
and the closing >.
16
Layout of a Simple C++ Program
 Some compilers require that directives have no spaces
around the #; so it is always safest to place the # at the very
start of the line and not include any space between the #
and the word include.
using namespace std;
 This line says that the names defined in iostream are to be
interpreted in the “standard way” (std is an abbreviation of
standard).
int main( )
{
 These two lines simply say that the main function of the
program starts here
17
Layout of a Simple C++ Program
return 0;
 This line is called a return statement and is considered to be
an executable statement because it tells the computer to do
something; specifically, it tells the computer to end the
program.
 The number 0 has no intuitive significance to us yet, but must
be there; its meaning will become clear as you learn more
about C++.
 Note that even though the return statement says to end the
program, you still must add a closing brace } at the end of the
main part of your program.

18
Compiling and Running a C++ Program
 You write a C++ program using a text editor in the same way
that you write any other document such as a term paper, a
shopping list, or whatever.
 The program is kept in a file just like any other document you
prepare using a text editor.
 When you give the command to compile your program, this will
produce a machine-language translation of your C++ program.
 This translated version of your program is called the object code
for your program.
 The object code for your program must be linked (that is,
combined) with the object code for routines (such as input and
output routines) that are already written for you. It is likely that
this linking will be done automatically, so you do not need to
19
worry about linking.
SELF-TEST EXERCISES
1. If the following statement were used in a C++ program,
what would it cause to be written on the screen?
cout << "C++ is easy to understand.";
c++ is easy to understand
2. What is the meaning of \n as used in the following
statement?
cout << "Enter the number of peas in a pod:\n";
begin in anew line or end
3. What is the meaning of this directive?
#include <iostream>
4. What, if anything, is wrong with the following #include
directives?
a) #include <iostream > gap at the end
b) #include < iostream> gap b/n < & iostream
c) #include <iostream> correct
20
TESTING AND DEBUGGING
 A mistake in a program is usually called a bug, and the process
of eliminating bugs is called debugging.
Kinds of Program Errors
 Syntax errors: are due to violation of the syntax (that is, the
grammar rules) of the programming language, such as omitting
a semicolon.
 Run-time errors. Many run-time errors have to do with
numeric calculations. For example, if the computer attempts to
divide a number by zero, that is normally a run-time error.
 Logic errors. Mistakes in the underlying algorithm or in
translating the algorithm into the C++ language. For example, if
you were to mistakenly use the addition sign + instead of the
multiplication sign * The program would compile and run
normally, but would give the wrong answer.
21
TESTING AND DEBUGGING
 The computer will usually tell you about errors in the first
two categories. You must discover logic errors yourself.

22
Exercises

1. Write a C++ program that reads in two integers and then


outputs both their sum and their product.
2. Write a program that allows the user to enter a time in
seconds and then outputs how far an object would drop if it
is in free fall for that length of time. Assume that the object
starts at rest, there is no friction or resistance from air, and
there is a constant acceleration of 32 feet per second due to
gravity. Use the equation:

You should first compute the product and then divide


the result by 2.

23
End of Lecture 2

Next Lecture
Lecture 3: C++ Basics

24

You might also like