Отметьте утверждения, справедливы для глобальных данных:память под глобальные данные выделяется на этапе компиляции, в этой памяти данные хранятся все время выполнения программыглобальные данные доступны в файле, где они описаны, от места описания до...
Давайте разберемся с каждым из утверждений по отдельности:
1. **Память под глобальные данные выделяется на этапе компиляции, в этой памяти данные хранятся все время выполнения программы.**
Это утверждение верно частично. На этапе компиляции определяется объем памяти, который потребуется для хранения глобальных данных, но фактическое выделение памяти происходит на этапе загрузки программы в память перед ее выполнением. Глобальные данные действительно остаются в памяти на протяжении всего времени выполнения программы.
2. **Глобальные данные доступны в файле, где они описаны, от места описания до конца файла, если не используется инструкция extern.**
Это утверждение верно. Глобальные переменные доступны во всем файле, в котором они определены, начиная с места их определения и до конца файла. Если используется инструкция extern, то переменная может быть доступна и в других файлах.
3. **Промежуточные переменные рекомендуется объявлять как глобальные.**
Это утверждение неверно. Промежуточные переменные лучше объявлять как локальные, чтобы ограничить их область видимости и избежать нежелательных изменений из других частей программы.
4. **Для расширения области действия глобальных переменных используется инструкция static.**
Это утверждение неверно. Инструкция static используется для ограничения области видимости переменной в пределах одного файла, а не для расширения.
5. **Глобальные данные описываются вне функций.**
Это утверждение верно. Глобальные переменные определяются вне всех функций, обычно в начале файла, чтобы они были доступны всем функциям в этом файле.
6. **Глобальные переменные могут быть использованы для передачи данных между функциями.**
Это утверждение верно. Глобальные переменные могут использоваться для передачи данных между функциями, так как они доступны во всех функциях, которые находятся в том же файле или имеют доступ к переменной через extern.
7. **Для расширения области действия глобальных переменных используется инструкция extern.**
Это утверждение верно. Инструкция extern используется для того, чтобы сделать глобальную переменную, определенную в одном файле, доступной в других файлах программы.
В итоге, справедливыми являются утверждения 1, 2, 5, 6 и 7.