Язык Си

Язык Си

Язык программирования Си — универсальный язык программирования, который завоевал особую популярность у программистов, благодаря сочетанию возможностей языков программирования высокого и низкого уровней. Большинство программистов предпочитают использовать язык Си для серьезных разработок потому, что их привлекают такие особенности языка, как свобода выражения мыслей, мобильность и чрезвычайная доступность.

Язык Си дает возможность программисту осуществлять непосредственный доступ к ячейкам памяти и регистрам компьютера, требуя при этом знания особенностей функционирования ЭВМ. В этом Си схож с языком низкого уровня — ассемблером, хотя на самом деле он представляет собой гораздо более мощное средство решения трудных задач и создания сложных программных систем.

Язык Си был разработан американцем Деннисом Ритчи в исследовательском центре Computer Science Research Center of Bell Laboratories корпорации AT&T в 1972 г. Первоначальная реализация Си была выполнена на ЭВМ PDP-11 фирмы DEC для создания операционной системы UNIX. Позже он был перенесен в среду многих операционных систем и существует независимо от любой из них. Программы, написанные на языке Си, как правило, можно перенести в любую другую операционную систему или на другой компьютер либо с минимальными изменениями, либо вовсе без них.

Язык Си также используется при составлении программ для микроконтроллеров.

Язык Си оказал существенное влияние на развитие индустрии программного обеспечения, а его синтаксис стал основой для таких языков программирования как C++, C#, Java, PHP и др.

Язык программирования C имеет несколько стандартных версий, наиболее часто используемые из них — C89/C90, C99, C11 и C18.

C89/C90 (ANSI C или ISO C) был первой стандартизированной версией языка, выпущенной в 1989 и 1990 годах соответственно. В этом стандарте представлены многие функции, которые до сих пор используются в современном программировании на языке C, включая типы данных, структуры управления и стандартные библиотеки.

C99 (ISO/IEC 9899:1999) представил несколько новых функций, включая массивы переменной длины, гибкие элементы массива, комплексные числа, встроенные функции и назначенные инициализаторы. Этот стандарт также включает несколько новых библиотечных функций и обновления существующих.

C11 (ISO/IEC 9899:2011) представил несколько новых функций, включая _Generic, static_assert и квалификатор атомарного типа. Этот стандарт также включает несколько обновлений библиотек, в том числе новые функции для математических вычислений, потоков и манипуляций с памятью.

C17/C18 (ISO/IEC 9899:2018) — это последний стандарт, включающий обновления и пояснения к спецификации языка и библиотекам.

Прокрутить вверх