notes/education/software development/ECE1400/Chapter 7 Exercises.md

48 lines
1.2 KiB
Markdown
Raw Normal View History

2024-10-02 02:51:24 +00:00
> 3. Which of the following aren not legal types in C?
a. `short unsigned int`
b. `short float`
c. `long double`
2024-10-02 02:56:24 +00:00
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:
2024-10-02 03:01:24 +00:00
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`
2024-10-02 03:16:24 +00:00
> 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`
2024-10-02 03:26:24 +00:00
> 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;
```