ЭЛЕМЕНТЫ СИ: АЛФАВИТ, ИДЕНТИФИКАТОРЫ, ЛИТЕРАЛЫ, СЛУЖЕБНЫЕ СЛОВА
Перечислим основные символы языка Си, образующие его алфавит:
1) строчные латинские буквы
abcdefghijklmnopqrstuvwxyz
2) прописные латинские буквы
ABCDEFGHIJKLMNOPQRSTUVWXYZ
3) арабские цифры
0123456789
4) специальные символы
* звездочка
_ подчеркивание
+ плюс
( круглая скобка левая
- минус
) круглая скобка правая
/ дробная черта
< меньше
\ обратная дробная черта
> больше
% процент
^ стрелка вверх
! восклицательный знак
[ квадратная скобка левая
= знак равенства ] квадратная скобка правая
? вопросительный знак
# номер
: двоеточие
{ фигурная скобка левая
; точка с запятой
} фигурная скобка правая
& коммерческое ''и"(амперсанд)
| вертикальная черта
' апостроф
~ черта сверху (тильда)
. точка
" кавычки
, запятая пробел
5) управляющие символы
\t горизонтальная табуляция
\n перевод строки и возврат каретки
\r возврат каретки
\f перевод страницы
\b возврат на шаг (на один символ)
Множество основных символов расширено буквами русского алфавита (строчными и прописными). Они могут быть использованы только в комментариях, символьных константах и строках.
Лексемами называют последовательности символов языка (идентификаторы, служебные слова, константы, строки, составные знаки операций, разделители). Лексемы разделяются пробелами и другими неграфическими символами языка.
Идентификатор - это последовательность латинских букв, цифр и символа ''_", начинающаяся с буквы или символа "_".
Прописные и строчные латинские буквы считаются различными! Например, у и Y - это разные имена.
Рекомендуется в именах переменных использовать только строчные буквы.
Примеры правильных идентификаторов:
schetchik get_line a 12 Parami _ab
Примеры неправильных идентификаторов:
%ab 12abc -x вася
Литералы - это неизменяемые объекты языка (константы). Литерал может быть числовым, символьным или строковым Числовые литералы могут быть десятичными (целыми и вещественными, простыми и длинными), восьмеричными, шестнадцатиричными.
Примеры.
I*
Целые десятичные литералы */
57 32000001 /* длинный*/ 2е3 5ЕЗ
/* Вещественные десятичные литералы */
0.00 5.37.1е-3 6.34Е-2 .21е+56
Лидирующий нуль (0) указывает на числовой восьмеричный литерал:
030 /* Десятичное 24 */
040 /* Десятичное 32 - символ пробел */
Лидирующий 0х указывает на числовой шестнадцатиричный литерал:
0х22 /* Десятичное 34 - символ "*/
0х6С /* Десятичное 108 - символ i */
Символьный литерал - это один символ, заключенный в одинарные кавычки:
-'c"*"q'-
"\007" /* Звонок, восьмеричный код после \ */
"\х0а" /* Перевод на новую строку, шестнадцатиричный код после \х */
Последовательность символов, заключенных в двойные кавычки, называется строковым литералом. Примеры:
"STRING\n"
"" /* Строчный литерал состоит из одного символа "\0" */
"Очень,"\
"очень,"\
"очень длинный строковый литерал!"
Следующие зарезервированные служебные (ключевые) слова языка запрещено использовать в качестве идентификаторов.
auto - автоматический;
default - по умолчанию;
break -завершить;
do -выполнить;
case -вариант;
double -двойной точности;
char -символьный;
else -иначе;
continue - продолжить;
entry - вход;
extern -внешний;
short -короткий;
for - для;
sizeof - размер;
float -плавающее;
static -статический;
goto - перейти;
struct - структура;
if — если;
switch - переключатель;
int - целое; '
typedef - определение типа;
long -длинное;
union -объединение;
register -регистровый;
unsigned -без знака;
return - возврат;
while - пока.