#FutureSTEMLeaders - Wiingy's $2400 scholarship for School and College Students

Apply Now


Basic Concepts C++: An Illustrative Guide

Written by Rahul Lath

Updated on: 17 Aug 2023

tutor Pic

C++ is a high-level programming language that is widely used by software developers for developing a variety of things including software applications, operating systems, games, and more.

It is a versatile language that offers procedural, object-oriented, and functional programming. Learning C++ is a valuable skill that can open up a range of career opportunities in the tech industry. There are several reasons why learning C++ is a good idea for accelerating your career.

Firstly, it is a widely used language that is used in many industries, including gaming, finance, and aerospace. Secondly, it is a powerful language that is ideal for developing high-performance applications. Finally, it helps in improving your problem-solving and critical thinking skills, which are valuable in any industries.

Getting Started with C++

To get started with C++, you will need to install an Integrated Development Environment (IDE) such as Visual Studio or Code::Blocks. Once you have an IDE installed, you can start learning the basics of C++ programming, including data types, variables, control structures, and functions. There are many online resources available to help you learn C++, including tutorials, forums, and online courses. It is important to practice coding regularly and to work on projects to gain experience and improve your skills.

We also have a list of C++ certifications and projects cumulated for you.

Advantages of C++

  1. High Perfomance:  It gives low-level access to computer hardware, making it ideal for developing high-performance applications
  2. Versatility: It supports various programming paradigms including procedural, object-oriented, and functional programming.
  3. Portability: C++ can be compiled and run on different operating systems and hardware platforms making it versatile.
  4. Large Community: C++ has a large and active community of developers who contribute to open-source libraries, frameworks, and tools, making it a wide community where you can interact and learn more. Eg: Most of the errors and questions that might arise can be shared on Stack Overflow

Applications of C++

  1. Operating Systems: It is used for developing operating systems, including Windows, Linux, and Mac OS.
  2. Finance: It used in financial applications, including trading systems, risk management tools, and portfolio management software.
  3. Aerospace: It is  used for developing software for spacecraft and satellites, controlling drones and other unmanned vehicles.
  4. Gaming: Another popular place its is used is developing video games due to its performance and low-level access to computer hardware.

Key Concepts in C++

Let us now dive into some key concepts in C++ that are essential for a developer to know before making any progress in C++. We’ll look into some basic concepts along with their code snippets:

  1. Variables and Data Types
  2. Input and Output Operations
  3. Control flow structures
  4. Arrays and Pointers

Variables and Data Types

Now let’s take a closer look at the data types and variables in C++:

A. Declaration and Initialisation of Variables:

In C++ we must declare the variables before using them. The declaration specified the name and data type of the variable. We can also simultaneously initialise them while declaring the variables.

int x; // declare an integer variable x = 5; // initialize the variable with the value 5 int y = 10; // declare and initialize an integer variable with the value 10

B. Fundamental Data Types:
C++ has several fundamental data types, including int, float, double, char, and bool. Here’s a brief description of each:

  • int: used to store integer values
  • float: used to store floating-point values with single precision
  • double: used to store floating-point values with double precision
  • char: used to store a single character
  • bool: used to store true/false values

Here is an example of declaring and initialising the various types of variables:

int age = 30; float height = 1.75; double weight = 75.5; char gender = 'M'; bool isStudent = true;

C. User-defined Data Types:

In addition to the fundamental data types, C++ also allows you to define your own data types using struct and enum. A struct is a collection of data elements, while an enum is a set of named integer constants. Here’s an example of defining a struct and an enum:

// define a struct to represent a person struct Person { string name; int age; }; // define an enum to represent the days of the week enum Day { Monday,Tuesday, Wednesday,Thursday, Friday, Saturday, Sunday};

D. Type Modifiers:

