Bird
Raised Fist0
Cprogramming~5 mins

Constants and literals

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 need to use fixed text or numbers directly in your program.
When you want to improve program performance by using fixed values.
Syntax
C
#define NAME value
const type NAME = value;

#define creates a constant by replacing text before compiling.

const creates a typed constant variable that cannot be changed.

Examples
This defines a constant named DAYS_IN_WEEK with the value 7 using #define.
C
#define DAYS_IN_WEEK 7
This defines a constant integer variable named daysInWeek with the value 7 using const.
C
const int daysInWeek = 7;
This defines a constant character named letter with the value 'A'.
C
const char letter = 'A';
This defines a constant floating-point number named pi with the value 3.14.
C
const float pi = 3.14f;
Sample Program

This program shows how to use #define and const to create constants. It prints the maximum and passing scores.

C
#include <stdio.h>

#define MAX_SCORE 100

int main() {
    const int passingScore = 60;
    printf("Maximum score is %d\n", MAX_SCORE);
    printf("Passing score is %d\n", passingScore);
    return 0;
}
OutputSuccess
Important Notes

Constants created with #define have no type and are replaced before the program runs.

Constants created with const have a type and are checked by the compiler.

Use const when you want type safety and #define for simple text replacement.

Summary

Constants hold fixed values that do not change during program execution.

#define and const are two ways to create constants in C.

Using constants makes your code easier to read and less error-prone.

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