Bird
Raised Fist0
Cprogramming~10 mins

Type modifiers in C - Interactive Code Practice

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

Complete the code to declare a variable that can hold a large integer value.

C
unsigned [1] bigNumber = 4294967295;
Drag options to blanks, or click blank then click option'
Aint
Blong
Cchar
Dfloat
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'char' which is too small for large numbers.
Using 'float' which is for decimal numbers, not integers.
2fill in blank
medium

Complete the code to declare a signed short integer variable.

C
[1] short temperature = -20;
Drag options to blanks, or click blank then click option'
Aunsigned
Bfloat
Csigned
Dlong
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'unsigned' which cannot hold negative values.
Using 'float' which is for decimal numbers.
3fill in blank
hard

Fix the error in the code to declare a constant unsigned integer.

C
const [1] int maxScore = 100;
Drag options to blanks, or click blank then click option'
Asigned
Blong
Cfloat
Dunsigned
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'signed' which allows negative numbers.
Using 'float' which is for decimal numbers.
4fill in blank
hard

Fill both blanks to declare a long signed integer variable.

C
[1] [2] int distance = -1000;
Drag options to blanks, or click blank then click option'
Along
Bunsigned
Csigned
Dfloat
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'unsigned' which cannot hold negative values.
Using 'float' which is for decimal numbers.
5fill in blank
hard

Fill all three blanks to declare a constant unsigned long integer variable.

C
const [1] [2] [3] number = 50000;
Drag options to blanks, or click blank then click option'
Aunsigned
Blong
Cint
Dsigned
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'signed' which allows negative values.
Omitting 'const' which allows value changes.

Practice

(1/5)
1. Which of the following type modifiers in C is used to store only non-negative values?
easy
A. short
B. signed
C. long
D. unsigned

Solution

  1. Step 1: Understand the meaning of 'unsigned'

    The 'unsigned' modifier means the variable can only hold zero or positive values, no negatives.
  2. Step 2: Compare with other modifiers

    'signed' allows negative and positive values, 'short' and 'long' change size but not sign.
  3. Final Answer:

    unsigned -> Option D
  4. Quick Check:

    unsigned = non-negative only [OK]
Hint: Unsigned means no negative numbers allowed [OK]
Common Mistakes:
  • Confusing 'signed' with 'unsigned'
  • Thinking 'short' affects sign
  • Assuming 'long' means unsigned
2. Which of the following is the correct way to declare a variable as a long unsigned integer in C?
easy
A. unsigned long int var;
B. int long unsigned var;
C. int unsigned long var;
D. unsigned int long var;

Solution

  1. Step 1: Recall correct order of type modifiers

    The standard order is 'unsigned long int' to declare a long unsigned integer.
  2. Step 2: Check syntax correctness

    unsigned long int var; follows the correct order and syntax; others mix order incorrectly.
  3. Final Answer:

    unsigned long int var; -> Option A
  4. Quick Check:

    unsigned long int = correct order [OK]
Hint: Use 'unsigned long int' order for clarity [OK]
Common Mistakes:
  • Mixing order of 'unsigned' and 'long'
  • Placing 'int' before 'unsigned'
  • Using invalid modifier order
3. What will be the output of the following C code?
unsigned short x = 65535;
unsigned short y = 1;
unsigned short z = x + y;
printf("%u", z);
medium
A. 0
B. 65536
C. 1
D. 65535

Solution

  1. Step 1: Understand the range of unsigned short

    Unsigned short typically stores values from 0 to 65535 (16-bit).
  2. Step 2: Calculate the sum and check overflow

    65535 + 1 = 65536, which exceeds max value, so it wraps around to 0.
  3. Final Answer:

    0 -> Option A
  4. Quick Check:

    Unsigned short overflow wraps to 0 [OK]
Hint: Unsigned short max is 65535; adding 1 wraps to 0 [OK]
Common Mistakes:
  • Expecting 65536 as output (overflow ignored)
  • Confusing signed and unsigned overflow
  • Using wrong printf format specifier
4. Identify the error in this C declaration:
unsigned signed int num;
medium
A. Missing variable name
B. Should use 'long' instead of 'signed'
C. Cannot combine 'unsigned' and 'signed' modifiers
D. No error, valid declaration

Solution

  1. Step 1: Understand modifier compatibility

    'unsigned' and 'signed' are opposite modifiers and cannot be combined together.
  2. Step 2: Check declaration validity

    Combining both causes a syntax error; variable name is present, so no missing name error.
  3. Final Answer:

    Cannot combine 'unsigned' and 'signed' modifiers -> Option C
  4. Quick Check:

    unsigned + signed = invalid [OK]
Hint: Don't mix 'unsigned' and 'signed' together [OK]
Common Mistakes:
  • Thinking both can be combined
  • Ignoring opposite meanings
  • Assuming 'signed' is default and can be added
5. You want to store a large positive number that fits in 64 bits but never needs to be negative. Which type modifier combination is best in C?
hard
A. short unsigned int
B. unsigned long long int
C. long int
D. signed long long int

Solution

  1. Step 1: Identify size and sign requirements

    64 bits means 'long long' type; only positive means 'unsigned'.
  2. Step 2: Match modifiers to requirements

    'unsigned long long int' fits large positive numbers without negatives.
  3. Final Answer:

    unsigned long long int -> Option B
  4. Quick Check:

    64-bit positive number = unsigned long long int [OK]
Hint: Use 'unsigned long long int' for large positive 64-bit numbers [OK]
Common Mistakes:
  • Choosing signed type when negatives not needed
  • Using 'short' which is too small
  • Ignoring 'unsigned' for positive-only data
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