Bird
Raised Fist0
Cprogramming~20 mins

Constants and literals - Mini Project: Build & Apply

Choose your learning style10 modes available
Constants and Literals in C
📖 Scenario: You are creating a simple program to display information about a book. You will use constants and literals to store fixed information like the book's title, author, and the number of pages.
🎯 Goal: Build a C program that uses constants and literals to store and display book details.
📋 What You'll Learn
Use #define to create a constant for the maximum title length.
Use string literals to store the book's title and author.
Use an integer literal to store the number of pages.
Print the book information using printf.
💡 Why This Matters
🌍 Real World
Constants and literals are used to store fixed information like configuration values, messages, or fixed data in programs.
💼 Career
Understanding constants and literals is essential for writing clear, maintainable, and bug-free code in any software development job.
Progress0 / 4 steps
1
Create string literals for book title and author
Create two string variables called title and author and assign them the exact values "The Great Gatsby" and "F. Scott Fitzgerald" respectively.
C
Hint

Use double quotes to create string literals in C.

2
Define a constant for maximum title length
Add a #define directive called MAX_TITLE_LENGTH and set it to 50.
C
Hint

Use #define at the top of your code to create constants.

3
Create an integer literal for number of pages
Create an integer variable called pages and assign it the value 180.
C
Hint

Use an integer literal without quotes for numbers.

4
Print the book information
Use printf to display the book information in this exact format: Title: The Great Gatsby, Author: F. Scott Fitzgerald, Pages: 180.
C
Hint

Use %s for strings and %d for integers in printf.

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