Which of the following is a characteristic of middle-level programming languages, like C?
- They bridge the gap between high-level and low-level languages.
- They are primarily used for scripting and automation.
- They are only machine-dependent.
- They do not allow hardware-level operations.