A format specifier is a special sequence in a string that tells the program how to display or read data, like %d for integers or %f for floating-point numbers.
Click to reveal answer
beginner
What does the format specifier %d represent?
The %d specifier is used to print or read an integer (whole number) value.
Click to reveal answer
intermediate
How do you print a floating-point number with 2 decimal places in C?
Use %.2f in the format string. For example, printf("%.2f", 3.14159) prints 3.14.
Click to reveal answer
beginner
What format specifier is used to print a single character?
The %c specifier is used to print a single character.
Click to reveal answer
beginner
How do you print a string in C using format specifiers?
Use %s to print a string. For example, printf("%s", "hello") prints hello.
Click to reveal answer
Which format specifier is used to print an integer in C?
A%d
B%f
C%c
D%s
✗ Incorrect
%d is used for integers, %f for floats, %c for characters, and %s for strings.
How would you print the floating-point number 3.14159 with 3 decimal places?
A%d
B%3f
C%f.3
D%.3f
✗ Incorrect
Use %.3f to specify 3 decimal places for a float.
What does the format specifier %c print?
AA character
BA string
CAn integer
DA floating-point number
✗ Incorrect
%c prints a single character.
Which format specifier is used to print a string?
A%d
B%c
C%s
D%f
✗ Incorrect
%s is used to print strings.
What will printf("%5d", 42); print?
AAn error
B42 with 5 spaces before it
C42 with no spaces
D42 with 5 spaces after it
✗ Incorrect
The %5d specifier prints the integer right-aligned in a field 5 characters wide, adding spaces before the number.
Explain what format specifiers are and give three examples with their uses.
Think about how you tell the program to print different types of data.
You got /4 concepts.
Describe how to control the number of decimal places when printing a floating-point number in C.
Focus on the dot and number inside the format specifier.
You got /3 concepts.
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
Step 1: Understand integer data type printing
The %d specifier is used to print integer values in C.
Step 2: Identify other specifiers
%f is for floats, %c for characters, and %s for strings.
Final Answer:
%d -> Option A
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
Step 1: Identify character format specifier
The correct specifier for a character is %c.
Step 2: Check other options
%s is for strings, %d for integers, and %f for floats, so they are incorrect for a character.
Final Answer:
printf("%c", ch); -> Option A
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
Step 1: Understand format specifiers in printf
%d prints integer as is, %f prints float with 6 decimal places by default.
Step 2: Match variables to specifiers
x is 10 (int), printed by %d. y is 5.5 (float), printed by %f as 5.500000.
Final Answer:
10 5.500000 -> Option B
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
Step 1: Understand scanf format specifiers
%c reads a single character, but name is an array for a string.
Step 2: Correct specifier for string input
To read a string into name, use %s which reads until whitespace.
Final Answer:
Use %s instead of %c to read string -> Option D
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
Step 1: Understand precision in format specifiers
To limit decimal places, use %.2f where 2 is the number of decimals.
Step 2: Check other options
%2f sets minimum width, not decimals; %f.2 is invalid; %f prints 6 decimals by default.
Final Answer:
printf("%.2f", pi); -> Option C
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 unknownstrongwhile earning +1 Grip toward your certificate.