> 3. Which of the following aren not legal types in C? a. `short unsigned int` b. `short float` c. `long double` d. `unsigned long` Answer: b. `short float` > 4. If `c` is a variable of type `char`, which of the following statements is illegal? ```c char c; // A: i += c; // i has type int // B: c = 2 * c - 1; // C: putchar(c); // D: printf(c); ``` Answer: D is illegal because `printf` operates on strings, not `char`s. > 6. For each of the following items of data, specify which one of the types `char`, `short`, `int`, or `long`is the smallest one guaranteed to be large enough to store the item. Answer: A. Days in a month: `char` B. Days in a year: `short` C. Minutes in a day: `short` D. Seconds in a day: `long` > 10. Suppose that `i` is a variable of type `int`, `j` is a variable of type `float`, and `k` is a variable of type `unsigned int`. What is the type of the expression `i + (int) j * k`? Answer: `unsigned int` > 15. Use `typedef` to create types named `Int8`, `Int16`, and `Int32`. Define the types so that they represent 8 bit, 16 bit, and 32 bit integers on your machine. Answer: ```C typedef char Int8; typedef short Int16; typedef long Int32; ```