Алфавит языка С

С - язык среднего уровня

Язык С часто называют языком программирования среднего уровня. Это связано с тем, что С объединяем мощь языков высокого уровня с возможностями ассемблера.

Программа, написанная на С, обладает высокой переносимостью. Пере­носимость — это свойство программного обеспечения, созданного для одного типа компьютера или операционной системы, позволяющее легко переделать его для дру­гого типа, т.е. перенести в другую вычислительную среду. Например, если программу, работающую под управлением DOS, легко переделать так, чтобы она работала под управлением Windows 2000, то такая программа называется переносимой1.

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

В отличие от большинства языков высокого уровня, в С почти отсутствует кон­троль ошибок в процессе выполнения программы. Например, не проверяется нару­шение границ массивов. Ответственность за подобные ошибки полностью возлагается на программиста.

Аналогично этому С не требует строгой совместимости параметров и аргументов функций. В языках программирования высокого уровня обычно необходимо, чтобы тип аргумента более или менее соответствовал типу параметра. Для С это не харак­терно, здесь аргумент может иметь почти любой тип, если его можно разумно преоб­разовать в тип параметра. Более того, компилятор С автоматически осуществляет все виды необходимых преобразований.

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

Другая важная особенность С — это малое количество ключевых слов, составляю­щих команды языка. В С89 определено 32 ключевых слова, причем в С99 добавлено только 5 слов. Языки высокого уровня обычно имеют значительно больше ключевых слов, например, в большинстве версий языка Basic их количество превышает сотню.

 

Алфавит языка, или его символы — это основные неделимые знаки, с по­мощью которых пишутся все тексты на языке.

- латинские буквы прописные и строчные и знак подчеркивания,

- арабские цифры от 0 до 9,

- специальные знаки

“ “ { } [ ] ( ) < > = + - / * ‘ : ; . , \ ? ! & # ~ ^ %

Пробельные символы:

Это пробел, символы табуляции и символы перехода на новую строку.

 

Из символов алфавита формируют лексемы языка. Лексема, или элементарная конструкция, — минимальная единица языка, имеющая самостоятельный смысл – идентификаторы, ключевые слова, знаки операций, константы, разделители. Границы лексем определяются другими лексемами.

 

Идентификатор – имя программного объекта.

Состоит из латинских букв, цифр и знаков подчеркивания. Прописные и строчные буквы различаются. Первый символ – буква или знак подчеркивания. Пробелы внутри идентификатора не допускаются.

Длина имени не ограничена (по стандарту, но реально некоторые компиляторы накладывают ограничения на длину).

- Идентификатор не должен совпадать с ключевыми словами

- Начинать идентификатор с символа подчеркивания не рекомендуется (может быть совпадение с именами системных функций; это также снижает мобильность программ).

Ключевые слова – это зарезервированные идентификаторы, которые имеют специальное значение.