Free C MCQ Questions
- Home
- Free C MCQ Questions
Free C MCQ Questions
Free C MCQ Questions 2025 (With Answers & Explanations)
Practice the most important C programming multiple choice questions for campus placements, IT job tests, coding interviews and online assessments. All questions on this page are designed by Intense Practice Academy to match the latest exam and interview patterns.
How to Use This Page:
β Read each question carefully.
β Try to answer on your own before opening the solution.
β Click on βView Answer & Explanationβ to check the correct option and concept.
Topics Covered in This Free C MCQ Quiz
- β C basics & syntax
- β Data types & operators
- β if-else, loops (for, while, do-while)
- β Arrays (1D & 2D)
- β Functions & parameter passing
- β Pointers & pointer arithmetic
- β Strings & standard library functions
- β Structures & unions
- β Output-based questions
Free C MCQ Questions β Practice Set
Q1. Which of the following is the correct way to declare the main function in C?
- A)
void main() - B)
int main() - C)
main() - D)
function main()
View Answer & Explanation
Answer: B) int main()
According to the C standard, the recommended signature for the main function is
int main(void) or int main(int argc, char *argv[]).
Many compilers accept void main() but it is not standard-compliant.
Q2. What will be the size (in bytes) of int on most 32-bit systems?
- A) 1 byte
- B) 2 bytes
- C) 4 bytes
- D) 8 bytes
View Answer & Explanation
Answer: C) 4 bytes
On most modern 32-bit and 64-bit systems, int typically occupies 4 bytes.
However, the standard does not fix the size; it only defines minimum ranges.
Q3. What is the output of the following C code?
#include <stdio.h>
int main() {
int a = 5, b = 2;
float c = a / b;
printf("%.1f", c);
return 0;
}
- A)
2.5 - B)
2.0 - C)
2 - D) Compiler error
View Answer & Explanation
Answer: B) 2.0
Both a and b are integers. So a / b performs
integer division, giving 2. This value is then converted to float as
2.0 for printing.
Q4. Which of the following is the correct format specifier to print a float value in C?
- A)
%d - B)
%f - C)
%c - D)
%lf
View Answer & Explanation
Answer: B) %f
%f is used for printing float and double values.
%lf is used with scanf for double input. %d is for int,
%c is for char.
Q5. What will be the value of a after executing this code?
int a = 10;
a += 5;
- A) 5
- B) 10
- C) 15
- D) 20
View Answer & Explanation
Answer: C) 15
The statement a += 5; is equivalent to a = a + 5;.
So a becomes 15.
Q6. Which operator has the highest precedence in C?
- A)
+ - B)
* - C)
++ - D)
&&
View Answer & Explanation
Answer: C) ++
Unary operators like ++, --, !, etc., have higher
precedence than multiplicative (*, /) and additive (+, -)
operators, and logical &&.
Q7. Which loop is guaranteed to execute at least once?
- A)
for - B)
while - C)
do-while - D)
for-each
View Answer & Explanation
Answer: C) do-while
In a do-while loop, the body executes first and the condition is checked later.
So the loop executes at least once, even if the condition is false initially.
Q8. What is the output of the following C code?
#include <stdio.h>
int main() {
int i;
for (i = 0; i < 3; i++) {
printf("%d ", i);
}
return 0;
}
- A)
0 1 2 - B)
1 2 3 - C)
0 1 2 3 - D)
1 2
View Answer & Explanation
Answer: A) 0 1 2
The loop runs for i = 0, 1, 2. When i becomes 3, the condition
i < 3 fails and the loop stops.
Q9. Which of the following correctly declares a 1D array of 5 integers?
- A)
int arr; - B)
int arr[5]; - C)
int arr(5); - D)
array int arr[5];
View Answer & Explanation
Answer: B) int arr[5];
The syntax for declaring an array of 5 integers in C is
int arr[5];. Option A is just a single int, and C, D are invalid.
Q10. What is the base index of an array in C?
- A) 0
- B) 1
- C) 2
- D) -1
View Answer & Explanation
Answer: A) 0
C arrays are zero-indexed. The first element is at index 0, the second at index 1, and so on.
π― Want More C MCQs for Exams & Interviews?
Upgrade from this free set to our C MCQ Pack 2025 on Intense Practice Academy:
- β’ 500+ carefully selected C questions
- β’ Output-based & tricky pointer questions
- β’ Detailed explanations for each MCQ
- β’ Perfect for campus placements & online tests
Pack Prices:
- πΉ Java MCQ Pack 2025 β βΉ369
- πΉ C MCQ Pack 2025 β βΉ299
- πΉ Python MCQ Pack 2025 β βΉ299
π Login to get all MCQ packs & mock tests:
mocktest.intensepracticeacademy.com
Q11. What will be the output of this code?
#include <stdio.h>
int main() {
int a = 10;
int *p = &a;
printf("%d", *p);
return 0;
}
- A) Address of
a - B)
10 - C) Garbage value
- D) Compiler error
View Answer & Explanation
Answer: B) 10
p stores the address of a, and *p gives the value
stored at that address, which is 10.
Q12. Which of the following is the correct way to declare a structure in C?
- A)
struct student { char name[20]; int age; }; - B)
structure student { char name[20]; int age; }; - C)
struct { char name[20]; int age; }; - D)
struct student ( char name[20]; int age; );
View Answer & Explanation
Answer: A) struct student { ... };
The correct structure declaration with a tag is
struct student { ... };. Option C is an unnamed structure, while B and D are invalid.
Q13. What does the following code print?
#include <stdio.h>
int main() {
char str[] = "C language";
printf("%c", str[2]);
return 0;
}
- A)
C - B)
(space) - C)
l - D)
a
View Answer & Explanation
Answer: B) space
The string "C language" has:
index 0 = 'C', index 1 = ' ', index 2 = 'l'.
Wait carefully: str[2] is actually 'l'.
So correct answer is C) l.
(This is a good question to test indexing.)
Q14. Which standard library function is used to find the length of a string in C?
- A)
strlen() - B)
strlength() - C)
length() - D)
size()
View Answer & Explanation
Answer: A) strlen()
strlen() (from <string.h>) returns the length of a string
excluding the null terminator '\0'.
Q15. What will be the output of this code?
#include <stdio.h>
int main() {
int x = 5;
printf("%d %d", x, x++);
return 0;
}
- A)
5 5 - B)
5 6 - C)
6 5 - D) Undefined / depends on compiler
View Answer & Explanation
Answer: D) Undefined / depends on compiler
Using x and x++ in the same printf without a
sequence point leads to undefined behavior in C.
The output may vary across compilers and should be avoided in good code.
What to Do Next?
β
Revise these 15 C MCQs multiple times.
β
Note down tricky questions and repeat them before interviews or tests.
β
Share this free page with friends preparing for placements and exams.
Continue Your Practice:
π Ready for Full-Length Practice?
Get access to all MCQ packs (Java, C, Python) and full mock tests by logging in to our test portal:
π mocktest.intensepracticeacademy.com
Pack Prices:
- π» Java MCQ Pack 2025 β βΉ369
- π» C MCQ Pack 2025 β βΉ299
- π» Python MCQ Pack 2025 β βΉ299
FAQs β Free C MCQ Questions
1. Who can use this free C MCQ page?
This page is useful for B.E/B.Tech, B.Sc, BCA, MCA students, diploma students and freshers preparing for campus placements, IT job tests and coding interviews. Anyone who wants to revise C programming concepts quickly can start with these questions.
2. Are these C questions enough for clearing campus placements?
These free MCQs give you a strong starting base. They cover important topics and patterns. For deeper coverage, more output-based questions and mixed-level difficulty, you can use our C MCQ Pack 2025 available on our test portal.
3. How should I practice these C MCQs effectively?
First try to answer without seeing the solution. Then open βView Answer & Explanationβ and check:
- β Why the correct option is right
- β Why the other options are wrong
- β Which concept or rule is involved
Note down the questions you got wrong and revise those topics again.
4. Are there more free MCQ pages for Java and Python?
Yes. Intense Practice Academy provides free practice pages for:
You can use all three together for full placement preparation.
5. How can I get full C, Java and Python MCQ packs?
You can unlock all our MCQ packs and mock tests by logging in to our portal:
π mocktest.intensepracticeacademy.com
Current pack prices:
- π» Java MCQ Pack 2025 β βΉ369
- π» C MCQ Pack 2025 β βΉ299
- π» Python MCQ Pack 2025 β βΉ299
After login, you can see all available tests, track your scores and reattempt the questions anytime.



