Your First C++ Program - Hello World
September 11, 2018
First let us talk about why should we learn C++. C++ ranks 2nd in popularity according to 2018 IEEE spectrum Top Programming Language ranking (link). Learning C++ is a wise investment for all programmers.
C++ is a sophisticated, efficient and a general-purpose programming language based on C. It was developed by Bjarne Stroustrup in 1979. C++ is the preferred language of choice for applications where it’s important to write highly-efficient code. These include modern games, operating systems, browsers, and much more.
C++ is also a great programming language as your first programming language since coding in C++ gives you a good idea about how computer memory works, how information is stored in computer memory, and so on.
Let’s get started! In this tutorial, you’ll see the C++ “Hello World” program, and then understand what each line of the code is doing.
The Hello World program
The “Hello World” program simply outputs the words “Hello World”.
// Program to display "Hello World"
#include <iostream> // Header file for input output functions
using namespace std;
// main function - this is where the execution of program begins
int main()
{
cout << "Hello World" << endl; // print "Hello World" (and go to new line)
return 0;
}
Output:
Hello World
Understanding Hello World
Don’t worry if the earlier program is overwhelming. We’ll go through and break down every line of the program below at a high level. We’ll also cover each of these concepts in greater detail later on in the course.
//
: In C++,//
denotes a comment. Comments are used to make the code readable and easy to understand. In our case, the first comment describes what our program does. When the C++ compiler sees//
, it ignores everything on that line after the//
.#include
: C++ has lots of libraries.#include <iostream>
tells C++ to include library namediostream
(stands for input output stream). Libraries contain code written previously. This library provides functions for input / output. In our program, we will use thecout
command later to output some text. Since this command is part of theiostream
library, we need to include the library before using thecout
command.int main()
: This line is used to declare a function namedmain
. The execution of every C++ program begins from themain
function, no matter where the function is located in the program. Moreover, themain
function is required to return an integer data type. Hence, it begins asint main
, and ends withreturn 0
. This is just convention. When we learn about functions later, we will understand what returning something from a function actually does. For now, think of themain
function as simply the place where program execution begins.{
and}
: The opening and closing braces indicate the beginning and end of the function body. (In this case, the body of themain
function). Everything between these two braces is the body of themain
function.cout << "Hello World" << endl;
line tells the compiler to display the message “Hello World” on the screen.cout
stands for console output. It says, output something to the console.- We use the
<<
operator to tell what needs to be outputted. Note that the<<
operator can be chained. So if we want to output 3 things, we can do<< thing1 << thing2 << thing3
. - In our program, we give the string
Hello World
to be outputted. Strings must be enclosed in double quotations ("
). Hence, in the program, the string is written as"Hello World"
. - This is followed by
endl
(for endline). This means that if we usecout
again, the values will be printed on the next line, instead of the same line. - The
cout
line is a statement in C++. Every statement is meant to perform some task. Each statement must end with a semicolon (;
). If you forget to add semicolon at the end of a statement, the compiler will throw an error when you try to compile the C++ program. cout
is part ofstd
namespace. We’ll learn about namespaces in later lessons. This is the reason why we need to have the statementusing namespace std;
at the top of the file.return 0;
is also a statement (hence it ends with a semicolon). Thisreturn
statement is used in functions to return the results of the tasks performed by a function.- The value returned by the
main
function is used to determine if everything went smoothly. In this case, we return 0 because that is the value conventionally used to denote “Everything went as expected”. - Once the
return
statement is encountered, the function stops executing. That means that if we write more statements inside themain
function but after thereturn
statement, those statements won’t get executed. - Indentation: The main purpose of indentation in C++ is to make the code easy to read for yourself and others. In this program, we indent the part of the code that is inside the
main
function (lines 9-11). Note that the C++ compiler doesn’t care about indentation, the code would work just fine without any indentation. However, it is an extremely bad practice to write code without indentation.
C++ “boilerplate” code
You may have noticed from the previous section that there are a lot of code lines that don’t actually produce any end result or have any effect that is visible. The only thing that does some action is the cout << "Hello World" << endl;
statement. The rest of the code doesn’t do much, it just needs to be there. We call this boilerplate code. Every time you write code in C++, the program will follow this overall layout.
// This is the "boilerplate" code for C++.
// All the C++ code you write in this course will have this layout.
#include <iostream> // We will always need the iostream library for input-output
// More #include statements here for adding any other libraries we need
using namespace std; // We will always need namespace std since cout is inside the std namespace
// main function - where the execution of program begins
int main()
{
// actual code here
// ...
return 0; // main always end with "return 0;"
}
From the next tutorial onwards, the code snippets we’ll write will only include the part of the code indicated as // actual code here
. When you run the code, it will automatically expand to its full version.
If you are running C++ directly on your computer, make sure you type the provided code snippets inside the body of your main
function. We strongly recommend that you write the full code and not copy-paste, as it is good for you to practice writing code.
Installation and Setup
If you don’t want to install things right away and want to get started with learning C++, then you can skip installation for now. You will see a Try it now!
button on code snippets in this course, which allows you to run the code directly from your browser / mobile app. You will also be able to edit the code and play around (in-fact, the coding exercises will require you to). In addition, there are also a number of other websites where you can submit and run your code — here are some options: Onlinegdb, Ideone, Jdoodle.
That said, if working online is slowing you down or you prefer to have C++ installed on your computer, then follow the instructions here: Install C++ : Instructions for Windows, Mac and Linux. If you are on Linux (or on Mac OS and don’t want to install Xcode), then read Introduction to the Command-line Interface tutorial to become familiar with the command line before you start the installation process. For beginners, we recommend installing C++ once you are about halfway through the course.
Conclusion
Congratulations!!! You have understood your first C++ program.
If there are some things you feel that you do not understand completely (such as functions), don’t worry. That is expected, and you will learn these concepts in more detail as you go through this course.