Главная »
Периодика »
Безопасность0 ...
143144145146147148149 ...
159Оператор continue используется только в операторах цикла (while, for и do/while). Он завершает текущую итерацию цикла и переходит непосредственно к проверке условий его продолжения. Данный оператор имеет следующий формат:
continue,
Оператор цикла в форме do/while применяется для выполнения цикла до тех пор, пока заданное условие не будет выполнено:
тело цикла while (выражение).
Оператор switch (переключатель) служит для условного ветвления в зависимости от значения выражения:
switch (переключающее выражение) {case константное выражение 1 операторы 1,
case константное выражение 2 операторы 2,
case константное выражение п операторы п,
default операторы Если ни один из операторов
выбора не является истинным
И наконец, оператор goto Label нужен для перехода к заданному адресу:
goto Label,
Label
Для возвращения величины функции предназначен оператор return:
return Statement, Операции
В языке С используются операции, специфицируемые в табл. 15.21-15.23.
Директивы
Все директивы начинаются со знака # и выполняются препроцессором до начала компиляции кода (табл. 15.24).
Операция | Описание |
| Логическое отрицание |
| Поразрядное отрицание |
| Логическое И |
| Поразрядное И, адрес |
| Логическое ИЛИ |
| Поразрядное ИЛИ |
| Поразрядное Исключающее ИЛИ |
| Сложение |
| Инкрементирование |
| Вычитание, отрицание |
| Декрементирование |
» | Умножение, разыменование |
| Деление |
| Модуль (остаток от деления) |
| Равно |
| Не равно |
< | Меньше |
< = | Меньше или равно |
<< | Сдвиг влево |
> | Больше |
> = | Больше или равно |
>> | Сдвиг вправо |
Таблица 15.22 Операции присваивания
Операции | Описание |
| Операция И левой переменной с правой переменной и сохранение полученного результата в левой переменной |
| Операция ИЛИ левой переменной с правой переменной и сохранение полученного результата в левой переменной |
" = | Операция Исключающее ИЛИ левой переменной с правой переменной и сохранение полученного результата в левой переменной |
| Сложение переменных и сохранение результата в левой переменной |
| Вычитание из левой переменной правой и сохранение результата в левой переменной |
| Умножение переменных и сохранение резупьтата в левой переменной |
| Деление левой переменной на правую и сохранение частного в левой переменной |
«= | Получение модуля и сохранение результата в левой переменной |
<<= | Сдвиг левой переменной влево на количество разрядов, определяемое правой переменной, и сохранение полученного результата в левой переменной |
>>= | Сдвиг левой переменной вправо на количество разрядов, определяемое правой переменной, и сохранение полученного результата в левой переменной |
Операции | Приоритет | Примечания |
О п > | Высший | Вычисление выражений |
- - 1 S . ++ - | | Унарные операции |
• / % | | Мультипликативные операции |
+ - | | Аддитивные операции |
« » | | Сдвиг |
<<=>=> | | Сравнение |
| | Сравнение |
& | | Поразрядное И |
| | Поразрядное Исключающее ИЛИ |
| | Поразрядное ИЛИ |
| | Логическое И |
| | Логическое ИЛИ |
| | Условное выполнение |
= &= 1= -= += -= •= /= %= »= «= | | Операции присваивания |
| Низший | Операция «запятая». Последовательное выполнение |
Таблица 15.24 Директивы языка С
Директива | Функция |
#aefine Label [(Parameters)] Text | Определяет идентификатор Label, который будет заменяться текстом Text каждый раз, когда он будет варечаться в коде. Если параметры Parameters заданы, они должны заменяться в коде Аналогична макросу |
Kundef Label | Делает идентификатор неопределенным для препроцессора |
Kinclude File I <File> | Включает указанный файп в тека. Когда название файла Filename заключено в угловые скобки < и >, тогда он отыскивается в стандартных системных каталогах. Если название пссгавлено в кавычки " , поиск файла начинается с текущей директории, а затем продолжается в стандартных системных каталогах (маршрут INCLUDE) |
йеггог Text | Приводит к выдаче сообщений об ошибках, перечисленных в Text |
Oif Condition | Если условие Condition выполняется, компилируется код, следующий за Kelif, Oelse или Oendif. В противном случае код, следующий за Oelif, #else или #endif, игнорируется |
Kifdef Label | Если идентификатор Label определен директивой ((define, компилируется следующий за директивой код |
eifndef Label | Если идентификатор Label не определен директивой ((define, компилируется следующий за директивой код |
Kelif Condition | Эта директива работает как сочетание директив ((else l(if и позволяет избежать многочисленных вложенных ((if. Если предыдущее условие не выполнилось, следует проверить условие Condition |
0 ...
143144145146147148149 ...
159