📖 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
Step 1: Understand the meaning of constant
A constant is a value that remains the same throughout the program and cannot be modified.
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.
Final Answer:
A fixed value that cannot be changed during program execution -> Option B
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
Step 1: Review ways to define constants in C
Constants can be defined using #define or using const keyword with variable declaration.
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.
Final Answer:
All of the above -> Option A
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
Step 1: Calculate area using given formula
Area = PI * radius * radius = 3.14 * 5 * 5 = 3.14 * 25 = 78.5
Step 2: Check printf formatting
Using %.2f prints the float with 2 decimal places, so output is 78.50
Final Answer:
78.50 -> Option C
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
Step 1: Understand const variable rules
A const variable must be initialized when declared and cannot be assigned a value later.
Step 2: Analyze the code
Here, const int x; declares x without initialization, then tries to assign 10 later, which is not allowed.
Final Answer:
Cannot assign value to const variable after declaration -> Option A
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
Step 1: Understand const array declaration
Declaring an array with const int arr[3] means the elements cannot be changed after initialization.
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.
Final Answer:
const int arr[3] = {1, 2, 3}; -> Option D
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 unknownstrongwhile earning +1 Grip toward your certificate.