Роль препроцессора.
Перед компиляцией программа на языке Си обрабатывается специальной программой – препроцессором, который работает под управлением директив.
Препроцессорные директивы начинаются с символа #, за которым следует наименование директивы, указывающее текущую операцию препроцессора.
Препроцессор решает ряд задач по предварительной обработке программы, основной из которых является «подключение» к программе так называемых заголовочных файлов (обычных текстов) с декларацией стандартных библиотечных функций, которые используются в программе. Наименование такой директивы: include (подключить), а общий формат ее использования:
#include <имя_файла.h>
где «h» – расширение заголовочных файлов.
Если имя файла заключено в угловые скобки (< >), то поиск данного файла производится в стандартной директории (папке) с этими файлами, если же имя файла заключено в двойные кавычки (” ”), то поиск данного файла производится в текущей директории.
К наиболее часто используемым библиотекам относятся:
stdio.h - содержит стандартные функции файлового ввода-вывода;
conio.h - функции для работы с консолью (клавиатура, экран монитора);
iostream.h - функции потокового ввода-вывода (см. ниже);
math.h - математические функции.
Второе основное назначение препроцессора – это обработка макроопределений. Макроподстановка define (определить) имеет общий вид:
#define < ID > <строка>
Например: #define PI 3.1415927
В ходе препроцессорной обработки программы появление в тексте идентификатора PI везде заменяется значением 3.1415927.
Другие возможности препроцессора будут рассмотрены позже.
Ошибки
Ошибки, допускаемые при написании программ, разделяют на синтаксические и логические.
Синтаксические ошибки - нарушение формальных правил написания программы на конкретном языке, обнаруживаются на этапе трансляции и могут быть легко исправлены.
Программа, содержащая синтаксическую ошибку, не может быть запущена. При попытке ее компиляции выдается сообщение, обычно содержащее указание того места в тексте, "дочитав" до которого, компилятор заметил ошибку; сама ошибка может быть как в этом месте, так и выше него (часто - в предыдущей строке).
Логические ошибки делят на ошибки алгоритма и семантические ошибки - могут быть найдены и исправлены только разработчиком программы.
Причина ошибки алгоритма - несоответствие построенного алгоритма ходу получения конечного результата сформулированной задачи.
Причина семантической ошибки - неправильное понимание смысла (семантики) операторов языка.
Программа, содержащая логическую ошибку, может быть запущена. Однако она либо выдает неверный результат, либо даже завершается "аварийно" из-за попытки выполнить недопустимую операцию (например, деление на 0) - в таком случае выдается сообщение об ошибке времени выполнения. Поиск места в программе, содержащего логическую ошибку, является непростой задачей; он носит название отладки программы.
Дата добавления: 2015-09-18; просмотров: 808;