Introduction to C++

C++ is a programming language which allow you to control your computer, making it do what you want it to do. This programming tutorial series is all about helping you to take full advantage of C++.

C++ Compilers

The very first thing you need to do, before starting out in C++, is to make sure that you have a compiler. What is a compiler, you ask? A compiler turns the program that you write into a executable that your computer can actually understand and run. If you’re taking a course, you probably have one provided through your school. If you’re starting out on your own, your best bet is to use Code::Blocks. Our page on setting up Code::Blocks will take you through setting up the Code::Blocks compiler in great detail.

Introduction to the C++

A C++ program is a collection of commands, which tell the computer to do “something”. This collection of commands is usually called C++ source code, source code or just code. Commands are either “functions” or “keywords”. Keywords are a basic building block of the language, while functions are, in fact, usually written in terms of simpler functions–you’ll see this in our very first program, below. (Confused? Think of it a bit like an outline for a book; the outline might show every chapter in the book; each chapter might have its own outline, composed of sections. Each section might have its own outline, or it might have all of the details written up.) Thankfully, C++ provides a great many common functions and keywords that you can use.

But how does a program actually start? Every program in C++ has one function, always named main, that is always called when your program first executes. From main, you can also call other functions whether they are written by us or, as mentioned earlier, provided by the compiler.

So how do you get access to those prewritten functions? To access those standard functions that comes with the compiler, you include a header with the #include directive. What this does is effectively take everything in the header and paste it into your program.

Let’s look at a working program:

#include <iostream>

using namespace std;

int main()
{

cout<<“Hello World!\n”;
cin.get();

}

The #include is a “preprocessor” directive that tells the compiler to put code from the header called iostream into our program before actually creating the executable. By including header files, you gain access to many different functions.

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 “curly braces” ({ and }) signal the beginning and end of functions and other code blocks. You can think of them as meaning BEGIN and END.

In C++, however, the cout object is used to display text (pronounced “C out”). It uses the << symbols, known as “insertion operators”, to indicate what to output. cout<< results in a function call with the ensuing text as an argument to the function. The quotes tell the compiler that you want to output the literal string as-is. The ‘\n’ sequence is actually treated as a single character that stands for a new line.

The next command is cin.get(). This is another function call: it reads in input and expects the user to hit the return key. Many compiler environments will open a new console window, run the program, and then close the window. This command keeps that window from closing.

Upon reaching the end of main, the closing brace, our program will return the value of 0 (and integer, hence why we told main to return an int) to the operating system. This return value is important as it can be used to tell the OS whether our program succeeded or not. A return value of 0 means success and is returned automatically (but only for main, other functions require you to manually return a value), but if we wanted to return something else, such as 1, we would have to do it with a return statement:

#include <iostream>

using namespace std;

int main()
{

cout<<“Hello World!\n”;
cin.get();

return 1;

}

C++ Comments

When you tell the compiler a section of text is a comment, it will ignore it when running the code, allowing you to use any text you want to describe the real 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 compiler environments 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.

Variables in C++

Variables are reserved memory locations which are used to store various information which means that some space in memory will be reserved for that variable.

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.

Using the right variable type can be important for making your code readable and for efficiency–some variables require more memory than others. Moreover, because of the way the numbers are actually stored in memory, a float is “inexact”, and should not be used when you need to store an “exact” integer value.

Declaring Variables in C++

Here are some variable declaration examples:

int x;
char letter;
float the_float;

It is permissible to declare multiple variables of the same type on the same line; each one should be separated by a comma.

int a, b, c, d;

If you were watching closely, you might have seen that declaration of a variable is always followed by a semicolon.

Common Errors when Declaring Variables in C++

If you attempt to use a variable that you have not declared, your program will not be compiled or run, and you will receive an error message informing you that you have made a mistake. Usually, this is called an undeclared variable.

#include <iostream>

using namespace std;

int main()
{

int thisisanumber;

cout << “Please enter a number: “; cin >> thisisanumber;
cin.ignore();
cout << “You entered: ” << thisisanumber << “\n”;
cin.get();

}

