Bird
Raised Fist0
Cprogramming~3 mins

Why Constants and literals? - Purpose & Use Cases

Choose your learning style10 modes available
The Big Idea

What if changing one number could fix your whole program instantly?

The Scenario

Imagine you are writing a program that calculates the area of a circle multiple times using the value of pi. You type the number 3.14159 everywhere you need it.

The Problem

Typing the same number repeatedly is slow and easy to mess up. If you want to change pi to a more precise value, you must find and replace every instance, risking mistakes and inconsistencies.

The Solution

Constants let you name fixed values once. You write the value of pi just once as a constant, then use its name everywhere. This makes your code easier to read, change, and less error-prone.

Before vs After
✗ Before
area = 3.14159 * radius * radius;
✓ After
const double PI = 3.14159;
area = PI * radius * radius;
What It Enables

Constants make your code clearer and safer by giving fixed values meaningful names you can reuse and update easily.

Real Life Example

Think of a recipe that uses a fixed oven temperature. Instead of writing 350°F everywhere, you write a constant named OVEN_TEMP = 350, so if you want to bake at 375°F next time, you change it once.

Key Takeaways

Typing fixed values repeatedly is error-prone and hard to maintain.

Constants let you name and reuse fixed values safely.

This makes your code easier to read, update, and less buggy.

Practice

(1/5)
1. What is a constant in C programming?
easy
A. A function that returns a value
B. A fixed value that cannot be changed during program execution
C. A variable that can change its value anytime
D. A type of loop in C

Solution

  1. Step 1: Understand the meaning of constant

    A constant is a value that remains the same throughout the program and cannot be modified.
  2. Step 2: Compare options with definition

    Only A fixed value that cannot be changed during program execution describes a fixed value that does not change, which matches the definition of a constant.
  3. Final Answer:

    A fixed value that cannot be changed during program execution -> Option B
  4. Quick Check:

    Constant = fixed value [OK]
Hint: Constants never change value once set [OK]
Common Mistakes:
  • Confusing constants with variables
  • Thinking constants are functions
  • Mixing constants with loops
2. Which of the following is the correct way to define a constant integer named MAX with value 100 in C?
easy
A. All of the above
B. #define MAX 100
C. const int MAX = 100;
D. int const MAX = 100;

Solution

  1. Step 1: Review ways to define constants in C

    Constants can be defined using #define or using const keyword with variable declaration.
  2. Step 2: Check each option

    #define MAX 100 uses #define, which is valid. int const MAX = 100; uses int const, which is valid. const int MAX = 100; uses const int, also valid. So all are correct.
  3. Final Answer:

    All of the above -> Option A
  4. Quick Check:

    All methods define constants [OK]
Hint: Use #define or const keyword for constants [OK]
Common Mistakes:
  • Using variable without const
  • Missing semicolon in const declaration
  • Confusing #define with variable
3. What will be the output of the following C code?
#include <stdio.h>
#define PI 3.14
int main() {
    const int radius = 5;
    float area = PI * radius * radius;
    printf("%.2f", area);
    return 0;
}
medium
A. Syntax error
B. 31.40
C. 78.50
D. 25.00

Solution

  1. Step 1: Calculate area using given formula

    Area = PI * radius * radius = 3.14 * 5 * 5 = 3.14 * 25 = 78.5
  2. Step 2: Check printf formatting

    Using %.2f prints the float with 2 decimal places, so output is 78.50
  3. Final Answer:

    78.50 -> Option C
  4. Quick Check:

    Area = 3.14 * 25 = 78.50 [OK]
Hint: Calculate formula carefully and check decimal format [OK]
Common Mistakes:
  • Using wrong formula
  • Ignoring decimal places
  • Confusing radius with diameter
4. Identify the error in the following C code snippet:
const int x;
x = 10;
printf("%d", x);
medium
A. Cannot assign value to const variable after declaration
B. Missing semicolon after declaration
C. printf format specifier is wrong
D. No error, code runs fine

Solution

  1. Step 1: Understand const variable rules

    A const variable must be initialized when declared and cannot be assigned a value later.
  2. Step 2: Analyze the code

    Here, const int x; declares x without initialization, then tries to assign 10 later, which is not allowed.
  3. Final Answer:

    Cannot assign value to const variable after declaration -> Option A
  4. Quick Check:

    const variables must be initialized once [OK]
Hint: Initialize const variables when declared [OK]
Common Mistakes:
  • Assigning value after declaration
  • Not initializing const variables
  • Ignoring const rules
5. You want to create a constant array of 3 integers in C that cannot be modified after initialization. Which of the following declarations achieves this correctly?
hard
A. int arr[3] = {1, 2, 3};
B. int const *arr = {1, 2, 3};
C. #define arr {1, 2, 3}
D. const int arr[3] = {1, 2, 3};

Solution

  1. Step 1: Understand const array declaration

    Declaring an array with const int arr[3] means the elements cannot be changed after initialization.
  2. Step 2: Check each option

    int arr[3] = {1, 2, 3}; declares a normal array, elements can be changed. const int arr[3] = {1, 2, 3}; declares a constant array correctly. #define arr {1, 2, 3} uses #define incorrectly for array. int const *arr = {1, 2, 3}; declares a pointer to const int, but initialization is invalid.
  3. Final Answer:

    const int arr[3] = {1, 2, 3}; -> Option D
  4. Quick Check:

    const array elements cannot change [OK]
Hint: Use const before type for constant arrays [OK]
Common Mistakes:
  • Using #define for arrays
  • Declaring non-const arrays
  • Incorrect pointer initialization
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