Saturday 26 January 2013

C++ Tutorial

1.INTRODUCTION
1.1. Why do People Program?
Each person can have his own reason for programming but I can tell you that programming
is one of the best ways to gain a deep understanding of computers and computer
technology. Learning to program makes you understand why computers and computer
programs work the way they do. It also puts some sense into you about how hard it is to
create software.
1.2. What is C++ & OOP?
C++ is an extended version C. C was developed at Bell Labs, in 1978. The purpose was to
create a simple language (simpler than assembly & machine code...) which can be used on a
variety of platforms. Later in the early 1980's C was extended to C++ to create an objectoriented
language. O(bject) O(riented) P(rogramming) is a style of programming in which
programs are made using Classes. A class id code in a file separate from the main program -
more on classes later. OOP in general & C++ in particular made it possible to handle the
complexity of graphical environments. (like windows, macintosh..)
1.3. What do I need to program?
Well, you need a computer and a compiler to start with but you also need some curiosity
and a lot of time. I guess(!?) you have a computer. You can find different compilers for free
from borlands website (Check 5.1). If you have the curiosity but lack in time read stuff at
lessons and detention hours. Read whenever you find time. Having a good C++ book (check
5.2) also helps a lot. (and is much better for your eyes) One thing not to forget: No tutorial,
book, program or course makes you a programmer in 5 days. YOU make yourself a
programmer. NO compiler writes an entire program for you, YOU write the program.
2. YOUR FIRST PROGRAM
2.1. Running a C++ Program
Read this part carefully: A C++ program must be compiled and linked before it can be
executed, or run, on the computer. A great lot of compilers do this automatically. So what is
a compiler? A compiler is a program that translates C++ code into machine language.
Machine language is the language consisting of 1s and 0s, and is the native language of a
computer. A typed C++ program is called the source-code, and the compiled code is called
the object code.
Before the object code can be executed, it must be linked to other pieces of code (e.g.
included libraries) used by the program. The compiled & linked program is called an
executable file. Finally, the program is executed by the system. It's output is displayed in a
window.
2.2. C++ Program Structure
All C++ progs contain statements (commands) that tell the computer what to do. Here is
an example of a simple C++ program:
We own you program */
#include <iostream.h>
int main()
{
cout<<"We own you"; // the first statement
return(0); // the second statement
}
Run the program. It should display :
We own you
The structure of a simple C++ program is:
/* Comments : Name, purpose of the program
your name, date, etc. */
#include <librarynames.h>
int main()
{
statements; // comments
return(0);
}
Now we will have a closer look on the structure:
2.3. Comments
Comments are used to explain the contents of a program for a human reader. The
computer ignores them. The symbols /* and */ are used for the beginning and end of a
comment for multi-line comments. // symbols are also used for commenting. All characters
on a line after the // symbol are considered to be comments and are ignored. Most newbies
think that commenting a program is a waste of time. They are wrong. Commenting is very
important because it makes the code understandable by other programmers and makes it
easier to improve a program or fix the bugs in it. You'll understand better after trying to
decipher a hundred pages of code you wrote a few months later.
2.4. Libraries
Look at the program above. Following the opening comment was the line:
#include <iostream.h>
This line simply tells the computer that the iostream library is needed therefore it should
be included. A library is a collection of program code that can be included (and used) in a
program to perform a variety of tasks. iostream is a library - also called as a header file,
look at its extension - used to perform input/output (I/O) stream tasks. There are a lot of
non-commercial C++ libraries for various purposes written by good guys who spent more
than enough time in front of their computers. You can find them at code.box.sk. Also
references to all libraries used in the tutorials can be found on the net.
2.5. Functions
The next line in the program was:
int main()
Which is the header of the main function. Makes sense? No? A function is a set of
statements that accomplish a task. A function header includes the return type of the
function and the function name. As shown in the main() header, main returns an
integer(int) through return(0). So all the functions that have an integer as the return type
returns integers. Very clear. The statements in a function (in this case the main function)
are enclosed in curly braces. The { and } symbols indicates the beginning and the end of
statements. More on functions later.
2.6. Streams
What is a stream? In C++ input/output devices are called streams. cout (we used above)
is the c(onsole) out(put) stream, and the send (insertion) operator is used to send the data
"We own you" into the stream. In the first statement:
cout<<"We own you";
The words following the << operator are put in quotation marks(") to form a string.
When run, the string We own you is sent to the console output device. Yes, it is also called
the computer screen.
Important note: C++ is case sensitive. That means cout and Cout is not the same
thing.
2.7. Return
The second statement was:
return(0);
which causes the program to terminate sending the value 0 to the computer. The value "0"
indicates that the program terminated without error.
Note: The statements end with a semicolon (;). A semicolon in C++ indicate the end of a
statement.
3. DATA & NUMBER SYSTEMS
3.1. Decimals
The base 10 number system. Uses 10 digits: 0 to 9. Numbers raised to the zero power is
equal to one. For example: 5 to the power 0 = 1. Base ten equivalent of the number
2600 = 2 x (10 to the power 3) + 6 x (10 to the power 2)
33 = 3 x (10 to the power 1) + 3 x (10 to the power 0)
3.2. Binaries
The base 2 number system. Uses 2 digits : 0 and 1. Works the same as base 10 except we
multiply numbers by the powers of 2 instead. For example 110 is equal to 6 in base 10:
110 = 1 x (2 to the power 2) + 1 x (2 to the power 1) = 6(base10)
3.3. Hexadecimal
The base 16 number system. Uses 16 digits. 0 to 9 & "A" to "F". Works the same as base
10 & base two except the numbers are multiplied by the powers of 16 instead:
1B = 1 x (16 to the power 1) + 2(B) x (16 to the power of 0) = 30(base10)
4. EXERCISES
4.1. Running
Find & install a compiler, type the example program and run it. Pretty simple but be sure
the syntax is correct.
4.2. Typing
Make a program which displays your name without looking to this tutorial. Makes you
learn a lot better.
4.3. Converting
Convert these to decimals : 110101, 001101, 10101110
Convert these to hexadecimals : 234, 324, 19394
Convert these to binaries : 2F, 1B3, 234, 125


1.INTRODUCTION
1.1. Why do People Program?
Each person can have his own reason for programming but I can tell you that programming
is one of the best ways to gain a deep understanding of computers and computer
technology. Learning to program makes you understand why computers and computer
programs work the way they do. It also puts some sense into you about how hard it is to
create software.
1.2. What is C++ & OOP?
C++ is an extended version C. C was developed at Bell Labs, in 1978. The purpose was to
create a simple language (simpler than assembly & machine code...) which can be used on a
variety of platforms. Later in the early 1980's C was extended to C++ to create an objectoriented
language. O(bject) O(riented) P(rogramming) is a style of programming in which
programs are made using Classes. A class id code in a file separate from the main program -
more on classes later. OOP in general & C++ in particular made it possible to handle the
complexity of graphical environments. (like windows, macintosh..)
1.3. What do I need to program?
Well, you need a computer and a compiler to start with but you also need some curiosity
and a lot of time. I guess(!?) you have a computer. You can find different compilers for free
from borlands website (Check 5.1). If you have the curiosity but lack in time read stuff at
lessons and detention hours. Read whenever you find time. Having a good C++ book (check
5.2) also helps a lot. (and is much better for your eyes) One thing not to forget: No tutorial,
book, program or course makes you a programmer in 5 days. YOU make yourself a
programmer. NO compiler writes an entire program for you, YOU write the program.
2. YOUR FIRST PROGRAM
2.1. Running a C++ Program
Read this part carefully: A C++ program must be compiled and linked before it can be
executed, or run, on the computer. A great lot of compilers do this automatically. So what is
a compiler? A compiler is a program that translates C++ code into machine language.
Machine language is the language consisting of 1s and 0s, and is the native language of a
computer. A typed C++ program is called the source-code, and the compiled code is called
the object code.
Before the object code can be executed, it must be linked to other pieces of code (e.g.
included libraries) used by the program. The compiled & linked program is called an
executable file. Finally, the program is executed by the system. It's output is displayed in a
window.
2.2. C++ Program Structure
All C++ progs contain statements (commands) that tell the computer what to do. Here is
an example of a simple C++ program:
We own you program */
#include <iostream.h>
int main()
{
cout<<"We own you"; // the first statement
return(0); // the second statement
}
Run the program. It should display :
We own you
The structure of a simple C++ program is:
/* Comments : Name, purpose of the program
your name, date, etc. */
#include <librarynames.h>
int main()
{
statements; // comments
return(0);
}
Now we will have a closer look on the structure:
2.3. Comments
Comments are used to explain the contents of a program for a human reader. The
computer ignores them. The symbols /* and */ are used for the beginning and end of a
comment for multi-line comments. // symbols are also used for commenting. All characters
on a line after the // symbol are considered to be comments and are ignored. Most newbies
think that commenting a program is a waste of time. They are wrong. Commenting is very
important because it makes the code understandable by other programmers and makes it
easier to improve a program or fix the bugs in it. You'll understand better after trying to
decipher a hundred pages of code you wrote a few months later.
2.4. Libraries
Look at the program above. Following the opening comment was the line:
#include <iostream.h>
This line simply tells the computer that the iostream library is needed therefore it should
be included. A library is a collection of program code that can be included (and used) in a
program to perform a variety of tasks. iostream is a library - also called as a header file,
look at its extension - used to perform input/output (I/O) stream tasks. There are a lot of
non-commercial C++ libraries for various purposes written by good guys who spent more
than enough time in front of their computers. You can find them at code.box.sk. Also
references to all libraries used in the tutorials can be found on the net.
2.5. Functions
The next line in the program was:
int main()
Which is the header of the main function. Makes sense? No? A function is a set of
statements that accomplish a task. A function header includes the return type of the
function and the function name. As shown in the main() header, main returns an
integer(int) through return(0). So all the functions that have an integer as the return type
returns integers. Very clear. The statements in a function (in this case the main function)
are enclosed in curly braces. The { and } symbols indicates the beginning and the end of
statements. More on functions later.
2.6. Streams
What is a stream? In C++ input/output devices are called streams. cout (we used above)
is the c(onsole) out(put) stream, and the send (insertion) operator is used to send the data
"We own you" into the stream. In the first statement:
cout<<"We own you";
The words following the << operator are put in quotation marks(") to form a string.
When run, the string We own you is sent to the console output device. Yes, it is also called
the computer screen.
Important note: C++ is case sensitive. That means cout and Cout is not the same
thing.
2.7. Return
The second statement was:
return(0);
which causes the program to terminate sending the value 0 to the computer. The value "0"
indicates that the program terminated without error.
Note: The statements end with a semicolon (;). A semicolon in C++ indicate the end of a
statement.
3. DATA & NUMBER SYSTEMS
3.1. Decimals
The base 10 number system. Uses 10 digits: 0 to 9. Numbers raised to the zero power is
equal to one. For example: 5 to the power 0 = 1. Base ten equivalent of the number
2600 = 2 x (10 to the power 3) + 6 x (10 to the power 2)
33 = 3 x (10 to the power 1) + 3 x (10 to the power 0)
3.2. Binaries
The base 2 number system. Uses 2 digits : 0 and 1. Works the same as base 10 except we
multiply numbers by the powers of 2 instead. For example 110 is equal to 6 in base 10:
110 = 1 x (2 to the power 2) + 1 x (2 to the power 1) = 6(base10)
3.3. Hexadecimal
The base 16 number system. Uses 16 digits. 0 to 9 & "A" to "F". Works the same as base
10 & base two except the numbers are multiplied by the powers of 16 instead:
1B = 1 x (16 to the power 1) + 2(B) x (16 to the power of 0) = 30(base10)
4. EXERCISES
4.1. Running
Find & install a compiler, type the example program and run it. Pretty simple but be sure
the syntax is correct.
4.2. Typing
Make a program which displays your name without looking to this tutorial. Makes you
learn a lot better.
4.3. Converting
Convert these to decimals : 110101, 001101, 10101110
Convert these to hexadecimals : 234, 324, 19394
Convert these to binaries : 2F, 1B3, 234, 125

0 comments:

Post a Comment

Search This Blog