Стандартная часть таблицы символов ASCII
| КС | С | КС | С | КС | С | КС | С | КС | С | КС | С | КС | С | КС | С |
| ► | @ | P | ` | p | |||||||||||
| ☺ | ◄ | ! | A | Q | a | q | |||||||||
| ☻ | ↕ | " | B | R | b | r | |||||||||
| ♥ | ‼ | # | C | S | c | s | |||||||||
| ♦ | ¶ | $ | D | T | d | t | |||||||||
| ♣ | § | % | E | U | e | u | |||||||||
| ♠ | ▬ | & | F | V | f | v | |||||||||
| • | ↨ | ' | G | W | g | w | |||||||||
| ◘ | ↑ | ( | H | X | h | x | |||||||||
| ○ | ↓ | ) | I | Y | i | y | |||||||||
| ◙ | → | * | : | J | Z | j | z | ||||||||
| ♂ | ← | + | ; | K | [ | k | { | ||||||||
| ♀ | ∟ | , | < | L | \ | l | | | ||||||||
| ♪ | ↔ | - | = | M | ] | m | } | ||||||||
| ♫ | ▲ | . | > | N | ^ | n | ~ | ||||||||
| ☼ | ▼ | / | ? | O | _ | o | ⌂ |
Некоторые из вышеперечисленных символов имеют особый смысл. Так, например, символ с кодом 9 обозначает символ горизонтальной табуляции, символ с кодом 10 – символ перевода строки, символ с кодом 13 – символ возврата каретки.
Дополнительная часть таблицы символов
| КС | С | КС | С | КС | С | КС | С | КС | С | КС | С | КС | С | КС | С |
| А | Р | а | ░ | └ | ╨ | р | Ё | ||||||||
| Б | С | б | ▒ | ┴ | ╤ | с | ё | ||||||||
| В | Т | в | ▓ | ┬ | ╥ | т | Є | ||||||||
| Г | У | г | │ | ├ | ╙ | у | є | ||||||||
| Д | Ф | д | ┤ | ─ | ╘ | ф | Ї | ||||||||
| Е | Х | е | ╡ | ┼ | ╒ | х | ї | ||||||||
| Ж | Ц | ж | ╢ | ╞ | ╓ | ц | Ў | ||||||||
| З | Ч | з | ╖ | ╟ | ╫ | ч | ў | ||||||||
| И | Ш | и | ╕ | ╚ | ╪ | ш | ° | ||||||||
| Й | Щ | й | ╣ | ╔ | ┘ | щ | ∙ | ||||||||
| К | Ъ | к | ║ | ╩ | ┌ | ъ | · | ||||||||
| Л | Ы | л | ╗ | ╦ | █ | ы | √ | ||||||||
| М | Ь | м | ╝ | ╠ | ▄ | ь | № | ||||||||
| Н | Э | н | ╜ | ═ | ▌ | э | ¤ | ||||||||
| О | Ю | о | ╛ | ╬ | ▐ | ю | ■ | ||||||||
| П | Я | п | ┐ | ╧ | ▀ | я |
В таблицах обозначение КС означает «код символа», а С – «символ».
Операции языка Си
Операции приведены в порядке убывания приоритета, операции с разными приоритетами разделены чертой.
| Операция | Краткое описание | Использование | Порядок выполнения |
| Первичные (унарные) операции | |||
| . | Доступ к члену | объект . член | Слева направо |
| -> | Доступ по указателю | указатель -> член | |
| [ ] | Индексирование | переменная [выражение] | |
| ( ) | Вызов функции | ID_функции(список) | |
| Унарные операции | |||
| ++ | Постфиксный инкремент | lvalue++ | Справа налево |
| -- | Постфиксный декремент | lvalue-- | |
| sizeof | Размер объекта (типа) | sizeof(ID или тип) | |
| ++ | Префиксный инкремент | ++lvalue | |
| -- | Префиксный декремент | --lvalue | |
| ~ | Побитовое НЕ | ~выражение | |
| ! | Логическое НЕ | !выражение | |
| – (+) | Унарный минус (плюс) | – (+)выражение | |
| * | Разадресация | *выражение | |
| & | Адрес | &выражение | |
| () | Приведение типа | (тип)выражение | |
| Бинарные и тернарная операции | |||
| * | Умножение | выражение * выражение | Слева направо |
| / | Деление | выражение / выражение | |
| % | Получение остатка | выражение % выражение | |
| + | Сложение | выражение + выражение | |
| – | Вычитание | выражение – выражение | |
| << | Сдвиг влево | выражение << выражение | |
| >> | Сдвиг вправо | выражение >> выражение | |
| < | Меньше | выражение < выражение | |
| <= | Меньше или равно | выражение <= выражение | |
| > | Больше | выражение > выражение | |
| >= | Больше или равно | выражение >= выражение | |
| == | Равно | выражение == выражение | |
| != | Не равно | выражение != выражение | |
| & | Побитовое И | выражение & выражение | |
| ^ | Побитовое исключ. ИЛИ | выражение ^ выражение |
| Операция | Краткое описание | Использование | Порядок выполнения |
| | | Побитовое ИЛИ | выражение | выражение | Слева направо |
| && | Логическое И | выражение && выражение | |
| || | Логическое ИЛИ | выражение || выражение | |
| ?: | Условная операция (тернарная) | выражение ? выражение : выражение | Справа налево |
| = | Присваивание | lvalue = выражение | |
| *= | Умножение с присваиванием | lvalue *= выражение | |
| /= | Деление с присваиванием | lvalue /= выражение | |
| %= | Остаток от деления с присваиванием | lvalue %= выражение | |
| += | Сложение с присваиванием | lvalue += выражение | |
| - = | Вычитание с присваиванием | lvalue -= выражение | |
| <<= | Сдвиг влево с присваиванием | lvalue <<= выражение | |
| >>= | Сдвиг вправо с присваиванием | lvalue >>= выражение | |
| &= | Поразрядное И с присваиванием | lvalue &= выражение | |
| |= | Поразрядное ИЛИ с присваиванием | lvalue |= выражение | |
| ^= | Поразрядное ИСКЛЮЧАЮЩЕЕ ИЛИ с присваиванием | lvalue ^= выражение | |
| , | Последовательное вычисление | выражение, выражение | Слева направо |
Возможности препроцессора
Препроцессор, как мы уже знаем, это программа предварительной обработки исходного текста программы перед этапом компиляции. Чаще всего препроцессор автоматически вызывается на этапе компиляции, если в исходном тексте обнаружена хотя бы одна его директива.
Признаком директивы препроцессора является символ #. При необходимости продолжения директивы в следующей строке текущую строку должен завершать символ '\'.
Возможности препроцессора языка Cи:
– лексемное замещение идентификаторов;
– макрозамещение;
– включение файлов исходного текста;
– условная компиляция;
– изменение нумерации строк и текущего имени файла.