Type modifiers in C++ also let you change how a data type behaves. A variable’s initial value cannot be altered once it has been initialised, according to the const modifier. With integer types, the signed and unsigned modifiers are used to determine whether or not the values can be negative. Here’s an illustration of how to use type modifiers:

const int MAX_VALUE = 100; // declare a constant variable unsigned int count = 0; // declare an unsigned integer variable signed int temperature = -10; // declare a signed integer variable

Input and Output Operations

Now let us take a look at how the input and output operations look in C++:
A. Standard Input and Output Streams:

C++ provides standard input and output streams, which are represented by the built in “cin” and “cout”.
–The cin object is used for reading input from the user.

–The cout object is used for writing output to the console.
Here’s an example of using cin and cout to read input and write output:

int age; cout << "Enter your age: "; cin >> age; cout << "Your age is: " << age << endl;

B. Formatting Output:

C++ provides several ways to format output using the cout object.
–setw() function to specify the width of the output.
–setprecision() function to specify the number of decimal places to display for floating-point numbers.
–setfill() function to specify the fill character for the output.
Here’s an example of using formatting functions:

double pi = 3.14159265358979323846; cout << "Pi is approximately: " << setprecision(4) << pi << endl;

C. String Manipulation:

C++ provides several functions for manipulating strings, which are represented by the string class.
– “+” operator to concatenate strings

– size() function to get the length of a string
– substr() function to get a substring of a string
Here’s an example of using string manipulation functions:

string firstName = "John"; string lastName = "Doe"; string fullName = firstName + " " + lastName; cout << "Full name: " << fullName << endl; cout << "Length of full name: " << fullName.size() << endl; cout << "First name: " << fullName.substr(0, 4) << endl; // Output Full name: John Doe Length of full name: 8 First name: John

Control Flow Structures

Let’s take a closer look at control flow structures and functions in C++.

A. Conditional Statements:

In C++, you can use conditional statements like if, if-else, and switch to execute different blocks of code based on different conditions.
–”if” statement executes a block of code if a specified condition is true
– “if-else” statement executes one block of code if the condition is true and another block of code if the condition is false
– “switch” statement is used to execute different blocks of code based on the value of a variable. Here’s an example of using conditional statements:

