Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по Си.doc
Скачиваний:
31
Добавлен:
04.06.2015
Размер:
2.75 Mб
Скачать

Включение файлов

Программа на языке Сиобычно состоит из нескольких функций, хранящихся в различных файлах на внешних носителях. Отдельная функция тоже может быть разбита на несколько кусков, каждый из которых может храниться в отдельном файле.

Директива включения файлов #includeпозволяет найти на внешнем носителе заданный файл и подключить его к головной программе или вызываемой функции. Так создается единый файл, в котором собрана вся программа.

Кроме того, директива включения файлов позволяет подключать к программе пользователя стандартные библиотеки Си, например, библиотеку функций ввода-вывода, хранящуюся в файлеstdio.h(standard input/output header file). Файлы с расширением имени.hназываютсязаголовочными файлами. Они содержат описание переменных, функций и типов, используемых программистами – аналог разделаINTERFACEв описании модулейПаскаля. Директивы включения таких файлов помещаются перед заголовками функций:

#include <stdio.h>

#include <conio.h>

#include <math.h>

Заключение имени файла в угловые скобки< >говорит о том, что этот файл находится в системном каталогеСи, содержащем библиотеки стандартных программ.

Если имя файла заключено в кавычки “”, то он отыскивается по указанному пути:

#include “d:\user\my_file_1.cpp”

и вставляется в программу вместо этой директивы. Так программа собирается из отдельных кусков:

#include <stdio.h>

#include <conio.h>

#include <math.h>

Int main()

{

#include “d:\user\my_file_1.cpp”

#include “d:\user\my_file_2.cpp”

#include “d:\user\my_file_3.cpp”

return 0;

}

Содержимое файла my_file_1.cpp:

Int age, rost;

float weight;

char name[10];

Содержимое файла my_file_2.cpp:

printf(“\nВаше имя: ”);

scanf(“%s”, name);

printf(“\nВаш возраст: ”);

scanf(“%d”, &age);

printf(“\nВаш рост: ”);

scanf(“%d”, &rost);

printf(“\nВаш вес: ”);

scanf(“%f”, &weight);

Содержимое файла my_file_3.cpp:

printf(“\nВы ввели:”);

printf(“\nИмя - %s”, name);

printf(“\nВозраст - %d”, age);

printf(“\nРост - %d”, rost);

printf(“\nВес - %4.1f”, weight);

printf(“\n”);

После выполнения этих директив программа приобретает законченный вид:

#include <stdio.h>

#include <conio.h>

#include <math.h>

Int main()

{

Int age, rost;

float weight;

char name[10];

printf(“\nВаше имя: ”);

scanf(“%s”, name);

printf(“\nВаш возраст: ”);

scanf(“%d”, &age);

printf(“\nВаш рост: ”);

scanf(“%d”, &rost);

printf(“\nВаш вес: ”);

scanf(“%f”, &weight);

printf(“\nВы ввели:”);

printf(“\nИмя - %s”, name);

printf(“\nВозраст - %d”, age);

printf(“\nРост - %d”, rost);

printf(“\nВес - %4.1f”, weight);

printf(“\n”);

return 0;

}

После подключения указанных заголовочных файлов (.h) программа компилируется, компонуется и запускается на выполнение.

С системой программирования Сипоставляются готовые включаемые файлы, содержащие стандартные библиотеки:

  • stdio.hввода-вывода со стандартными функциями ввода-выводаgetch, putch, gets,puts, scanf, printf,

  • math.h – математических функций.

Подстановка имен

Подстановка имен или замена идентификаторов осуществляется директивой:

#define ИМЯ константа (имя)

Например:

#define MAX 100

Выполняя эту директиву, препроцессор в программе вместо переменной с именем MAX

подставит число 100.

После слова define и имени необходимо оставить по пробелу. Так можно легко заменить в программе значения констант, поменяв их только в директиве#define.

Эту же директиву можно использовать и для замены одного имени на другое, более удобное или привычное:

#define AND &&

#define OR ||

Сейчас можно писать программу, используя в качестве логических операций более привычные слова ANDиOR. Препроцессор заменит эти известные каждому программисту слова на операции&& и ||, используемые вСи.

Директива #define может стоять в любом месте программы. Область ее действия – от места ее появления до конца программы или до директивы:

#undef ИМЯ

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]