if Statement in C++

The ability to control the flow of your program, letting it make decisions on what code to execute is valuable to the programmer. The if statement in c++ allows you to control if a program enters a section of code or not based on whether a given condition is true or false. Below you will find sample conditional statements and a list of relational operators to use with the statements.

Relational Operators

equals to ==
not equals to !=
less than <
greater than >
less than or equal to <=
greater than or equal to >=
not !
and &&
or ||

The if Statement

if (Boolean Expression) {

statement(s) to execute.

}

if…else Statement

if (Boolean Expression) {

statement(s) to execute if condition is true.

} else {

statement(s) to execute if condition is false.

}

if Statement Example

if (age == 20) {

cout << “I am twenty years old.”;

}

if…else Statement Example

#include <iostream>

using namespace std;

int main()
{

int age;

cout<<“Please input your age: “; cin>> age;
cin.ignore();

if ( age < 100 ) {

cout<<“You are pretty young!\n”;

} else if ( age == 100 ) {

cout<<“You are old\n”;

} else {

cout<<“You are really old\n”;

}

cin.get();

}

Switch Statement in C++

Switch statement is a substitute for long if statements that compare a variable to several integral values (integral values are simply values that can be expressed as an integer, such as the value of a char). The basic format for using switch case is outlined below. The value of the variable given into switch is compared to the value following each of the cases, and when one value matches the value of the variable, the computer continues executing the program from that point.

Switch Statement Syntax

switch (value) {

case this-value:

Code to execute if value == this-value
break;

case that-value:

Code to execute if value == that-value
break;

default:

Code to execute if value does not equal any of the cases
break;

}

Switch Statement Example

int age;
cout << “What is your age: “; cin >> age;

switch (age)
{

case 1:

cout << “You are 1 year old”;
break;

case 2:

cout << “You are 2 years old”;
break;

case 3:

cout << “You are 3 years old”;
break;

default:

cout << “You are older than 3 years”;

}

Break Statement

The break command can be used to exit a loop at any time. Here is an example that will print “Hello” 5 times and then break out of the loop.

int x;
for (x = 1; x <= 10; x++)
{

cout << “Hello\n”;
if(x == 5)
break;

}

Continue Statement

The continue command lets you start the next iteration of the loop. The following example will not print “Hello” on 5th iteration because the continue command goes back to the beginning of the loop.

int x;
for (x = 1; x <= 10; x++)
{

if(x == 5)
continue;
cout << “Hello\n”;

}

Loops in C++

Loops are probably one of the most important programming concepts in existence. There are so many applications of loops it would be impossible to list them all. To name a few though, things like parsing an array, trapping for errors, and animation. Also, since it will allow you to execute a block of code over and over, it saves time and typing. Now, depending on what kind of programming language you came from, loops might already be familiar to you, but if you’ve come from a low level programming language such as assembly or GWBasic, you are probably more familiar with jump or goto statements. Well, loops take into account all that lovely comparison crap you used to have to do before and puts it into one nice package.

C++ for Loop

The easiest and most used of these loops is the for loop.

for Loop Syntax

for ( variable initialization; condition; variable update ) {
Code to execute while the condition is true
}

for Loop Example

#include <iostream>
using namespace std;

int main() {

for ( int x = 0; x < 10; x++ ) {

cout<< x << “\n”;

}
return 0;

}

C++ while Loop

The while loop is almost exactly the same as the do loop except that its condition is tested at the start of the loop instead of at the end… and the format is slightly different. The easiest way to see this is simply to re-write the above example with a while loop.

while Loop Example

#include <iostream>

using namespace std;
int main()
{

int x = 0;

while ( x < 10 ) {

cout<< x << “\n”;
x++;

}

return 0;

}

C++ do.. while Loop

The do while loop is like the while loop except that the condition is tested at the bottom of the loop.

do.. while Loop Syntax

do {

statement(s);

} while (condition);

do.. while Loop Example

#include <iostream>

using namespace std;

int main()
{

int x;

x = 0;
do {

cout<<“Hello, world!\n”;

} while ( x != 0 );

return 0;

}