Bird
Raised Fist0
C++programming~5 mins

Constants and literals in C++

Choose your learning style10 modes available
Introduction

Constants and literals let you use fixed values in your program that do not change. This helps keep your code clear and safe.

When you want to use a value that should never change, like the number of days in a week.
When you want to make your code easier to read by giving a name to a fixed value.
When you want to avoid mistakes by preventing accidental changes to important values.
When you want to use fixed text or numbers directly in your program.
When you want to improve performance by using fixed values known at compile time.
Syntax
C++
const type name = value;

// Examples:
const int DAYS_IN_WEEK = 7;
const double PI = 3.14159;

const keyword makes a variable constant, so its value cannot change after initialization.

Literals are fixed values like numbers (42), characters ('a'), or strings ("hello") used directly in code.

Examples
This creates a constant integer named MAX_SCORE with value 100.
C++
const int MAX_SCORE = 100;
This creates a constant character for the newline symbol.
C++
const char NEWLINE = '\n';
This creates a constant double for a tax rate of 7%.
C++
const double TAX_RATE = 0.07;
This creates a constant pointer to a string literal "Hello!".
C++
const char* const GREETING = "Hello!";
Sample Program

This program shows how to declare constants and use them in output. It also shows that trying to change a constant causes an error.

C++
#include <iostream>

int main() {
    const int DAYS_IN_WEEK = 7;
    const double PI = 3.14159;
    const char NEWLINE = '\n';

    std::cout << "Days in a week: " << DAYS_IN_WEEK << NEWLINE;
    std::cout << "Value of PI: " << PI << NEWLINE;
    std::cout << "This is a newline character: " << NEWLINE;

    // Uncommenting the next line will cause a compile error because DAYS_IN_WEEK is constant
    // DAYS_IN_WEEK = 8;

    return 0;
}
OutputSuccess
Important Notes

Constants must be initialized when declared.

Trying to change a constant value after initialization will cause a compile-time error.

Literals are the actual fixed values you write in your code, like numbers or text.

Summary

Constants hold fixed values that cannot change during program execution.

Literals are the actual fixed values written directly in code.

Using constants makes your code safer and easier to understand.

Practice

(1/5)
1. Which of the following best describes a constant in C++?
easy
A. A fixed value that cannot be changed after initialization
B. A variable that can change its value anytime
C. A function that returns a fixed value
D. A pointer to a variable

Solution

  1. Step 1: Understand the meaning of constant

    A constant in C++ is a value that once set cannot be changed during program execution.
  2. Step 2: Compare options with definition

    A fixed value that cannot be changed after initialization matches this definition exactly, while others describe variables or functions.
  3. Final Answer:

    A fixed value that cannot be changed after initialization -> Option A
  4. Quick Check:

    Constant = fixed value [OK]
Hint: Constants never change value after being set [OK]
Common Mistakes:
  • Confusing constants with variables
  • Thinking constants are functions
  • Assuming pointers are constants
2. Which of the following is the correct way to declare a constant integer named MAX_SIZE with value 100 in C++?
easy
A. int MAX_SIZE = 100;
B. constant int MAX_SIZE = 100;
C. int const MAX_SIZE;
D. const int MAX_SIZE = 100;

Solution

  1. Step 1: Recall syntax for constant declaration

    In C++, the keyword const before the type declares a constant.
  2. Step 2: Check each option

    const int MAX_SIZE = 100; uses const int MAX_SIZE = 100; which is correct. int MAX_SIZE = 100; misses const, C is incomplete without initialization, D uses invalid keyword.
  3. Final Answer:

    const int MAX_SIZE = 100; -> Option D
  4. Quick Check:

    Use const before type for constants [OK]
Hint: Use 'const' keyword before type to declare constants [OK]
Common Mistakes:
  • Omitting 'const' keyword
  • Using 'constant' instead of 'const'
  • Not initializing the constant
3. What is the output of the following C++ code?
const int x = 5;
int y = 10;
std::cout << x + y << std::endl;
medium
A. Runtime error
B. 15
C. Syntax error
D. 510

Solution

  1. Step 1: Understand the code variables

    Variable x is a constant with value 5, y is 10.
  2. Step 2: Calculate the expression output

    The expression x + y equals 5 + 10 = 15, which is printed.
  3. Final Answer:

    15 -> Option B
  4. Quick Check:

    5 + 10 = 15 [OK]
Hint: Add constant and variable values normally [OK]
Common Mistakes:
  • Thinking constants cause errors
  • Concatenating numbers as strings
  • Expecting runtime errors
4. Identify the error in the following C++ code:
const int a = 10;
a = 20;
std::cout << a << std::endl;
medium
A. Incorrect use of std::cout
B. Missing semicolon after declaration
C. Cannot assign a new value to a constant variable
D. Variable 'a' not declared

Solution

  1. Step 1: Analyze constant assignment

    The variable a is declared as constant with value 10.
  2. Step 2: Check reassignment

    Trying to assign 20 to a is illegal because constants cannot change value.
  3. Final Answer:

    Cannot assign a new value to a constant variable -> Option C
  4. Quick Check:

    Constants cannot be reassigned [OK]
Hint: Constants cannot be changed after initialization [OK]
Common Mistakes:
  • Trying to reassign constants
  • Ignoring compiler error messages
  • Confusing constants with variables
5. You want to define a constant literal for the value of pi (3.14159) that cannot be changed and can be used throughout your program. Which of the following is the best way to do this in C++?
hard
A. const double pi = 3.14159;
B. #define pi 3.14159
C. float pi = 3.14159;
D. double const pi;

Solution

  1. Step 1: Understand constant literal requirements

    The value should be fixed, unchangeable, and precise (double is better than float).
  2. Step 2: Evaluate options

    const double pi = 3.14159; declares a constant double with initialization, which is best practice. float pi = 3.14159; is not constant, C uses macro which is less safe, D misses initialization.
  3. Final Answer:

    const double pi = 3.14159; -> Option A
  4. Quick Check:

    Use 'const double' with initialization for constants [OK]
Hint: Use 'const double' with value for precise constants [OK]
Common Mistakes:
  • Using non-const variables for constants
  • Using #define instead of const
  • Not initializing constants
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard