- •Министерство образования Республики Беларусь
- •Часть 1.Методически указания по курсу “Вычислительная техника и программирование
- •Содержание
- •Лабораторная работа №1 Линейный вычислительный процесс Цель работы
- •Операторы вывода информации
- •1. Формат, указывающий компилятору вид выводимой информации, признаком формата является символ %.
- •2. Управляющие символы:
- •Стандартные математические функции
- •Варианты индивидуальных заданий
- •Варианты индивидуальных заданий
- •Циклы типа while и do – while
- •Вложенные циклы
- •Варианты индивидуальных заданий
- •Контрольные вопросы
- •Лабораторная работа №4 Массивы в языке с
- •Многомерные массивы
- •Контрольные вопросы
- •Лабораторная работа №5 Функции пользователя
- •Область действия переменных
- •Контрольные вопросы
- •Лабораторная работа №6 строки и структуры
- •Краткие теоретические сведения
- •Контрольные вопросы
- •Лабораторная работа №7 Файлы в языке с
- •Краткие теоретические сведения
- •Посимвольный ввод-вывод
- •Построчный ввод-вывод
- •Блоковый ввод-вывод
- •Контрольные вопросы
- •Лабораторная работа №8 Графический режим работы в языке с
- •Kраткие теоретические сведения
- •Функции для подготовки графической системы
- •Основные функции для получения изображения
- •Варианты индивидуальных заданий
- •Контрольные вопросы
- •Задание опций интегрированной среды
- •Набор текста программы
- •Компиляция, редактирование связей, запуск программы на выполнение
- •Многофайловая компиляция
- •Отладка программы
- •Использование глобальных переменных, объявленных вне файла
- •Литература
- •Учебное издание
Использование глобальных переменных, объявленных вне файла
Ниже приведена простая программа на языке С, состоящая из двух файлов (модулей) – first.c (главный файл) и second.c:
// начало первого файла first.c
#include <stdio.h> // подключение библиотеки stdio.h
extern int a,b; // объявление переменных, объявленных в другом файле
// (в файле second.c)
void main(void) // основная функция main
{
printf(“a=%d b=%d\n”,a,b); // вывод значений переменных a,b
}
Во втором файле second.c должно присутствовать объявление и инициализация переменных, например, в виде:
int a=2,b=5; // объявление переменных a,b
Две глобальные переменные a и b типа int описаны вне функции в файле second.c. Следовательно, их имена являются глобальными в файле, т.е. они видимы для загрузчика языка С. Поскольку в файле first.c присутствует описание extern для этих переменных типа int, то компилятор разрешает использовать их в функциях first.c, например в main(). Объявление extern int a,b можно поместить как внутри, так и вне функций (например, функции main()). При объявлении вне функции переменные a и b будут видимы во всем модуле first.c. Если оператор extern int a,b помещен внутри функции main(), то переменные будут видимы только внутри этой функции.
Если перед описанием int a=2,b=5 в файле second.c поместить обозначение класса памяти static, то указанные переменные скрываются от загрузчика. Такие переменные известны только в пределах файла, в котором они объявлены. Хотя программа в файле first.c будет успешно оттранслирована (компилятор учтет описание extern), загрузчик не сможет уточнить адреса для внешних ссылок и выдаст соответствующее сообщение об ошибке.
Литература
Березин Б.И., Березин С.Б. Начальный курс С и С++. М.: Диалог-МРТИ ,1999.288 с.
2.Керниган Б., Ритчи Д. Язык программирования С. М.: Финансы и статистика.,1992.271 с.
3.Касаткин А.И., Вольвачев А.Н. Профессиональное программирование на языке Си : Om Turbo –C k Borlano C++: Справ. пособие. –Мн.:Выш. шк.,1992. -240с.
4.Страуструп Б. Язык программирования С++. 2-е изд.:В 2т. Киев: Диа Софт,1993.
5.Фьюэр А. Задачи по языку СИ. М.: Финансы и статистика,1985.
6.Хэнкок Л.,Кригер М. Введение в программирование на языке СИ. М.: Радио и связь,1986.
7.Берри В.,Микинз Б. Язык СИ: введение для программистов. М.: Финансы и статистика,1988.
8.Уэйт М., Прама С., Мартин Д. Язык СИ. Руководство для начинающих. М.: Мир, 1988.
9.Больски М.Н. Язык программирования СИ. Справочник. М.: Радио и связь, 1988.
10.Юлин В.А., Булатова И.Р. Приглашение к СИ. Мн.: Выш. шк., 1990.
11. Уингер Р. Язык Турбо СИ. М.: Мир, 1991.
12.Романовская Л.М., Русс Т.В., Свитковский С.Г. Программирование в среде СИ для ПЭВМ ЕС. М.: Финансы и статистика,1992.
13.Бахирев А.В., Живицкая Е.Н., Комличенко В.Н., Соколов С.А. Методическое пособие для выполнения курсового проектирования по дисциплине «Основы информатики и вычислительной техники» для студентов специальности Э.01.03.00. Мн., 2000.
Св. план 2001, резерв
