A constant is a value that cannot be changed during the execution of a program. It is fixed and used to represent data that should remain the same.
Click to reveal answer
beginner
What is a literal in C?
A literal is a fixed value written directly in the code, like numbers (e.g., 5), characters (e.g., 'a'), or strings (e.g., "hello").
Click to reveal answer
beginner
How do you declare a constant integer named MAX in C?
Use the keyword <code>const</code>: <br><code>const int MAX = 100;</code> This means MAX cannot be changed later.
Click to reveal answer
intermediate
What is the difference between a constant and a literal?
A literal is a fixed value written directly in the code. A constant is a named value that cannot change and is usually defined using const or #define.
Click to reveal answer
intermediate
What does the #define directive do in C?
It defines a constant value or macro before compilation. For example, #define PI 3.14 replaces all occurrences of PI with 3.14 in the code.
Click to reveal answer
Which keyword is used to declare a constant variable in C?
Alet
Bconst
Cstatic
Dvar
✗ Incorrect
The const keyword declares a variable whose value cannot be changed.
What is the type of the literal 'A' in C?
Aint
Bfloat
Cstring
Dchar
✗ Incorrect
Single quotes denote a character literal of type char.
What will happen if you try to change a const variable's value?
AThe compiler will give an error
BThe value will change at runtime
CThe program will compile and run normally
DThe program will crash
✗ Incorrect
Trying to modify a const variable causes a compile-time error.
Which of these is a valid integer literal in C?
A123
B"123"
C'123'
D12.3
✗ Incorrect
The number 123 without quotes is an integer literal.
What does this line do? #define SIZE 10
ACreates a function named SIZE
BDeclares a variable SIZE with value 10
CDefines a constant SIZE with value 10
DAllocates memory of size 10
✗ Incorrect
#define creates a constant or macro named SIZE with value 10.
Explain the difference between a constant and a literal in C.
Think about how you use names versus direct values in code.
You got /3 concepts.
How do you declare a constant integer and why would you use it?
Consider protecting important values from accidental changes.
You got /4 concepts.
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.