Структура программы
Программа на С представляет собой набор функций, вызывающих друг друга и возвращающих значения — результаты своих работ. Синтаксис и семантика описания и вызова функций будет рассмотрена далее.
В «С» Операторы заканчиваются символом «;»(точка с запятой). В качестве операторных скобок используются символы «{» и «}».
Программа на С обязательно должна включать функцию с предопределенным именем main(), особая роль которой заключается в том, что при запуске скомпилированной и загруженной программы операционная система (ОС) вызывает именно эту функцию, которая завершаясь, передает управление обратно операционной системе. Таким образом, при программировании на С программист отчетливо представляет, что его программа выполняется не в какой-то абстрактной среде выполнения, а под руководством ОС, выделяющей ресурсы для выполнения его программы.
Функция main() вызывает другие функции программы, которые в свою очередь могут вызывать друг друга, но main() не может вызвать никто, кроме ОС.
|
|
Стандартом определены две формы объявления функции main:
int main(void);
int main(int argc, char *argv[]);
Во втором случае функция принимает аргументы командной строки, задаваемые при вызове приложения. argc — количество аргументов, argv — строковый массив аргументов, первым элементом массива является имя вызываемой программы.
Описания функций могут размещаться в одном файле (однофайловый проект или программа) или в нескольких файлах (многофайловый проект), однако функция main() должна быть только в одном из файлов проекта.
Пример
//файл one_file_projeckt.c
/* директива препроцессорной обработки, так называемый заголовочный файл, необходимость которого будет объяснена позже */
# include <stdio.h>
int main()
{
// пример программы на С Д.Ричи и Б. Кернигана
printf (“Hello, world!”);
// возвращаем код успешного завершения приложения
return 0;
}
Компиляция в Unix-подобной среде (в исполняемый файл с предопределенным именем a.out): gcc one_file_projeckt.c
Запуск на выполнение:./a.out
Подключение библиотеки осуществляется включением заголовка (header) библиотечного файла в текст программы, что осуществляется использованием директивы
#include < имя_библиотеки >;
Примеры заголовочных файлов стандартной библиотеки:
stdio.h (standard input-output) — функции ввода-вывода;
stdlib.h (standard library) — некоторые часто используемые функции;
math.h — математические функции;
string.h — функции работы со строками;
limits.h — константы предельных значений.