Реферат: Язык С
большинство ЭВМ, а именно, с символами, числами и адресами.
Они могут объединяться и пересылаться посредством обычных
арифметических и логических операций, осуществляемых реаль-
ными ЭВМ.
В языке “C” отсутствуют операции, имеющие дело непос-
редственно с составными объектами, такими как строки симво-
лов, множества, списки или с массивами, рассматриваемыми как
целое. Здесь, например, нет никакого аналога операциям PL/1,
оперирующим с целыми массивами и строками. Язык не предос-
тавляет никаких других возможностей распределения памяти,
кроме статического определения и механизма стеков, обеспечи-
ваемого локальными переменных функций; здесь нет ни
“куч”(HEAP), ни “сборки мусора”, как это предусматривается в
АЛГОЛЕ-68. Наконец, сам по себе “C” не обеспечивает никаких
возможностей ввода-вывода: здесь нет операторов READ или
WRITE и никаких встроенных методов доступа к файлам. Все эти
механизмы высокого уровня должны обеспечиваться явно вызыва-
емыми функциями.
Аналогично, язык “C” предлагает только простые, после-
довательные конструкции потоков управления: проверки, циклы,
группирование и подпрограммы, но не мультипрограммирование,
параллельные операции, синхронизацию или сопрограммы.
Хотя отсутствие некоторых из этих средств может выгля-
деть как удручающая неполноценность (“выходит, что я должен
обращаться к функции, чтобы сравнить две строки символов
?!”), но удержание языка в скромных размерах дает реальные
преимущества. Так как “C” относительно мал, он не требует
много места для своего описания и может быть быстро выучен.
Компилятор с “C” может быть простым и компактным. Кроме то-