- •Вопрос 1
- •Вопрос 2
- •2.4. Константы
- •2.4.1. Целые константы
- •2.4.2. Длинные целые константы
- •2.4.3. Символьные константы
- •2.4.4. Вещественные константы
- •2.4.5. Перечислимые константы
- •2.5. Текстовые константы
- •Вопрос 3
- •2.2. Идентификаторы (имена)
- •2.3. Ключевые слова
- •3.2. Тип
- •Вопрос 4
- •2.3. Данные целого типа
- •Вопрос 5
- •Вопрос 6
- •11.1. Представление символьной строки при помощи одномерного массива
- •11.2. Указатель на символьную строку
- •11.3. Ввод/вывод символьных строк
- •11.4. Массивы символьных строк
- •11.5. Функции работы состроками
- •Вопрос 7
- •3.1. Операции
- •3.1.1. Арифметические операции
- •5.2. Унарные операции
- •5.5. Операции сдвига
- •5.6. Операции отношения
- •5.7. Операции равенства
- •5.8. Побитная операция и
- •5.13. Условная операция
- •3.1.2. Операция присваивания
- •Вопрос 8
- •7.3. Условный оператор if
- •7.7. Оператор выбора switch
- •7.8. Оператор break
- •7.9. Оператор continue
- •7.10. Оператор возврата return
- •6.1.2. Формы оператора if
- •6.1.3. Оператор выбора switch
- •Вопрос 9
- •7.4. Оператор цилка while
- •7.5. Оператор цикла do
- •7.6. Оператор цикла for
- •6.2.1. Оператор while
- •6.2.2. Оператор for
- •6.2.3. Оператор do-while
- •6.3.4. Применение оператора goto и меток
- •Вопрос 11
- •5.2.1. Основные форматы
- •5.2.2. Модификации форматов
- •5.3. Функция форматированного ввода scanf()
- •Вопрос 12
- •12. Работа с файлами в языке c. Функции работы с файлами. Буферизованный ввод-вывод.
- •Вопрос 13
- •1.6.2. Объявления функций
- •1.6.3. Время жизни и область видимости программных объектов
- •1.6.4. Инициализация глобальных и локальных переменных
- •Вопрос 14
- •Вопрос 15
- •Вопрос 16
- •Вопрос 17
- •Вопрос 18
- •Вопрос 19
- •Вопрос 20
7.8. Оператор break
Оператор
break ;
приводит к завершению самого внутреннего оператора while, do, for или switch; управление передается на оператор, следующий за завершенным.
7.9. Оператор continue
Оператор
continue ;
передает управление на конец текущей итерации самого внутреннего цикла while, do или for и вызывает начало следующей. Более точно, в каждом из операторов
while (...) { do { for (...) {
. . . . . . . . .
contin: ; contin: ; contin: ;
} } while (...); }
действие
continue ;
эквивалентно выполнению
goto contin;
То, что следует за contin:, является пустым оператором (см. пункт Пустой оператор).
7.10. Оператор возврата return
Функция возвращает управление вызвавшей ее функции при помощи оператора return, который имеет одну из двух форм:
return ;
return выражение ;
В первом случае возвращаемое значение не определено; во втором случае вызывающей функции возвращается значение выражения. Если требуется, значение выражения преобразуется, как при присваивании, к типу текущей функции. Попадание управления на конец функции эквивалентно выполнению оператора return без возвращаемого значения.
7.11. Оператор перехода goto
Управление можно передавать безусловно при помощи оператора
goto идентификатор ;
Идентификатор должен быть меткой (см. следующий пункт), расположенной в текущей функции.
7.12. Оператор с меткой
Любому оператору может предшествовать префикс вида:
идентификатор :
служащий для того, чтобы описать идентификатор как метку. Единственное использование метки - обозначение места перехода для соответствующего оператора goto. Областью видимости метки является текущая функция за исключением всех вложенных блоков, в котором данный идентификатор описывается повторно (см. раздел ПРАВИЛА ВИДИМОСТИ).
7.13. Пустой оператор
Пустой оператор имеет вид
;
Пустой оператор удобно использовать для того, чтобы помещать метку непосредственно перед } в составном операторе или задавать пустое тело циклического оператора.
Условные операторы
6.1.1. Логические выражения
При выполнении многих операторов вначале анализируются данные (вычисляется некоторое логическое выражение), и в зависимости от полученного результата выбирается та или иная ветвь вычислительного процесса.
Логическое выражение (ЛВ) – это выражение, принимающее одно из двух значений: истина или ложь.
В отличие от других языков программирования в C(C89) нет специального типа для логических переменных и констант. Однако результат у ЛВ есть всегда. В языкеC, если значение ЛВ равно нулю, то оно ложно, любое ненулевое ЛВ истинно.
Простейшие ЛВ – любые выражения (в частности, переменная, арифметическое выражение).
Отношения (следующий уровень ЛВ) позволяют сравнивать данные (табл. 6.1).
Отношение имеет структуру: V1OPV2;
где V1,V2 – выражения,OP – знак операции отношения.
Операции <, <=, >, >= являются операциями одного уровня и выполняются в порядке их написания слева/направо; операции == и != имеют более низкий приоритет.
Следующий уровень ЛВ – логические выражения с использованием логических операций И(&&), ИЛИ(||), НЕ (!).В круглых скобках представлены обозначения этих операций вC.
Таблица 6.1.
Алгебраическая запись |
Запись в C |
< |
< |
≤ |
<= |
> |
> |
≥ |
>= |
= |
== |
≠ |
!= |
Правила записи и результат обычные. Иерархия операций, если порядок их выполнения в ЛВ не полностью определен круглыми скобками, представлена в табл. 6.2.
Таблица 6.2.
Уровень иерархии |
Операция |
1 |
( ) |
2 |
!(НЕ)++ –– |
3 |
*(умножение)/% |
4 |
+– |
5 |
< <= > >= |
6 |
== != |
7 |
&&(И) |
8 |
||(ИЛИ) |
9 |
= *= /= %= += –= |
К началу главы