2. Структура программы. Пример простой программы.
Пример простой программы
Директивы препроцессора и заголовочные файлы
Перед компиляцией препроцессором выполняется предварительная обработка над исходным кодом. Директива include (включить файлы) сообщает компилятору о необходимости включения информации, хранящейся в некотором файле.
Файл stdio.h является встроенным, он содержит информацию о функциях ввода и вывода. Файл, содержимое которого добавляется препроцессором в исходный текст в месте директивы, называется заголовочным
Функция main(). Заголовок функции
int main(void) – объявление функции main().
Программа на С всегда начинается с выполнения функции main (). Круглые скобки идентифицируют main () как имя функции. Возвращаемый тип функции определен как int и указывает на то, что функция возвращает целое число. В круглых скобках содержится информация, передаваемая в функцию, (void) говорит о том, что main() не принимает аргументов.
Комментарии
Комментарии существенно облегчают понимание программы. Все, что находится между открывающей (/*) и закрывающей (*/) последовательностями, компилятор игнорирует. Для однострочных комментариев можно использовать символы //
Скобки, тела и блоки
Все функции С используют фигурные скобки для обозначения начала и конца своего тела, а также внутри функций для организации операторов в блоки.
Объявления
В примере объявляются два аспекта: в функции имеется переменная num, которая с помощью int объявлена как целочисленная. Компилятор применяет эту информацию, чтобы выделить в памяти для переменной num пространство подходящего размера.
Точка с запятой в конце строки показывает, что данная строка является оператором. Слово int представляет собой ключевое слово языка С, обозначающее один из базовых типов данных С. (Ключевые слова – слова, используемые для построения языковых конструкций, и их нельзя применять в других целях). Слово num является идентификатором.
Таким образом, объявление соединяет конкретный идентификатор с конкретной ячейкой в памяти компьютера и при этом устанавливает тип данных, которые будут там храниться. В С все переменные должны быть объявлены до применения (однопроходный компилятор)
Присваивание
Предшествующая строка объявления зарезервировала в памяти компьютера место для переменной num, а строка с оператором присваивания сохранила значение 1 в этой ячейке.
Функция printf()
Во всех этих строках используется стандартная функция printf(). То что содержится внутри скобок называется аргументом функции – это информация, передаваемая из функции main() в функцию printf()
Printf() рассматривает все, что помещено в двойные кавычки и выводит этот текст на экран. Комбинация \n – символ новой строки (управляющая последовательность – представление символов, которые невозможно ввести с клавиатуры \t \b \v). Комбинация %d – спецификатор формата, указывающий где и как должно быть введено значение переменной num (% показывает место, d показывает, что переменная должна выводиться как тип данных int)
Оператор возврата
Является завершающим оператором программы. Состоит из ключевого слова return, за котором следует возвращаемое значение (тип данных которого соответствует возвращаемому типу функции, указанному в заголовке) и точка с запятой.
Структура простой программы на си
Программа на языке Си состоит из:
Директив препроцессора (макросов)
Объявления структур
Объявления функций (прототипов функций)
Объявления глобальных переменных (плохо!)
Определения функций (как минимум одной - main() )
В нашем примере использовался оператор объявления, определяющий имя и тип переменной, оператор присваивания, устанавливающий значение переменной, три оператора вывода (операторы вызова функции), в каждом из которых вызывалась функция printf(), и оператор возврата.
Last updated