
- •6. Язык программирования с-51.
- •6.1 Применение.
- •6.2 Отладка программ.
- •6.3 Структура программ с-51.
- •6.4. Символы языка программирования с-51.
- •6.4.1 Лексические единицы, разделители и использование пробелов.
- •6.4.2 Идентификаторы.
- •6.4.3 Ключевые слова.
- •6.4.4 Константы.
- •6.5 Выражения в операторах языка программирования c-51.
- •6.6 Приоритеты выполнения операций.
- •6.7 Операторы языка программирования c-51.
- •6.7.1 Операторы объявления.
- •6.7.2 Исполняемые операторы.
- •6.7.3 Оператор присваивания.
- •6.7.4 Условный оператор.
- •6.7.5 Структурный оператор {}.
- •6.7.6 Оператор цикла for.
- •6.7.7 Оператор цикла с проверкой условия до тела цикла while.
- •6.7.8 Оператор цикла с проверкой условия после тела цикла do while.
- •6.7.9 Оператор break.
- •6.7.10 Оператор continue.
- •6.7.11 Оператор выбора switch.
- •6.7.12 Оператор безусловного перехода goto.
- •6.7.13 Оператор выражение.
- •6.7.14 Оператор возвращения из подпрограммы return.
- •6.7.15 Пустой оператор.
- •6.8 Объявление переменных в языке программирования c-51.
- •6.8.1 Категории типов данных.
- •6.8.2 Целые типы данных.
- •6.8.3 Числа с плавающей запятой.
- •6.8.4 Переменные перечислимого типа.
- •6.9 Объявление массивов в языке программирования c-51.
- •6.10 Структуры.
- •6.10.1 Поля битов.
- •6.11 Объединения (смеси).
- •6.12 Объявление указателей в языке программирования c-51.
- •6.12.1 Нетипизированные указатели.
- •6.12.2 Память зависимые указатели.
- •6.13. Объявление новых типов переменных.
- •6.14. Инициализация данных.
- •6.15. Использование подпрограмм в языке программирования с-51.
- •6.15.1 Определение подпрограмм.
- •6.15.2 Параметры подпрограмм.
- •6.15.3 Предварительное объявление подпрограмм.
- •6.15.4 Вызов подпрограмм.
- •6.15.5 Рекурсивный вызов подпрограмм.
- •6.15.6 Подпрограммы обработки прерываний.
- •6.15.7 Области действия переменных и подпрограмм.
- •6.16. Многомодульные программы.
6.4. Символы языка программирования с-51.
Как и в любом другом текстовом файле, в исходном тексте программы, написанной на языке программирования С51, используются ASCII или ANSI символы. Символы в языке программирования С-51 можно разделить на пять групп.
1. Символы, используемые для образования ключевых слов и идентификаторов (табл.1). В эту группу входят прописные и строчные буквы английского алфавита, а также символ подчеркивания. Следует отметить, что язык программирования С-51 различает прописные и строчные буквы.
Таблица 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 |
Символ подчеркивания |
_ |
Арабские цифры |
0 1 2 3 4 5 6 7 8 9 |
2. Прописные и строчные буквы русского алфавита (табл.2).
Таблица 2
Прописные буквы русского алфавита |
А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Ь Э Ю Я |
Строчные буквы русского алфавита |
а б в г д е ж з и к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я |
3. Знаки нумерации и специальные символы (табл. 3). Эти символы используются для организации процесса вычислений, а также для передачи компилятору определенного набора инструкций.
Таблица 3
Символ |
Наименование |
Символ |
Наименование |
, |
запятая |
) |
круглая скобка правая |
. |
точка |
( |
круглая скобка левая |
; |
точка с запятой |
} |
фигурная скобка правая |
: |
двоеточие |
{ |
фигурная скобка левая |
? |
вопросительный знак |
< |
меньше |
' |
апостроф |
> |
больше |
! |
восклицательный знак |
[ |
квадратная скобка |
| |
вертикальная черта |
] |
квадратная скобка |
/ |
дробная черта |
# |
номер |
\ |
обратная черта |
% |
процент |
~ |
тильда |
& |
амперсанд |
* |
звездочка |
^ |
исключающее ИЛИ |
+ |
плюс |
= |
равно |
- |
минус |
" |
кавычки |
4. Управляющие и разделительные символы. К этой группе символов относятся: пробел, символы табуляции, перевода строки, возврата каретки, символы новой страницы и новой строки. Эти символы отделяют друг от друга лексические единицы языка, к которым относятся ключевые слова, константы, идентификаторы и т.д. Последовательность разделительных символов компилятор видит как один символ.
5. Управляющие последовательности, т.е. специальные символьные комбинации, используемые в функциях ввода и вывода информации. Управляющая последовательность начинается с использования обратной косой черты (\), за которой следует комбинация латинских букв и цифр. Список управляющих последовательностей приведён в таблице 4.
Таблица 4
Управляющая последовательность |
Наименование |
Шестнадцатеричный код |
\a |
Звонок |
007 |
\b |
Возврат на шаг |
008 |
\t |
Горизонтальная табуляция |
009 |
\n |
Переход на новую строку |
00A |
\v |
Вертикальная табуляция |
00B |
\r |
Возврат каретки |
00D |
\f |
Новая страница |
00C |
\" |
Кавычки |
022 |
\' |
Апостроф |
027 |
\0 |
Ноль-символ |
000 |
\\ |
Обратная дробная черта |
05C |
\OOO |
Восьмеричный код ASCII или ANSI символа |
|
\xHHH |
Шестнадцатеричный код ASCII или ANSI символа |
HHH |
Управляющие последовательности \OOO и \xHHH (здесь O обозначает восьмеричную цифру; H обозначает шестнадцатеричную цифру) позволяет представить символ из кодовой таблицы ASCII или ANSI как последовательность восьмеричных или шестнадцатеричных цифр соответственно.
Следует отметить, что в строковых константах всегда обязательно задавать все три цифры управляющей последовательности.
Отметим, что, если обратная дробная черта предшествует символу не являющемуся управляющей последовательностью (т.е. не включенному в табл.4) и не являющемуся цифрой, то эта черта игнорируется, а сам символ представляется как литеральный.
Кроме определения управляющей последовательности, символ обратной дробной черты (\) используется также как символ продолжения. Если за (\) следует символ возврата каретки, то оба символа игнорируются, а следующая строка является продолжением предыдущей. Это свойство может быть использовано для записи длинных строк. Например:
printf("Превед, очень длинный\
медвед!")
Компилятор С-51 выдает сообщение об ошибке, если в тексте исходной программы встречается символ, отличающийся от символов, перечисленных выше.