You are on page 1of 19

Chapter Two

Basics of Programming
• In order to write a program, you need to go
through several stages. These are:
– Type the text of the program into the computer
– Translate the program text into a form the computer
can use
– Run the translated program
NB: If you make a mistake during step 1 then it is
likely that the computer will not be able to translate
the program so you will never reach step 3.

1
• The text of a program is known as the source of the program
• The translation of the program is known as compilation
• The result of the translation or compilation is the executable or binary version
of the program.
• The complete development cycle in C++ is:
– Write the program, compile the source code, link the program, and run it.

IDE
• IDE stands for Integrated Development Environment
– Includes the compiler and the linker
– Has tools to assist the programmer
– Automates and simplifies the programming process

2
Writing a program
• The files you create with your editor are called source files, and for
C++ they typically are named with the extension .CPP.
Compiling
• Your source code file can't be executed, or run, as a program can.
• To turn your source code into a program, you use a compiler.
• After your source code is compiled, an object file is produced.
• This file is often named with the extension .OBJ.
• This is still not an executable program, however. To turn this into an
executable program, you must run your linker.
Linking
• C++ programs are typically created by linking together one or more
OBJ files with one or more libraries(a collection of linkable files ).

3
The Programming Process
Summary
The steps to create an executable file are
1. Create a source code file, with a .CPP extension.
2. Compile the source code into a file with the .OBJ extension.
3. Link your OBJ file with any needed libraries to produce an executable
program.
Machine
#include Code
Int main(
{ Compile 10101
LINK

00101
Source 0101
Object
Code
Code

Libraries, RUN
Other Object
Code
4
Basic Elements
1. Keywords (reserved words)
– have a unique meaning within a C++ program
– must not be used for any other purposes
– All reserved words are in lower-case letters
The following are some of the reserved words of C++.
asm auto bool break case catch
const_cast class const char continue default
dynamic_cast do double delete else enum
explicit extern false float for friend
goto if inline int long mutable
namespace new operator private protected public
reinterpret_cast register return short signed sizeof
static_cast static struct switch template this
throw true try typedef typeid typename
union unsigned using virtual void volatile
wchar_t

NB: for practical purposes you are advised to treat main, cin, and cout as if they were
reserved as well even though they aren’t. 5
2. Identifiers

• is name associated with a function or data object and used to refer to that function
or data object.
An identifier must:
– Start with a letter or underscore
– Consist only of letters, the digits 0-9, or the underscore symbol _
– Not be a reserved word
• use of two consecutive underscore symbols, _ _, is forbidden.

6
3. Comments
• A comment is a piece of descriptive text which explains some aspect of a
program.
• Program comments are totally ignored by the compiler and are only
intended for human readers.
C++ provides two types of comment delimiters:
• Anything after // (until the end of the line on which it appears) is
considered a comment.
• Anything enclosed by the pair /* and */ is considered a comment.

7
Variables, Data Types, and Constants
1. Variables
• is a symbolic name for a memory location in which data can be stored
• used for holding data values
All variables have two important attributes:
• A type, which is, established when the variable is defined (e.g., integer,
float, character).
– Once defined, the type of a C++ variable cannot be changed.
• A value, which can be changed by assigning a new value to the variable.
The kind of values a variable can assume depends on its type.
Variable Declaration
• means defining (creating) a variable by stating its type, followed by one or
more spaces, followed by the variable name and a semicolon.
Example: the following statement defines an integer variable called myAge:
int myAge;

IMPORTANT- Variables must be declared before used!


8
Variables…..cont’d
• Its also possible to create more than one variable of the same type in one
statement
Example:
int myAge, myWeight; // two int variables
long area, width, length; // three longs

• Assign a value to a variable by using the assignment operator (=)


Example:
int Width;
Width = 5;
• Can combine these steps and initialize Width when you define it by writing
int Width = 5;
• You can also initialize more than one variable at creation.
Example:
// create two int variables and initialize them
int width = 5, length = 7;

9
Basic Data Types
• While defining a variable, you must tell the compiler what kind of variable it is.
• Basic (fundamental) data types in C++ can be conveniently divided into numeric
and character types.
Numeric variables
– integer variables- hold only integers
– floating-point variables- can accommodate real numbers
• Both the numeric data types offer modifiers(short, long, signed and unsigned.) that
are used to vary the nature of the data to be stored.

Table: shows the variable type, how much room it takes in memory, and what kinds of
10
values can be stored in these variables.
Basic Data Types…….cont’d
• Integers (short and long) without the word "unsigned" are assumed to be signed.
– Signed integers are either negative or positive.
• Unsigned integers are always positive.

• Example: A demonstration of adding too large a number to a signed and unsigned integer.

#include <iostream>
using namespace std;
int main()
{
unsigned short int smallNumber1;
smallNumber1 = 65535;
short int smallNumber2;
smallNumber2 = 32767;
cout << "small numbers:" << smallNumber1<<“ “ << smallNumber2 << endl;
smallNumber1++;
smallNumber2++;
cout << "small numbers:" << smallNumber1 << “ “<<smallNumber2 << endl;
smallNumber1++;
smallNumber2++;
cout << "small numbers:" << smallNumber1 << “ “<<smallNumber2 << endl;
return 0;
}
OUTPUT: small numbers: 65535 32767
11
small numbers: 0 -32768
Characters
• Character variables (type char) are typically 1 byte, enough to hold 256 values
• A char can be interpreted as a small number (0-255)
• All the lower- and uppercase letters, all the numerals, and all the punctuation marks
are assigned values between 1 and 128
Characters and Numbers
• When you put a character, for example, ‘a’, into a char variable, what is really there is just a
number between 0 and 255.
Example: lowercase "a" is assigned the value 97
• However, there is a big difference between the value 5 and the character ‘5’. The latter is
actually valued at 53, much as the letter `a' is valued at 97.

12
13
Operators
1. Assignment Operators
• is used for storing a value at some memory location (typically denoted by a variable).

• Any number of assignments can be concatenated in this fashion to form one


expression.
Example: int m, n, p;
m = n = p = 100; // means: n = (m = (p = 100));
m = (n = p = 100) + 2; // means: m = (n = (p = 100)) + 2;
m = 100; 14
2. Arithmetic Operators

• C++ provides five basic arithmetic operators

• Except for remainder (%) all other arithmetic operators can accept a mix of integer
and real operands.
• Generally, if both operands are integers then the result will be an integer. However,
if one or both of the operands are reals then the result will be a real (or double to be
exact)
• Integer division always results in an integer outcome (i.e., the result is always
rounded down).
For example:
9/2 // gives 4, not 4.5!
-9/2 // gives -5, not -4! e exact).
15
3. Relational Operators

• C++ provides six relational operators for comparing numeric quantities.

• Evaluate to 1 (representing the true outcome) or 0 (representing the false outcome).


• Characters are valid operands since they are represented by numeric values.

Example: 'A' < 'F' // gives 1 (is like 65 < 70)

• Should not be used for comparing strings, because this will result in the string
addresses being compared, not the string contents.
– The outcome may be 0 or 1, as the addresses are determined by the compiler

16
4. Logical Operators
C++ provides three logical operators for combining logical expression.

• In general, any nonzero value can be used to represent the logical true, whereas
only zero represents the logical false.

Example: Some valid logical expressions:


!20 // gives 0
10 && 5 // gives 1
10 ||5.5 // gives 1
10 && 0 // gives 0

17
5. Increment/decrement Operators
• The auto increment (++) and auto decrement (--) operators provide a convenient
way of, respectively, adding and subtracting 1 from a numeric variable.
• Both operators can be used in prefix and postfix form.
– When used in prefix form, the operator is first applied, and the outcome is then
used in the expression.
– When used in the postfix form, the expression is evaluated first and then the
operator applied.

18
19

You might also like