Different Types of Constants in C++

In this tutorial, we will learn what are the different types of constants in C++.

First let’s see, what is a constant. As the word signifies, a constant is a value that can not be changed throughout the program. We also call them literals. So, the value of a constant remains the same during the entire program. When they are declared, they are also initialized. In C++, there are two ways of declaring a constant :

  • using #define, a preprocessor directive
  • using the ‘const’ keyword
#define pi 3.14;   // using #define
const int k = 78;    //using a 'const' keyword

const datatype identifier = value;   //general syntax

Types of Constants in C++

In C++, we have five types of literals/constants :

  1. Integer literals
  2. Floating point literals
  3. Character type literals
  4. String literals
  5. Boolean literals

Integer literals in C++

An integer literal can be a decimal number, an octal or a hexadecimal number. A decimal literal consists of numbers made up of digits 0-9 with a +ve or a -ve sign. We can also have a decimal point with it, although its not compulsory. An octal number is made up of digits 0-7 with a +ve or a -ve sign. We use the prefix 0. A hexadecimal number is made up of digits 0-9 and A-F. We use the prefix 0x for it.

#include <iostream>
using namespace std;
int main()
{
  const int i = 35;      //using 'const' keyword
  const int o = 043;     //octal constant
  const int h = 0x23;    //hexadecimal constant

  cout << "integer constant is : " << i << endl;
  cout << "octal constant is : " << o << endl;
  cout << "hexadecimal constant is : " << h << endl;

  return 0;
}

Output:

integer constant is : 35
octal constant is : 35
hexadecimal constant is : 35

Floating point or real literals in C++

Floating point or real literals can be written in decimal or exponential form. The difference between a floating decimal and an integer decimal is that an integer decimal can have no decimal point. However, we always write a decimal point with a floating decimal.

#include <iostream>
using namespace std;
int main()
{
  const float f = 283.91;   //floating decimal constant
  const float e = 2.8391E2;  //floating exponential constant

  cout << "floating decimal constant is : " << f << endl;
  cout << "floating exponential constant is : " << e << endl;
  
  return 0;
}

Output :

floating decimal constant is : 283.91
floating exponential constant is : 283.91

Character type literal in C++

Character literals are enclosed in single quotes (‘ ‘) . If we define the literal with a prefix L, then it becomes a wchar_t type literal. Otherwise, it is the simple char literal. We can have a normal char or an escape sequence as the char literal.

#include <iostream>
using namespace std;
int main()
{
  const char c = 'C', ch = 'H';   //char literals
  const char t = '\t';  //escape sequence literal

  cout << "character constants are : " << c << t << ch;
  
  return 0;
}

Output :

character constants are : C     H

String and boolean literals in C++

String literals are enclosed within double quotes (” “). A boolean literal is a fixed boolean value, which are true or false.

#include <iostream>
using namespace std;
int main()
{
  const char S[] = "Hello there !";    //character constant
  const bool b = true;     //boolean constant

  cout << "string constant is : " << S << endl;
  cout << "boolean constant is : " << b << endl;
  
  return 0;
}

Output :

string constant is : Hello there !
boolean constant is : 1

Hope this was helpful. Enjoy Coding!

Also learn :

Mathematical Constants in C++

PI Constant in C++

Leave a Reply