int num = 10; if (num > 0) { cout << "The number is positive" << endl; } else if (num < 0) { cout << "The number is negative" << endl; } else { cout << "The number is zero" << endl; } int day = 1; switch (day) { case 1:cout << "Monday" << endl; break; case 2:cout << "Tuesday" << endl; break; // ... default:cout << "Invalid day" << endl; }

B. Looping Statements:

C++ provides several looping statements like for, while, and do-while to execute a block of code repeatedly.
– “for” loop executes a block of code a fixed number of times
– “while” the while loop executes a block of code as long as a specified condition is true
– “do-while” loop is similar to the while loop, but it always executes the block of code at least once
Here’s an example of using looping statements:

for (int i = 0; i < 10; i++) { cout << i << endl; } int j = 0; while (j < 10) { cout << j << endl; j++; } int k = 0; do { cout << k << endl; k++; } while (k < 10);

C. Nested Loops and Conditional Statements:

You can also nest conditional statements and loops to create more complex control flow structures. Here’s an example of using nested loops and conditional statements:

for (int i = 1; i <= 10; i++) { if (i % 2 == 0) { for (int j = 1; j <= i; j++) { cout << "*"; } cout << endl; } }


A. Defining and calling functions:
Functions are used to perform a specific task. A function is a block of code that can be called from other parts of your program. To define a function, you need to specify the 

-return type


-parameter list

To call a function, you simply need to use its name and pass any required arguments. Here’s an example of defining and calling a function:

int add(int x, int y) { return x + y; } int sum = add(5, 7); cout << "The sum is: " << sum << endl;

B. Parameters and Return Values:

Functions can take zero or more parameters,they are values that are passed to it . Functions can also return a value, which is the result of the function’s computation. To specify a return value, you need to use the return statement. Here’s an example of using parameters and return values:

double divide(double x, double y) { return x / y; } double result = divide(10.0, 2.0);

C. Function Overloading:

In C++, you can define multiple functions with the same name but different parameter lists. This is called function overloading, and it allows you to use the same function name for different tasks,where the return type is different. Here’s an example of function overloading:

int add(int x, int y) { return x + y; } double add(double x, double y) { return x + y; } int sum = add(5, 7); double total = add(3.14, 2.71); cout << "The sum is: " << sum << endl; cout << "The total is: " << total << endl;

Arrays and Pointers

A. Declaring and Accessing Arrays:

Arrays in programming are a collection of variables of the same data type, which are grouped together under a common name. The variables in an array can be accessed using their index number, which starts at 0 for the first element in the array.

We can declare an array in C++, we need to specify the data type of data elements followed by array name and size in the of th array in square brackets.

int myArray[5]; int myArray[5] = {1, 2, 3, 4, 5}; //array of size 5

To access  elements we need to use the index

int x = myArray[0]; // access the first element in the array

B. Multidimensional Arrays:

Multidimensional arrays are arrays that have more than one dimension. The most common type is the two-dimensional array, which is also called a table or matrix. To declare a two-dimensional array in C++, you can use the following syntax:

int myArray[3][4]; int myArray[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};

To access the elements we use:

int x = myArray[0][1]; // access the element in the first row and second column

C. Introduction to Pointers:

A pointer is a variable that holds the memory address of another variable. Pointers are often used in C++ for dynamic memory allocation and for passing parameters by reference.

int* myPointer; int x = 10; myPointer = &amp;x; //This declares a pointer variable that can hold the memory address of an integer variable.

D. Pointers and Arrays:

In C++, arrays and pointers are closely related. In fact, the name of an array is a pointer to the first element in the array.

To declare a pointer to an array, you can use the following syntax:

int myArray[5]; int* myPointer = myArray;

This creates a pointer variable myPointer that points to the first element in the array myArray. You can access individual elements in the array using pointer arithmetic:

int x = *(myPointer + 2); // access the third element in the array

Practical Tips for Writing C++ Code

  • Use meaningful variable names to improve code readability.
  • Declare variables close to where they are used to reduce bugs and improve code readability.
  • Use comments to explain the purpose of code and improve code readability.
  • Follow a consistent coding style to make code easier to read and maintain.

Sample Codes

1. Hello World Program

#include <iostream> using namespace std; int main() { int n = 10, t1 = 0, t2 = 1, nextTerm; cout << "Fibonacci Series: "; for (int i = 1; i <= n; ++i) { cout << t1 << " + "; nextTerm = t1 + t2; t1 = t2; t2 = nextTerm; } return 0; }


In conclusion, learning C++ is a valuable skill for anyone interested in programming and software development. C++ is a versatile and powerful language that is widely used in various industries, including gaming, finance, and aerospace.

In this article we have covered how to get started with C++, what are the key concepts and introduced you to the same, provided with links to various sources so that you can expand your knowledge in C++.


Is C++ beginner friendly?

C++ can be challenging for beginners due to various concepts. However, with proper guidance and practice, anyone can learn and become proficient in C++ programming.

What is the difference between C and C++?

C++ is an extension of the C language and includes additional features such as object-oriented programming, templates, and exception handling. C is a procedural programming language and does not support these features whereas C++ supports various paradigms like object, function and prcedural programming.

Why do we use concepts in C++?

Concepts are used in C++ to provide a way to specify requirements on template arguments. They allow developers to write generic code that works with a wide range of types while ensuring that the types meet certain requirements of the client.

Can I learn C++ without any programming experience?

It is possible to learn C++ without any programming experience, but it may take more time and effort to grasp the concepts and syntax

Written by

Rahul Lath

Reviewed by

Arpit Rankwar

Share article on

tutor Pic
tutor Pic