Общая структура программы

Описания

Базовые типы данных

Алфавит

Начальные сведения

Краткость записи

Библиотека стандартных функций

Язык C компактен, т. е. набор основных его средств и конструкций невелик. Многие необходимые действия (например, операции ввода-вывода) не входят в состав собственно языка, но для их выполнения предусмотрен набор стандартных функций. Эти функции — неотъемлемая часть реализации языка; их ассортимент и поведение точно определены стандартом. Стандартная библиотека содержит более сотни функций.

В языке последовательно выдерживается принцип краткости обозначений. Для наиболее часто используемых конструкций выбраны самые короткие формы записи или существуют альтернативные укороченные варианты.

В языке C буквы верхнего и нижнего регистров (заглавные и строчные) считаются различными. Все ключевые слова языка записываются строчными буквами. Символ подчеркивания (_) играет роль буквы.

char – символы; размер всегда 1 байт

int – целые числа. Размер зависит от архитектуры процессора, это «естественный» размер элемента данных (машинное слово).

float – числа с плавающей точкой обычной (одинарной) точности.

double – числа с плавающей точкой увеличенной (двойной) точности. Наличие двух отдельных типов чисел с плавающей точкой обусловлено тем, что подавляющее большинство процессоров умеют работать с вещественными числами «обычной» и «увеличенной» точности.

указатель – адрес ячейки машинной (оперативной) памяти.

void – «пустой» тип (значение отсутствует или не определено). Используется для функций, не возвращающих никакого значения; может также указывать, что функция не имеет аргументов. Указатель на величину типа void — это абстрактный указатель (адрес размещения данных неизвестного типа).

Объекты программы (сложные типы, переменные, функции) необходимо описывать до их использования. Это правило иногда допускает исключения (применительно к функциям), но лучше ими не пользоваться (плохой стиль, который увеличивает вероятность скрытых ошибок).

Пользование стандартными библиотечными функциями требует большого количества относящихся к ним описаний. Эти описания не нужно писать самому: они помещены в т.н. стандартные «заголовочные» файлы, которые поставляются вместе с компилятором и библиотеками. Заголовочные файлы включаются в состав программы с помощью директивы #include.

Программа состоит из отдельных функций. Каждая функция записывается отдельно (т. е. функции нельзя «вкладывать» друг в друга, как в Паскале). Порядок следования функций в файле с исходным текстом программы не имеет значения (при условии, что объявление функции или переменной встречается в исходном файле раньше их использования).

Как уже упоминалось, в законченной программе обязательно должна присутствовать функция с именем main — её вычисление и есть выполнение программы.

Исходный текст программы может находиться как в одном, так и в нескольких файлах. Единственное ограничение — функцию нельзя разрывать, она целиком должна находиться в одном файле. Для правильной сборки программы, состоящей из нескольких файлов, необходимо во всех её частях иметь согласованные объявления и определения.

Способ разбиения исходного текста на файлы не безразличен с точки зрения смысла программы. Переменная может быть видимой (доступной):

· для единственной функции (локальная переменная)

· для всех функций в пределах одного исходного файла (внешняя статическая)

· для всех функций программы (внешняя, или глобальная)

Функция может быть видимой (доступной для вызова):

· для всех функций в пределах одного исходного файла (статическая функция)

· для всех функций программы (глобальная функция)


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: