
- •Краткая история развития языка с
- •Алфавит языка с
- •Знаки операций
- •Комментарий
- •Структура программы
- •Этапы создания исполняемой программы
- •Тип данных.
- •Целый тип int
- •Символьный тип char
- •Типы с плавающей точкой
- •Операторы
- •Переменные
- •Выражения
- •Операции
- •Типичные ошибки
- •Оператор switch
- •Операторы цикла
- •Цикл с предусловием
- •Ц икл с постусловием
- •Цикл с параметром
Краткая история развития языка с
Язык С был изобретен и реализован Деннисом Ритчи. Этот язык был разработан на основе "более старого" языка BCPL, созданного в свое время Мартином Ричардсом (Martin Richards). BCPL оказал определенное влияние на язык В, разработанный Кеном Томпсоном (Ken Thompson). В свою очередь развитие языка В привело к созданию в 1970 году языка С.
На протяжении многих лет стандартом С была фактически версия, поставляемая вместе с операционной системой Unix. Эта версия впервые была описана Брайаном Керниганом (Brian Kernighan) и Деннисом Ритчи в книге The С Programming Language в 1978г . Летом 1983 года был образован комитет по созданию для языка С стандарта ANSI {American National Standards Institute — Национальный институт стандартизации США). Стандарт ANSI был окончательно принят в декабре 1989 года и впервые опубликован в начале 1990 года. Этот стандарт был также принят организацией ISO (International Standards Organization — Международная организация по стандартизации), поэтому он называется стандартом ANSI/ISO языка С. Версию С, определенную стандартом 1989 года, обычно называют С89.
Разработка С продолжалась, приведя в 1999 году к появлению стандарта С, который принято называть С99.
С - язык среднего уровня
Язык С часто называют языком программирования среднего уровня. Это связано с тем, что С объединяем мощь языков высокого уровня с возможностями ассемблера.
Программа, написанная на С, обладает высокой переносимостью. Переносимость — это свойство программного обеспечения, созданного для одного типа компьютера или операционной системы, позволяющее легко переделать его для другого типа, т.е. перенести в другую вычислительную среду. Например, если программу, работающую под управлением DOS, легко переделать так, чтобы она работала под управлением Windows 2000, то такая программа называется переносимой1.
Все языки высокого уровня придерживаются концепции типов данных. Тип данных представляет собой набор значений, хранящихся в переменных, а также набор операций, выполнение которых допускается над этими значениями: Обычные типы данных — это целые числа, символы и числа с плавающей точкой. Язык С имеет несколько встроенных типов данных, однако он не является сильно типизированным языком, как Pascal. В языке С допускаются почти все преобразования типов.
В отличие от большинства языков высокого уровня, в С почти отсутствует контроль ошибок в процессе выполнения программы. Например, не проверяется нарушение границ массивов. Ответственность за подобные ошибки полностью возлагается на программиста.
Аналогично этому С не требует строгой совместимости параметров и аргументов функций. В языках программирования высокого уровня обычно необходимо, чтобы тип аргумента более или менее соответствовал типу параметра. Для С это не характерно, здесь аргумент может иметь почти любой тип, если его можно разумно преобразовать в тип параметра. Более того, компилятор С автоматически осуществляет все виды необходимых преобразований.
Отличительной особенностью языка С является возможность манипулирования непосредственно битами, байтами, словами и указателями. Поэтому С хорошо приспособлен для системного программирования.
Другая важная особенность С — это малое количество ключевых слов, составляющих команды языка. В С89 определено 32 ключевых слова, причем в С99 добавлено только 5 слов. Языки высокого уровня обычно имеют значительно больше ключевых слов, например, в большинстве версий языка Basic их количество превышает сотню.