Bird
Raised Fist0
Cprogramming~20 mins

Writing first C program - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
C Programming Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of this C program?
Look at the code below. What will it print when run?
C
#include <stdio.h>

int main() {
    printf("Hello, C World!\n");
    return 0;
}
ACompilation error
BHello, C World!
CHello, C World!\n
Dhello, c world!
Attempts:
2 left
💡 Hint
Remember that printf prints the string exactly, and \n means new line.
❓ Predict Output
intermediate
2:00remaining
What is the output of this C program with variables?
What will this program print when run?
C
#include <stdio.h>

int main() {
    int a = 5;
    int b = 3;
    printf("Sum is %d\n", a + b);
    return 0;
}
ASum is 8
BSum is 53
CCompilation error
DSum is %d
Attempts:
2 left
💡 Hint
The %d in printf is replaced by the integer value of a + b.
❓ Predict Output
advanced
2:00remaining
What error does this C program produce?
What error will this program cause when compiled?
C
#include <stdio.h>

int main() {
    printf("Missing semicolon")
    return 0;
}
ANo error, prints 'Missing semicolon'
BRuntime error
CSyntax error: expected ';' before 'return'
DLinker error
Attempts:
2 left
💡 Hint
Check if all statements end with a semicolon.
❓ Predict Output
advanced
2:00remaining
What is the output of this C program with a loop?
What will this program print when run?
C
#include <stdio.h>

int main() {
    for (int i = 1; i <= 3; i++) {
        printf("%d ", i);
    }
    return 0;
}
A1 2 3
B123
C1 2 3\n
DCompilation error
Attempts:
2 left
💡 Hint
The loop prints numbers 1 to 3 separated by spaces.
🧠 Conceptual
expert
2:00remaining
How many items are printed by this C program?
How many times does the printf statement run and print a number?
C
#include <stdio.h>

int main() {
    int count = 0;
    for (int i = 0; i < 5; i++) {
        if (i % 2 == 0) {
            printf("%d ", i);
            count++;
        }
    }
    printf("\nCount: %d", count);
    return 0;
}
A2
B5
C4
D3
Attempts:
2 left
💡 Hint
Count how many numbers from 0 to 4 are even.

Practice

(1/5)
1. What is the purpose of the int main() function in a C program?
easy
A. It prints messages to the screen.
B. It is the starting point where the program begins execution.
C. It declares variables for the program.
D. It ends the program immediately.

Solution

  1. Step 1: Understand the role of main()

    The main() function is where the program starts running in C.
  2. Step 2: Identify the correct purpose

    It is not for declaring variables or printing messages but for starting the program.
  3. Final Answer:

    It is the starting point where the program begins execution. -> Option B
  4. Quick Check:

    Program starts at main() [OK]
Hint: Remember: C programs always start at main() [OK]
Common Mistakes:
  • Thinking main() prints output
  • Confusing main() with variable declaration
  • Believing main() ends the program immediately
2. Which of the following is the correct syntax to print "Hello, World!" in C?
easy
A. printf("Hello, World!");
B. printf("Hello, World!")
C. print("Hello, World!");
D. echo("Hello, World!");

Solution

  1. Step 1: Identify the correct function for output

    In C, printf is used to print text to the screen.
  2. Step 2: Check syntax details

    Each statement must end with a semicolon ;. So printf("Hello, World!"); is correct.
  3. Final Answer:

    printf("Hello, World!"); -> Option A
  4. Quick Check:

    Use printf with semicolon [OK]
Hint: Always end printf with a semicolon [OK]
Common Mistakes:
  • Missing semicolon at the end
  • Using print instead of printf
  • Using echo which is not C syntax
3. What will be the output of the following C program?
#include 
int main() {
    printf("Welcome to C programming!\n");
    return 0;
}
medium
A. No output
B. Welcome to C programming!\n
C. Syntax Error
D. Welcome to C programming!

Solution

  1. Step 1: Understand the printf statement

    The string inside printf includes \n which means new line after printing.
  2. Step 2: Predict the output

    The program prints "Welcome to C programming!" followed by a new line.
  3. Final Answer:

    Welcome to C programming! -> Option D
  4. Quick Check:

    \n creates new line, output is plain text [OK]
Hint: \n means new line, not literal text [OK]
Common Mistakes:
  • Thinking \n prints as text
  • Expecting syntax error due to \n
  • Ignoring the return statement effect
4. Identify the error in the following C program:
#include 
int main() {
    printf("Hello World")
    return 0;
}
medium
A. Incorrect header file included
B. Missing return type for main
C. Missing semicolon after printf statement
D. Missing main function

Solution

  1. Step 1: Check each statement for syntax

    The printf statement is missing a semicolon at the end.
  2. Step 2: Verify other parts

    The main function has correct return type and header file is correct.
  3. Final Answer:

    Missing semicolon after printf statement -> Option C
  4. Quick Check:

    Every statement ends with ; [OK]
Hint: Look for missing semicolons after statements [OK]
Common Mistakes:
  • Ignoring missing semicolon errors
  • Thinking return type is missing
  • Assuming wrong header file causes error
5. You want to write a C program that prints two lines: "Hello!" and "Welcome to C." Which code snippet correctly does this?
hard
A. #include int main() { printf("Hello!\n"); printf("Welcome to C.\n"); return 0; }
B. #include int main() { printf("Hello!Welcome to C.\n"); return 0; }
C. #include int main() { printf("Hello!"); printf("Welcome to C.\n"); return 0; }
D. #include int main() { printf("Hello!"); printf("Welcome to C."); return 0; }

Solution

  1. Step 1: Understand how to print two lines

    Each line should end with a newline character \n to move to the next line.
  2. Step 2: Check each option for correct newlines

    #include int main() { printf("Hello!\n"); printf("Welcome to C.\n"); return 0; } prints "Hello!" with \n and "Welcome to C." with \n, so two lines appear.
  3. Final Answer:

    Two printf statements, each ending with \n -> Option A
  4. Quick Check:

    Use \n at end of each line for separate lines [OK]
Hint: Use \n after each line to print on new lines [OK]
Common Mistakes:
  • Missing \n causing lines to join
  • Putting \n only on first line
  • Not returning 0 at end of main
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