Make your own free website on Tripod.com

Lesson 1: The basics of C++

Prev || Home || Next

bar.gif (11170 bytes)
       

       I am writing this for those people who want to learn how to program in C++, especially those who had trouble. It is for those of you who want a sense of accomplishment every time your program works perfectly. If you want the sense of accomplishment, read on.

C++ is a programming language. It is a programming language of manydifferent dialects, just like each language that is spoken has many dialects. In C though, they are not because the "speakers" live in the North, South, or grew up in some other place, it is because there are so many compilers. There are about four major ones: Borland C++, Microsoft Visual C++, Watcom C/386, and DJGPP. You can download DJGPP http://www.delorie.com/djgpp/ or you may already have another compiler.

Each of these compilers is a little different. The library functions of one will have all of the standard C++ functions, but they will also have other functions or, continuing the analogy, words. At times, this can lead to confusion, as certain programs will only run under certain compilers, though I do not believe this to be the case with the programs in these tutorials.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
If you don't have a compiler, I strongly suggest you get one. A simple one is good enough for
my tutorials, but get one.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C++ is a different breed of programming language. It has only a few keywords for DOS, and it has no keywords to use for output. This means that almost everything is stored in a header file. This gives the use of many functions. But lets see a real program...


#include <iostream.h>

int main()
{
cout<<"HEY, you, I'm alive! Oh, and Hello World!";
return 0;
}


That does not look too hard, right? Lets break down the program and then look at it. The #include is a preprocessor directive which tells the compiler to put code in the header file iostream.h into our program! By including header files, you an gain access to many different functions. For example, the cout function requires iostream.h.


The next thing is int main() what this is saying is that there is a function called main, and that it returns an integer, hence int. Then those little braces ( { and } ) are used to signal the beginning and ending of functions, as well as other code blocks. If you have programmed in Pasal, you will know them as BEGIN and END.

The next line of the program may seem strange. If you have programmed in other languages you might think that print would be used to display text. However, in C++ the cout function is used to display text. It uses the << symbols, known as insertion operators. The quotes tell the compiler that you want to output the literal string as-is. The ; is added to the end of all function calls in C++.

The penultimate line of code is ordering main to return 0. When one returns a value to main, it is passed on to the operating system. As a note, declaring int main() or void main() both will generally work. It is accepted practice to some to declare main as a void, but to others it is
extremely upsetting. Previously, these tutorials had used void main, however, this is NO LONGER recommended, as it does not conform to the ANSI standard.
   
After, the brace closes off the function. You can try out this program if you want, just cut and paste it into the IDE of a compiler such as DJGPP, or save it to a file ending with a .cpp extension, and use a command-line compiler to compile and link it.

Comments are extremely important to understand. When you declare that an area is a comment, the compiler will IGNORE it. To comment it is possible to use either // , which declares that the entire line past that point is a comment, or it is possible to use /* and then */ to block off everything between the two as a comment. Certain compilers will change the color of a ommented area, but some will not. Be certain not accidently declare part of your code a comment. Note that this is what is known as "commenting-out" a section of code, and it is useful when you are debugging.

So far you should be able to write a simple program to display information typed in by you, the programmer. However, it is also possible for your program to accept input. the function you use is known as cin>>.

Wait! Before you can receive input you must have a place to store input! In programming, these locations where input and other forms of data are stored, are called variables. There are a few different types of variables, which must be stated. The basic types are char, int, and float.

Char is used to create variables that store characters, int is used to create variables that store integers (numbers such as 1, 2, 0, -3, 44, -44), and float is used to delare numbers with decimal places. In fact, they are all keywords that are used in front of variable names to tell the compiler that you have created a variable. That is known as "declaring a variable". When you declare a variable, or variables, you must end the line with a semi-colon, the same as if you were to call a function. If you do not declare the variable you are attempting to use, you will receive numerous error messages and the program will not run.


Here are some examples of declaring variables:

int x;
int a, b, c, d;
char letter;
float the_float;


It is not possible, however, to declare two variables of different types with the same name.

#include <iostream.h>
int main()
{
int thisisanumber;
cout<<"Please enter a number:";
cin>>thisisanumber;
cout<<"You entered: "<<thisisanumber;
return 0;
}


Let's break apart this program and examine it line by line. Int is the keyword that is used when delcaring a variable which is an integer. The cin>> sets the value of thisisanumber to be whatever the user types into the program when prompted. Keep in mind that the variable was declared an integer, which means the output will be in the form of an integer. Try typing in a sequence of charaters, or a decimal when you run the example program to see what you get as a response. Notice that when printing out a variable, there are not any quotation marks. If there were quotation marks, the output would be "You Entered: thisisanumber." Do not be confused by the inclusion of two separate insertion operators on a line. It is allowable, as long as you make certain to have each separate output of variable or string with its own insertion operator. Do not try to put two variables together with only one << because it will give you an error message. Do not forget to end functions and declarations with the semi-colon(;). Otherwise you will get an error message when you try to compile the program.

Now that you know a little bit about variables, here are some ways to manipulate them. *, -, +, /, =, ==, >, < are all operators used on numbers, these are the simple ones. The * multiplies, the - subtracts, and the + adds. Of course, the most important for changing variables
is the equal sign. In some languages, = checks if one side is equal to the other side, but in C++ == is used for that task. However, the equal sign is still extremely useful. It sets the left side of the equal sign, which must be one AND ONLY one variable, equal to the right side. The right side of the equal sign is where the other operators can be used.

Here are a few examples:


a=4*6; //(Note use of comments and of semi-colon) a is 24
a=a+5; // a equals the original value of a with five additional units
a==5 //Does NOT assign five to a. Rather, it checks to see if a equals 5.


The other form of equal, ==, is not a way to assign a value to a variable. Rather, it checks to see if the variables are equal. It is useful in other areas of C++ such as if statements and loops.

You can probably guess what the < and > are for. They are greater than and less than checks.

For example:


a<5 //Checks to see if a is less than five
a>5        //Checks to see if a is greater than five
a==5 //Checks to see if a equals five, for good measure

---
Note: My homepage is http://www.cprogramming.com. My email is webmaster@cprogramming.com. Please email me with comments and or suggestions. If you want to use this on your own site please
email me and add a link to http://www.cprogramming.com. Thanks :)

   

bar.gif (11170 bytes)

Prev || Home || Next