Bird
Raised Fist0
Cprogramming~10 mins

Format specifiers - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to print an integer variable using printf.

C
#include <stdio.h>

int main() {
    int num = 10;
    printf("[1]\n", num);
    return 0;
}
Drag options to blanks, or click blank then click option'
A%d
B%c
C%f
D%s
Attempts:
3 left
💡 Hint
Common Mistakes
Using %f for integers causes incorrect output.
Using %c prints a single character, not an integer.
2fill in blank
medium

Complete the code to print a floating-point number with printf.

C
#include <stdio.h>

int main() {
    float pi = 3.14f;
    printf("[1]\n", pi);
    return 0;
}
Drag options to blanks, or click blank then click option'
A%d
B%s
C%c
D%f
Attempts:
3 left
💡 Hint
Common Mistakes
Using %d prints only the integer part, not the decimal.
Using %c or %s is incorrect for numbers.
3fill in blank
hard

Fix the error in the code to correctly print a character.

C
#include <stdio.h>

int main() {
    char letter = 'A';
    printf("[1]\n", letter);
    return 0;
}
Drag options to blanks, or click blank then click option'
A%d
B%f
C%c
D%s
Attempts:
3 left
💡 Hint
Common Mistakes
Using %d prints the ASCII code, not the character.
Using %s expects a string, not a single char.
4fill in blank
hard

Fill both blanks to print a string and an integer correctly.

C
#include <stdio.h>

int main() {
    char name[] = "Bob";
    int age = 25;
    printf("Name: [1], Age: [2]\n", name, age);
    return 0;
}
Drag options to blanks, or click blank then click option'
A%s
B%d
C%f
D%c
Attempts:
3 left
💡 Hint
Common Mistakes
Swapping the format specifiers causes wrong output.
Using %f for integers or strings causes errors.
5fill in blank
hard

Fill all three blanks to print a float with two decimals, a character, and a string.

C
#include <stdio.h>

int main() {
    float price = 9.99f;
    char grade = 'A';
    char product[] = "Book";
    printf("Price: [1], Grade: [2], Product: [3]\n", price, grade, product);
    return 0;
}
Drag options to blanks, or click blank then click option'
A%.2f
B%c
C%s
D%d
Attempts:
3 left
💡 Hint
Common Mistakes
Using %f without precision prints many decimals.
Mixing up %c and %s causes wrong output.

Practice

(1/5)
1. Which format specifier is used to print an integer value in C using printf?
easy
A. %d
B. %f
C. %c
D. %s

Solution

  1. Step 1: Understand integer data type printing

    The %d specifier is used to print integer values in C.
  2. Step 2: Identify other specifiers

    %f is for floats, %c for characters, and %s for strings.
  3. Final Answer:

    %d -> Option A
  4. Quick Check:

    Integer print = %d [OK]
Hint: Use %d for integers in printf [OK]
Common Mistakes:
  • Using %f for integers
  • Confusing %c with %d
  • Using %s for numbers
2. Which of the following is the correct way to print a character variable ch in C?
easy
A. printf("%c", ch);
B. printf("%s", ch);
C. printf("%d", ch);
D. printf("%f", ch);

Solution

  1. Step 1: Identify character format specifier

    The correct specifier for a character is %c.
  2. Step 2: Check other options

    %s is for strings, %d for integers, and %f for floats, so they are incorrect for a character.
  3. Final Answer:

    printf("%c", ch); -> Option A
  4. Quick Check:

    Character print = %c [OK]
Hint: Use %c to print single characters [OK]
Common Mistakes:
  • Using %s for characters
  • Using %d which prints ASCII code
  • Using %f for characters
3. What will be the output of the following code?
int x = 10;
float y = 5.5;
printf("%d %f", x, y);
medium
A. 10 5.5
B. 10 5.500000
C. 5.5 10
D. Error

Solution

  1. Step 1: Understand format specifiers in printf

    %d prints integer as is, %f prints float with 6 decimal places by default.
  2. Step 2: Match variables to specifiers

    x is 10 (int), printed by %d. y is 5.5 (float), printed by %f as 5.500000.
  3. Final Answer:

    10 5.500000 -> Option B
  4. Quick Check:

    Integer and float print with %d and %f [OK]
Hint: Floats print with 6 decimals by default using %f [OK]
Common Mistakes:
  • Expecting %f to print fewer decimals
  • Swapping variable order
  • Using %d for float causing wrong output
4. Identify the error in the following code snippet:
char name[10];
scanf("%c", name);
medium
A. No error, code is correct
B. Use &name instead of name
C. Use %d instead of %c
D. Use %s instead of %c to read string

Solution

  1. Step 1: Understand scanf format specifiers

    %c reads a single character, but name is an array for a string.
  2. Step 2: Correct specifier for string input

    To read a string into name, use %s which reads until whitespace.
  3. Final Answer:

    Use %s instead of %c to read string -> Option D
  4. Quick Check:

    String input needs %s in scanf [OK]
Hint: Use %s to read strings with scanf [OK]
Common Mistakes:
  • Using %c to read strings
  • Forgetting & with non-array variables
  • Using %d for characters
5. You want to print a floating-point number float pi = 3.14159; with only 2 decimal places. Which printf statement is correct?
hard
A. printf("%2f", pi);
B. printf("%f.2", pi);
C. printf("%.2f", pi);
D. printf("%f", pi);

Solution

  1. Step 1: Understand precision in format specifiers

    To limit decimal places, use %.2f where 2 is the number of decimals.
  2. Step 2: Check other options

    %2f sets minimum width, not decimals; %f.2 is invalid; %f prints 6 decimals by default.
  3. Final Answer:

    printf("%.2f", pi); -> Option C
  4. Quick Check:

    Use %.2f to print 2 decimals [OK]
Hint: Use %.2f to print float with 2 decimals [OK]
Common Mistakes:
  • Using %2f expecting 2 decimals
  • Placing .2 after %f incorrectly
  • Using %f prints 6 decimals by default
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