C++ tutorial part 1 (The basics of C++)
Posted by Samath
Last Updated: October 30, 2012

Author : Alexander Allain 

This tutorial is for everyone; if you've never programmed before, or if you have extensive experience programming in other languages and want to expand into C++. It is for everyone who wants the feeling of accomplishment from a working program.

C++ is a programming language of many different dialects, just as each spoken has many different dialects. In C++, dialects are not because the speakers live in the North or South; it is because there are several different compilers. There are four major compilers: Borland C++, Microsoft Visual C++, Watcom C/386, and DJGPP. You can download DJGPP or you may already have another compiler.

Each of these compilers is slightly different. Each one will support the ANSI/ISO standard C++ functions, but each compiler will also have nonstandard functions (these functions are similar to nonstandard words spoken in different parts of the country. For example, in New Orleans the median is called the neutral ground). Sometimes the use of nonstandard functions will cause problems when you attempt to compile source code (the actual C++ written by a programmer) in a different compiler. These tutorials should not suffer from this problem.

If you don't have a compiler, I strongly suggest you get a compiler. A simple compiler is sufficient for these tutorials, but you should get one in order to follow them.

C++ is a different breed of programming language. For DOS-based C++ compilers, there are only a few keywords; keywords alone are insufficient for input or output functions. Almost all usesful functions are in library files that can be accessed by including header files. Let's look at a real program:

#include <iostream.h>

int main()

{

cout<<"HEY, you, I'm alive! Oh, and Hello World!";

return 0;   

}

Let's look at the elements of the program. The #include is a preprocessor directive that tells the compiler to put code from the header file iostream.h into our program. By including header files, you gain access to many different functions. For example, the cout function requires iostream.h.

The next important line is int main(). This line tells the compiler that there is a function named main, and that the function returns an integer, hence int. The braces ({ and }) signal the beginning and end of functions and other code blocks. If you have programmed in Pascal, you will know them as BEGIN and END.

The next line of the program may seem strange. If you have programmed in another language, you might expect that print would be the function used to display text. In C++, however, 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 semicolon is added onto the end of all function calls in C++; the semicolon later shows up when you declare variables.

The penultimate line of code orders main to return 0. When one returns a value from main, it is passed on to the operating system. As a note, declaring main as though it had no return type - void main() - usually works; it is considered bad practice, however.

The final brace closes off the function. You should try running this program in a compiler. You can cut and paste the code into a file, save it as a .cpp file, and then open the file from within a compiler. If you are using a command-line compiler, such as Borland C++ 5.5, you should read the compiler instructions for information on how to compile.

Comments are often useful when programming. When you tell the compiler a section of text is a comment, the compiler will ignore it when running the code. To create a comment use either //, which tells the compiler that the rest of the line is a comment, or /* and then */ to block off everything between as a comment. Certain compilers will change the color of a commented area, but some will not. Be certain not to accidentally comment out code (that is, to tell the compiler part of your code is a comment) you need for the program. When you are learning to program, it is useful to be able to comment out sections of code in order to see how the output is affected.

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

Of course, before you try to receive input, you must have a place to store that input. In programming, input and data are stored in variables. There are several different types of variables; when you tell the compiler you are declaring a variable, you must include the data type along with the name of the variable. Several basic types include char, int, and float.

A variable of type char stores a single character; variables of type int store integers (numbers without decimal places), and variables of type float store numbers with decimal places. Each of these variable types - char, int, and float - is each a keyword that you use when you declare a variable. To declare a variable you use the syntax type <name>. It is permissible to declare multiple variables of the same type on the same line; each one should be separated by a comma. The declaration of a variable or set of variables should be followed by a semicolon (Note that this is the same procedure used when you call a function). If you attempt to use an undefined variable, your program will not run, and you will receive an error message informing you that you have made a mistake.

Here are some variable declaration examples:

int x;

int a, b, c, d;

char letter;

float the_float;

While you can have multiple variables of the same type, you cannot have multiple variables with the same name. Moreover, you cannot have variables and functions 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. The keyword int declares thisisanumber to be an integer. The function cin>> reads a value into thisisanumber; the user must press enter before the number is read by the program. Keep in mind that the variable was declared an integer; if the user attempts to type in a decimal number, it will be truncated (that is, the decimal component of the number will be ignored). Try typing in a sequence of characters or a decimal number when you run the example program; the response will vary from input to input, but in no case is it particularly pretty. Notice that when printing out a variable quotation marks are not used. Were there quotation marks, the output would be "You Entered: thisisanumber." The lack of quotation marks informs the compiler that there is a variable, and therefore that the program should check the value of the variable in order to replace the variable name with the variable when executing the output function. Do not be confused by the inclusion of two separate insertion operators on one line. Including multiple insertion operators on one line is acceptable as long as each insertion operator outputs a different piece of information; you must separate string literals (strings enclosed in quotation marks) and variables by giving each its own insertion operators (<<). Trying to put two variables together with only one <;<; will give you an error message; do not try it. Do not forget to end functions and declarations with a semicolon. If you forget the semicolon, the compiler will give you an error message when you attempt to compile the program.

Variables are uninteresting without the ability to modify them. Several operators used with variables include the following: *, -, +, /, =, ==, >, <. The * multiplies, the - subtracts, and the + adds. It is of course important to realize that to modify the value of a variable inside the program it is rather important to use the equal sign. In some languages, the equal sign compares the value of the left and right values; but in C++ == is used for that task. The equal sign is still extremely useful. It sets the left input to the equal sign, which must be one, and only one, variable, equal to the value on the right side of the equal sign. The operators that perform mathematical functions should be used on the right side of an equal sign in order to assign the result to a variable on the left side.

Here are a few examples:

a=4*6; //(Note use of comments and of semicolon) 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++; for example, you will often use == in such constructions as if statements and loops.

You can probably guess how < and > function. They are greater than and less than operators .

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



Quiz: The basics of C++

1. What is the correct value to return to the operating system upon the successful completion of a program?
A. -1 
B. 1 
C. 0 
D. Programs do not return a value.


2. What is the only function all C++ programs must contain?
A. start()
B. system() 
C. main() 
D. program()


3. What punctuation is used to signal the beginning and end of code blocks?
A. { } 
B. -> and <- 
C. BEGIN and END 
D. ( and ) 


4. What punctuation ends most lines of C++ code?
A. . 
B. ; 
C. : 
D. ' 


5. Which of the following is a correct comment?
A. */ Comments */
B. ** Comment **
C. /* Comment */
D. { Comment }


6. Which of the following is not a correct variable type?
A. float
B. real
C. int
D. double


7. Which of the following is the correct operator to compare two variables?
A. :=
B. =
C. equal
D. ==

Related Content