- •2. Оператор цикла while.
- •Билет 2.
- •Билет 3
- •2. Оператор цикла for
- •Билет 4
- •Билет 5
- •1. Константы
- •1.1 Целые Константы
- •1.3 Символьные Константы
- •1.4 Строки
- •2. Оператор if
- •Билет 6
- •Билет 7
- •1.1 Описания Функций
- •1.2 Определения Функций
- •1.3 Описания
- •2.1.1 Область Видимости
- •2.1.2 Объекты и Адреса (Lvalue)
- •2.1.3 Время Жизни
- •2. Логические операции.
- •Билет 8
- •1. Указатели. Использование указателей при работе с массивами
- •2. Оператор Goto
- •Билет 9
- •2. Указатели и операции над ними.
- •Билет 10
- •Билет 11
- •1. Оператор if
- •2. Строки
- •Билет 12
- •1. Увеличение и уменьшение
- •Билет 13
- •1. Побитовые логические операции
- •2. Функция scanf
- •Билет 14
- •Основные сведения о функциях
- •2. Функции operator new() и operator delete()
- •Билет 15
- •1. Объединения
- •2. Форматный вывод - функция printf
- •Билет 16
- •1. Оператор Выражение
- •2. Области видимости объектов
- •Билет 17
- •1.1 Оператор Return
- •1.2 Оператор Break
- •1.3 Оператор Continue
- •2. Ввод-вывод текстового файла: getc( ), putc( )
- •Билет 18
- •Билет 19
- •1. Аргументы функции main()
- •2. Операции Отношения
- •Билет 20
- •1. Стандартный ввод и вывод - функции getchar и putchar
- •2.1 Оператор typedef
- •Билет 21
- •1. Глобальные переменные
- •2. Открытие файла: fopen( )
- •Закрытие файла: fclose( )
- •Билет 22
- •2. Директивы Препроцессора
- •2.1. Директива #include
- •2.2. Директива #define
- •2.3. Директива #undef
- •Билет 23
- •1. Преобразование типов.
- •2. Операция Запятая
- •Билет 24
- •1. Определение
- •2. Арифметические Преобразования
- •Билет 25
- •Билет 26
- •1. Передача Параметров
- •Билет 27
- •1. Преобразования символов
- •2. Массив и константный указатель
- •Билет 28
- •2. Операции Отношения
- •Билет 29
- •1. Оператор return. Точка вызова и точка возврата
- •Билет 30
- •2. Рекурсивная функция
- •Билет 31
- •2. Функция. Прототип
- •Билет 32
- •2. Генерация случайных чисел
- •Билет 33
- •2. Шаблоны функций и шаблонные функции
Билет 9
1. Заголовочные файлы.
В системах программирования подпрограммы для решения часто встречающихся задач объединяются в библиотеки. К числу таких задач относятся: вычисление математических функций, ввод/вывод данных, обработка строк, взаимодействие со средствами операционной системы и др. Использование библиотечных подпрограмм избавляет пользователя от необходимости разработки соответствующих средств и предоставляет ему дополнительный сервис. Включенные в библиотеки функции на языке Си поставляются вместе с системой программирования. Их объявления даны в файлах *.h (это так называемые включаемые или заголовочные файлы). Поэтому, как уже упоминалось выше, в начале программы с библиотечными функциями должны быть строки вида:
#include <включаемый_файл_типа_h>
Например:
#include <condio.h>
Теперь обратим теперь Ваше внимание на то, что в самых первых своих программах любой пользователь или программист сразу же сталкивается с необходимостью использования средств ввода-вывода. С этой целью он должен помещать в начале текста программы препроцессорную директиву #include <stdio.h>.
Эта строка сообщает транслятору Borland C, что необходимо подключить файл stdio.h, в котором находится информация о стандартных функциях ввода-вывода библиотеки стандартных функций языка C/C++: printf, scanf, getch, и так далее.
Расширение файла .h (или суффикс .h в языке С/C++) принято указывать в заголовочных файлах для определения места, откуда следует брать библиотечные функции, определения, описания типов и констант, используемых при работе с библиотеками компилятора. Ниже мы приводим утвержденные стандартом языка С/C++ зарезервированные имена этих файлов:
assert.h - диагностика программ;
ctype.h - преобразование и проверка символов;
errno.h - проверка ошибок;
float.h -работа с вещественными числами;
limits.h - предельные значения целочисленных данных;
locate.h - поддержка национальной среды;
math.h - математические вычисления;
setjump.h - возможности нелокальных переходов;
signal.h - обработка исключительных ситуаций;
stdarg.h - поддержка переменного числа параметров;
stddef.h - дополнительные определения;
stdio.h - средства ввода/вывода;
stdlib.h - функции общего назначения (работа с памятью);
string.h - работа со строками символов;
time.h - определение дат и времени;
В конкретных реализациях компилятора количество и наименования препроцессорных заголовочных файлов могут отличаться. Например, в MS DOS активно использовались заголовочные файлы dos.h, conio.h, mem.h, alloc.h и так далее. Кроме того, надо помнить, что в каждой современной операционной системе есть библиотека графических примитивов - графических функций. Например, в компиляторах Borland C++ применяется файл graphics.h для обращения к графической библиотеке.
Заголовочные файлы можно включать в программу на языке С/C++ в любом порядке. Действие заголовочного файла распространяется только на тот модуль, в который они входят.
Существуют еще нестандартные заголовочные файлы. Это очень эффективное средство при разработке модулей крупных программ. Описания внешних объектов и функций помещаются при этом в одном файле, который потом с помощью директивы #include включается во все модули программы, где используются внешние объекты.
Часто в программе, использующей несколько нестандартных функций, каждую из них помещают в отдельном файле. Тогда текст программы может состоять только из одних препроцессорных команд.
Например: #include"main.c" #include"count.c" #include"estimate.c" #include"compare.c" #include"gauss.c" Вы видите, что в текст программы на языке C/C++ могут входить имена файлов и соответствующих им функций с расширением .c. За счет этого исходный текст программы может быть настолько сжат, что в нем могут быть только одни препроцессорные директивы только такого вида, как указано в нашем примере выше.