Нет ничего, кроме функций

Отличительные особенности языка C

История создания

Язык C тесно связан с системой UNIX; собственно говоря, он и был создан для ее разработки:

[язык BCPL (середина 60-х) ] ® язык B (1970 г., 1-я версия UNIX для PDP-7) ® язык C

В 1978 г. вышло 1‑е издание книги Б. Кернигана и Д. Ритчи «Язык программирования C». Авторы книги были одновременно и разработчиками самого языка. До принятия официального стандарта книга Кернигана и Ритчи служила эталонным описанием языка не только для программистов, но и для разработки компиляторов. Первоначальная версия языка C, изложенная в 1‑м издании книги, сейчас уже устарела, хотя до сих пор поддерживается большинством компиляторов.

В течение 5 лет (1983 – 1988 гг.) велась работа над стандартом языка в комитете X3J11 ANSI (American National Standards Institute — Национальный институт стандартов США). Официальный стандарт опубликован в 1989 г. Этот стандарт затем был утвержден Международной организацией по стандартизации (ISO) как ISO/IEC 9899-1990. Стандартный вариант языка (под названием ANSI C) изложен во 2-м английском издании книги Кернигана и Ритчи, вышедшем в 1988 г. и выдержавшем к настоящему времени 34 переиздания[1].

Развитие языка C продолжалось; появившиеся изменения и дополнения, расширяющие его возможности и обеспечивающие лучшую совместимость реализаций и переносимость программ, отражены в новом стандарте, принятом в 1999 г. Этот последний вариант языка известен как C99; пока лишь очень немногие компиляторы реализуют его в полном объеме.

1.2. C и C++

Язык C++ создан на основе C; в нем реализованы идеи объектно-ориентированного программирования (ООП). Сам по себе язык C не является объектно-ориентированным.

В известном смысле C можно считать подмножеством C++. Это значит, что правильная программа на языке C (при некотором ограничении «вольностей» со стороны программиста) является также и программой на языке C++.

В настоящее время практически нет компиляторов для «чистого» C; большинство из них годятся для работы как на C, так и на C++.

Имеется единственный вид элементов, из которых строится программа — функции. Это следствие общего принципа: выполнение программы представляет собой последовательное вычисление различных выражений. При этом допускаются побочные эффекты, т.е. какие-то дополнительные результаты помимо формирования конечного значения вычисляемого выражения. Например, попутно могут меняться значения различных переменных, производиться операции ввода-вывода и т.п. Предполагается, что иногда «побочные» эффекты могут являться главной целью вычисления выражения, а сам формальный результат, т.е. значение выражения, не нужен (нигде далее не используется). Эта идеология допускает существование функций, не возвращающих[2] никакого значения, если по смыслу в нем нет необходимости (т.е. такие функции не производят ничего кроме побочных эффектов).

Функции могут иметь произвольные названия за исключением одной: main. В любой законченной программе обязательно должна присутствовать функция main, которая называется «главной»: выполнение программы есть не что иное, как «вычисление» функции main; при этом результат, т.е. вычисленное значение, в самой программе использовать негде. (Это т. наз. «код завершения», который может быть передан тому, кто запустил программу — вышестоящему процессу операционной системы). В некоторых системах код завершения не является строго обязательным, и там разрешается делать main без возвращаемого значения.


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



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