📖 Scenario: You are learning how to write a simple C program. Understanding the basic structure helps you create programs that run correctly.
🎯 Goal: Build a simple C program that prints "Hello, World!" to the screen by following the correct structure of a C program.
📋 What You'll Learn
Create the main function with the correct signature
Include the standard input-output header
Write a statement to print "Hello, World!"
Return 0 from the main function
💡 Why This Matters
🌍 Real World
Every C program starts with this structure. It is the foundation for building all kinds of software, from simple tools to complex systems.
💼 Career
Understanding the structure of a C program is essential for software developers working with embedded systems, operating systems, or performance-critical applications.
Progress0 / 4 steps
1
Include the standard input-output header
Write the line #include <stdio.h> at the top of your program to include the standard input-output library.
C
Hint
This line allows you to use the printf function later.
2
Create the main function
Write the main function header int main() and open a block with {.
C
Hint
The main function is where the program starts running.
3
Add a print statement inside main
Inside the main function, write printf("Hello, World!\n"); to print the message.
C
Hint
The \n adds a new line after the message.
4
Close main function and return 0
Add return 0; and close the main function block with }.
C
Hint
Returning 0 means the program finished successfully.
Practice
(1/5)
1. Which part of a C program is mandatory to start the execution of the program?
easy
A. The return statement
B. The printf() statement
C. The #include directive
D. The main() function
Solution
Step 1: Understand program entry point
In C, the program always starts executing from the main() function.
Step 2: Identify mandatory part for execution
Without main(), the program has no defined starting point.
Final Answer:
The main() function -> Option D
Quick Check:
Program starts at main() [OK]
Hint: Look for the function where execution begins [OK]
Common Mistakes:
Thinking printf() starts the program
Confusing #include with execution start
Assuming return starts the program
2. Which of the following is the correct way to include the standard input-output header in a C program?
easy
A. #include "stdio.h"
B. #include
C. include
D. #include stdio.h
Solution
Step 1: Recognize correct syntax for header inclusion
The standard way to include system headers is using angle brackets: #include <header>.
Step 2: Check each option
#include uses correct syntax: #include <stdio.h>. #include "stdio.h" uses quotes which is for user headers. Options C and D miss the # or angle brackets.
Final Answer:
#include <stdio.h> -> Option B
Quick Check:
System headers use <> brackets [OK]
Hint: Use #include with angle brackets for standard headers [OK]
Common Mistakes:
Using quotes instead of angle brackets for standard headers
Omitting the # symbol
Missing angle brackets or quotes
3. What will be the output of the following C program?
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
medium
A. Hello World
B. hello, world!
C. Hello, World!
D. Syntax Error
Solution
Step 1: Analyze the printf statement
The program prints exactly the string inside quotes: "Hello, World!\n" which means it prints Hello, World! followed by a new line.
Step 2: Check for case and punctuation
The output matches Hello, World! exactly, including capitalization and punctuation.
Final Answer:
Hello, World! -> Option C
Quick Check:
Output matches printf string exactly [OK]
Hint: Match output exactly with printf string [OK]
Common Mistakes:
Ignoring case sensitivity
Missing punctuation or newline
Assuming syntax error without checking code
4. Identify the error in the following C program:
#include <stdio.h>
int main() {
printf("Welcome to C programming!");
}
medium
A. Missing return statement in main function
B. Missing semicolon after printf statement
C. Incorrect header file included
D. No error, program is correct
Solution
Step 1: Check syntax of printf statement
The printf line ends with a semicolon, so no syntax error there.
Step 2: Check main function return
The main function is declared to return int but lacks a return statement, which can cause a warning or error depending on compiler settings.
Final Answer:
Missing return statement in main function -> Option A
Quick Check:
main() must return int value [OK]
Hint: Always include return 0; in main() [OK]
Common Mistakes:
Assuming missing semicolon error
Ignoring missing return in main
Thinking header file is wrong
5. You want to write a C program that prints numbers from 1 to 5 using a loop inside the main() function. Which of the following code snippets correctly shows the structure of such a program?
hard
A. #include
int main() {
int i;
for(i = 1; i <= 5; i++) {
printf("%d\n", i);
}
return 0;
}
B. #include
void main() {
int i;
for(i = 1; i < 5; i++) {
printf("%d\n", i);
}
}
C. #include
int main() {
int i = 1;
while(i < 5) {
printf("%d\n", i);
i++;
}
return 0;
}
D. #include
int main() {
int i;
for(i = 1; i <= 5; i++)
printf("%d\n", i);
}
Solution
Step 1: Check loop range and printing
#include
int main() {
int i;
for(i = 1; i <= 5; i++) {
printf("%d\n", i);
}
return 0;
} uses a for loop from 1 to 5 inclusive, printing each number with newline, which matches the requirement.
Step 2: Verify program structure and correctness
#include
int main() {
int i;
for(i = 1; i <= 5; i++) {
printf("%d\n", i);
}
return 0;
} has correct int main(), includes return 0;, and proper syntax. Other options have issues: B uses void main() (not standard), loop range is incorrect; C loops only to 4; D misses braces which is allowed but less clear.
Final Answer:
Option A is the correct and complete program structure -> Option A
Quick Check:
Correct loop and main() structure [OK]
Hint: Use int main() with return 0 and correct loop range [OK]
Common Mistakes:
Using void main() instead of int main()
Incorrect loop range (less than 5)
Omitting return statement
Missing braces causing confusion
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.