Сейчас на сайте
Сейчас на сайте 0 пользователей и 0 гостей.

Особенности языка Си (C)

Си (C) является языком функций, типов данных, операторов присваивания и управления последовательностью вычислений. Программируя на Си (C), вы осуществляете обращение к функциям, и большинство функций возвращают некоторые значения. Значение, возвращаемое функцией, будь то значение переменной или константа, может использоваться в операторе присваивания, который изменяет значение другой переменной. Дополненный операторами управления последовательностью вычислений (while, for, do, switch), Си (C) превращается в язык высокого уровня, способствующий хорошему стилю программирования.Си (C) имеет небольшой набор типов данных: целые числа, числа с плавающей запятой, битовые поля и перечислимый тип. В языке Си (C) вы можете описать переменную типа указатель, который связывается с объектом, принадлежащим к любому типу данных. Адресная арифметика языка Си (C) является чувствительной к типу данных того объекта, с которым связан используемый указатель. Разрешены также указатели к функциям. Вы можете расширить список типов данных путем создания структур с иерархической зависимостью входящих в него типов данных. Каждый тип данных может принадлежать либо к основному типу, либо к ранее описанному структурному типу. Объединения напоминают структуры, но определяют различные виды иерархических зависимостей, в которых данные разных типов располагаются в памяти.

Допустимо описание массивов данных различных типов, включая структуры и объединения. Массивы могут быть многомерными.Функции Си (C) являются рекурсивными по умолчанию. Вы можете, правда, создать функцию, которая не будет рекурсивной, но сам язык по своей природе стремится поддерживать рекурсивность и требует минимальных усилий при программировании рекурсий.

Программа функции на языке Си (C) разбивается на блоки, в каждом из которых могут быть определены свои собственные локальные переменные. Блоки могут выбираться для исполнения по результату выполнения оператора управления последовательностью вычислений. Блоки могут быть вложенными друг в друга.Переменные и функции могут быть глобальными для программы, глобальными для исходного модуля или локальными для блока, в котором они описаны. Локальные переменные могут быть описаны таким образом, что они будут сохранять свои значения при всех обращениях внутри данного блока (статические переменные) или же будут восприниматься как новые объекты при каждом обращении (автоматические переменные).

Модульный принцип создания программ на Си (C)

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

В языке Си (C) нет операторов ввода/вывода, весь ввод/вывод выполняется с помощью функций. Вследствие этой особенности языка Си (C) разработана стандартная библиотека функций. Существование этого стандарта и составляет главную привлекательность языка Си (C), ибо делает программы на Си (C) переносимыми.