Bird
Raised Fist0
Cprogramming~10 mins

Constants and literals - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Constants and literals
Start
↓
Write literal value
↓
Assign to constant
↓
Use constant in code
↓
Constant value remains unchanged
↓
End
This flow shows how a literal value is assigned to a constant and used without changing its value.
Execution Sample
C
const int DAYS_IN_WEEK = 7;
int main() {
  int totalDays = DAYS_IN_WEEK * 4;
  return totalDays;
}
This code assigns a literal 7 to a constant DAYS_IN_WEEK and calculates totalDays as 7 times 4.
Execution Table
StepActionVariable/ConstantValueNote
1Declare constant DAYS_IN_WEEKDAYS_IN_WEEK7Constant assigned literal 7
2Enter main function--Program starts main
3Calculate totalDays = DAYS_IN_WEEK * 4totalDays2828 = 7 * 4
4Return totalDaysreturn28Program returns 28
5End--Program ends
💡 Program ends after returning totalDays value 28
Variable Tracker
Variable/ConstantStartAfter Step 3Final
DAYS_IN_WEEKundefined77
totalDaysundefined2828
Key Moments - 2 Insights
Why can't we change the value of DAYS_IN_WEEK after assigning it?
Because DAYS_IN_WEEK is declared as a constant (const), its value is fixed after initialization as shown in step 1 and cannot be changed later.
What is the difference between a literal and a constant here?
A literal is the actual value written in code (like 7), while a constant is a named storage (DAYS_IN_WEEK) that holds that literal and cannot be changed, as shown in steps 1 and 3.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the value of DAYS_IN_WEEK after step 1?
A28
B4
C7
Dundefined
💡 Hint
Check the value assigned to DAYS_IN_WEEK in step 1 of the execution table.
At which step is totalDays calculated?
AStep 1
BStep 3
CStep 4
DStep 2
💡 Hint
Look for the step where totalDays gets a value in the execution table.
If we tried to assign DAYS_IN_WEEK = 10 after step 1, what would happen?
AThe program would give a compile-time error
BThe program would ignore the assignment
CThe program would compile and DAYS_IN_WEEK would be 10
DThe program would run but return 40
💡 Hint
Constants declared with const cannot be changed after initialization, causing a compile error.
Concept Snapshot
Constants hold fixed values that cannot change.
Literals are actual fixed values in code.
Use 'const' keyword to declare constants.
Constants improve code safety and readability.
Example: const int DAYS = 7;
DAYS cannot be changed later.
Full Transcript
This example shows how constants and literals work in C. A literal is a fixed value like 7. We assign this literal to a constant named DAYS_IN_WEEK using the const keyword. Once assigned, DAYS_IN_WEEK cannot be changed. In the main function, we use this constant to calculate totalDays as 7 times 4, which equals 28. The program returns 28 and ends. Constants help keep values safe from accidental changes and make code easier to understand.

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