Страница 2 из 85 1. Описание языка программирования С 1.1. Элементы языка программирования С 1.1.1. Используемые символы Множество символов используемых в языке программирования С можно разделить на пять групп. 1. Символы, используемые для образования ключевых слов и идентификаторов (табл.1). В эту группу входят прописные и строчные буквы английского алфавита, а также символ подчеркивания. Следует отметить, что одинаковые прописные и строчные буквы считаются различными символами, так как имеют различные коды. Таблица 1 Прописные буквы латинского алфавита | A B C D E F G H I J K L M N O P Q R S T U V W X Y Z | Строчные буквы латинского алфавита | a b c d e f g h i j k l m n o p q r s t u v w x y z | Символ подчеркивания | _ | 2. Группа прописных и строчных букв русского алфавита и арабские цифры (табл.2). Таблица 2 Прописные буквы русского алфавита | А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Ь Э Ю Я | Строчные буквы русского алфавита | а б в г д е ж з и к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я | Арабские цифры | 0 1 2 3 4 5 6 7 8 9 | 3. Знаки нумерации и специальные символы (табл. 3). Эти символы используются с одной стороны для организации процесса вычислений, а с другой - для передачи компилятору определенного набора инструкций. Таблица 2 Символ | Наименование | Символ | Наименование | , | запятая | ) | круглая скобка правая | . | точка | ( | круглая скобка левая | ; | точка с запятой | } | фигурная скобка правая | : | двоеточие | { | фигурная скобка левая | ? | вопросительный знак | < | меньше | ' | апостроф | > | больше | ! | восклицательный знак | [ | квадратная скобка | | | вертикальная черта | ] | квадратная скобка | / | дробная черта | # | номер | \ | обратная черта | % | процент | ~ | тильда | & | амперсанд | * | звездочка | ^ | логическое не | + | плюс | = | равно | - | мину | " | кавычки | 4. Управляющие и разделительные символы. К той группе символов относятся: пробел, символы табуляции, перевода строки, возврата каретки, новая страница и новая строка. Эти символы отделяют друг от друга объекты, определяемые пользователем, к которым относятся константы и идентификаторы. Последовательность разделительных символов рассматривается компилятором как один символ (последовательность пробелов). 5. Кроме выделенных групп символов в языке программирования С широко используются так называемые, управляющие последовательности, т.е. специальные символьные комбинации, используемые в функциях ввода и вывода информации. Управляющая последовательность строится на основе использования обратной дробной черты (\) (обязательный первый символ) и комбинацией латинских букв и цифр (табл.4). Таблица 4 Управляющая последовательность | Наименование | Шеснадцатеричная замена | \a | Звонок | 007 | \b | Возврат на шаг | 008 | \t | Горизонтальная табуляция | 009 | \n | Переход на новую строку | 00A | \v | Вертикальная табуляция | 00B | \r | Возврат каретки | 00C | \f | Перевод формата | 00D | \" | Кавычки | 022 | \' | Апостроф | 027 | \0 | Ноль-символ | 000 | \\ | Обратная дробная черта | 05C | \ddd | Символ набора кодов ПЭВМ в восьмеричном представлении | | \xddd | Символ набора кодов ПЭВМ в шестнадцатеричном представлении | | Последовательности вида \ddd и \xddd (здесь d обозначает цифру) позволяет представить символ из набора кодов ПЭВМ как последовательность восьмеричных или шестнадцатеричных цифр соответственно. Например символ возврата каретки может быть представлен различными способами: \r - общая управляющая последовательность, \015 - восьмеричная управляющая последовательность, \x00D - шестнадцатеричная управляющая последовательность. Следует отметить, что в строковых константах всегда обязательно задавать все три цифры в управляющей последовательности. Например отдельную управляющую последовательность \n (переход на новую строку) можно представить как \010 или \xA, но в строковых константах необходимо задавать все три цифры, в противном случае символ или символы следующие за управляющей последовательностью будут рассматриваться как ее недостающая часть. Например: "ABCDE\x009FGH" данная строковая команда будет напечатана с использованием определенных функций языка программирования С, как два слова ABCDE FGH, разделенные 8-ю пробелами, в этом случае если указать неполную управляющую строку"ABCDE\x09FGH",то на печати появится ABCDE=|=GH, так как компилятор воспримет последовательность \x09F как символ "=+=". Отметим тот факт, что, если обратная дробная черта предшествует символу не являющемуся управляющей последовательностью (т.е. не включенному в табл.4) и не являющемуся цифрой, то эта черта игнорируется, а сам символ представляется как литеральный. Например: символ \h представляется символом h в строковой или символьной константе. Кроме определения управляющей последовательности, символ обратной дробной черты (\) используется также как символ продолжения. Если за (\) следует (\n), то оба символа игнорируются, а следующая строка является продолжением предыдущей. Это свойство может быть использовано для записи длинных строк. |