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

 

Директива #include включает в текст программы содержимое указанного файла. Эта директива имеет две формы:

 

#include "имя файла"

#include <имя файла>

 

Имя файла должно соответствовать соглашениям операционной системы и может состоять либо только из имени файла, либо из полного имени файла с описанием пути. (Если имя файла указано в кавычках, то поиск файла осуществляется в соответствии с указанием пути к файлу, а при его отсутствии в текущем каталоге). Если имя файла задано в угловых скобках, то поиск файла производится в стандартных директориях операционной системы, задаваемых командой PATH.

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

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

Командная строка для включения файлов выглядит следующим образом: #include"filename" и указывает препроцессору, что содержимое файла с именем filenameнадо вставить в том месте программы, где использована командная строка.

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

После отладки каждая из них оформляется в виде отдельного файла и при необходимости включается в отлаживаемую программу командой #include.Часто в таких файлах содержатся макроопределения и после включения их в исходный модуль утверждением #includeони становятся доступными для всех функций. Например, полезные макроопределения, используемые в программе можно "замаскировать", поместив их в файл "makro.h", а в начале исходного файла с текстом программы поместить командную строку #include "makro.h".

 

Команда включения может иметь другую форму: #include <filename>.В частности, почти все наши примеры включали командную строку

#include <iostream.h>,благодаря которой программы пользователя могут обращаться к функциям, обеспечивающим стандартный ввод-вывод (cout,cin и др.)

 


Пример:

#include <iostream.h>

#define pr cout<<int;

#define SKIP cout<<" ";

#define PRINT1(X1) pr(X1);SKIP

#define PRINT2(X1,X2) pr(X1);PRINT1(X2);SKIP

#define PRINT3(X1,X2,X3) pr(X1);PRINT2(X2,X3);SKIP

 

main()

{

int a,b,c;

a=5;b=7;c=a+b;

PRINT1(a);PRINT2(a,b);PRINT3(a,b,c);

}

 

Результатом работы приведенной программы станет следующий вывод на экран: