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