Учебное пособие: Язык прораммирования С++
}
float area(int x, int y){
float s;
s= x*y;
return s;
}
В первой строке программы записан заголовок floatarea(intx, inty);. Точка с запятой в конце заголовка говорит о том, что ниже не будет тела функции. Это только предописание, или прототип функции, позволяющий проверить правильность ее вызова. Сама функция описана после главной программы.
Прототипы написанных в программе нестандартных функций тоже можно поместить в заголовочный файл, например, myproto.h. Он обычно имеет расширение h и называется (от слова header) заголовочным файлом. В исходный текст программы помещают строку #include “myproto.h”.
Напомним, что перед компиляцией программы ее исходный текст подвергается предварительной обработке – прекомпиляции. Прекомпилятор (он же препроцессор) просматривает текст файла, находит строчки, которые начинаются со слова #include (чтобы их легче находить, в строке перед этим словом нельзя писать ничего, кроме пробелов) и заменяет строчку текстом из указанного в ней заголовочного файла. Файл stdio.h препроцессор должен искать в подкаталоге include среды разработки, а файл myproto.h обычно находится в текущем каталоге – там же, где исходный текст программы. Чтобы указать, где следует искать заголовочный файл, имя stdio.h пишется в угловых скобках, а имя myproto.h в кавычках.
Кроме вставки в текст содержимого включаемых файлов, препроцессор совершает и другие действия. Пусть в тексте программы несколько раз встречается число 32.5, но мы хотим писать его символическое обозначение, например, ABC. Для этого достаточно вставить в текст строку
# define ABC 32.5
Препроцессор просмотрит весь следующий за ней текст и везде, где встретится имя ABC заменит его на 32.5.
Рассмотрим в качестве примера следующую задачу:
Ввести с клавиатуры радиус круга и вывести на экран его площадь. Вычисление площади оформить в виде функции .
Для решения задачи создадим заголовочный файл round.h следующего содержания:
#define Pi 3.141592653
float Round(int);
Тогда текст программы будет иметь следующий вид:
#include <stdio.h>
#include “round.h”
int r;
float S;
void main(void)
{
printf(" Введите радиус ");
scanf("%d",&r);
S=Round(r);
printf(" Радиус %d \n площадь %g \n", r, S);
}