
- •Основные понятия алгоритмизации.
- •2. Служебные слова
- •3. Основные понятия типов данных
- •4 .Описание переменных
- •5. Описание констант
- •6.Операции отношений
- •7. Логические операции
- •8. Операции присваивания
- •9. Операции явного преобразования типа
- •10. Операции определения размера sizeof
- •11.Операция «запятая» и «?»
- •12. Операция получения адреса (&) и раскрытия ссылки(*)
- •13. Знаки операций () и []
- •14. Директива #define
- •15. Директива #include
- •16. Структура программы
- •17. Форматированный вывод на экран. Форматированный ввод с клавиатуры
- •19. Условный оператор
- •20. Оператор выбора.
- •Цикл с предусловием
- •22.Цикл с постусовием
- •23.Цикл с параметром
- •24. Оператор continue
- •25.Оператор Goto
- •26. Определение функции
- •27. Прототип функции
- •28.Использование библиотечных функций
- •29. Основные понятия массивов
- •30. Одномерные и многомерные массивы
- •31. Указатели и массивы. Массив как параметр функции
- •32. Символьные строки
- •33. Строки как параметр функции
6.Операции отношений
В Си используется тот же набор операций отношения, что и в Паскале. Следует лишь обратить внимание на различие в записи операций «равно» и «не равно».
< меньше,
<= меньше или равно,
> больше,
>= больше или равно,
равно,
!= не равно.
Как уже говорилось раньше, в стандарте Си нет логического типа данных. Поэтому результатом операции отношения является целое число: если отношение истинно — то 1, если ложно — то 0.
Примеры отношений:
а<0, 101>=105, 'а'=='А\ 'а'!='А'
Результатом второго и третьего отношений будет 0 — ложь; результат четвертого отношения равен 1 — истина; результат первого отношения зависит от значения переменной а.
7. Логические операции
Три основные логические операции в языке Си записываются иначе, чем в Паскале.
! операция отрицания (НЕ),
&& конъюнкция, логическое умножение (И),
| | дизъюнкция, логическое сложение (ИЛИ).
Правила их выполнения определяются таблицей истинности
Например, логическое выражение, соответствующее системе неравенств 0 <х< 1 в программе на Си запишется в виде следующего логического выражения:
х>0 & & х<1
Обратите внимание на то обстоятельство, что здесь не понадобились круглые скобки для выделения операций отношения. В отличие от Паскаля, где операции отношения имеют самый низкий приоритет, в Си операции отношения старше конъюнкции и дизъюнкции. Помимо рассмотренных в Си имеются поразрядные логические операции. Эти операции выполняются над каждой парой соответствующих двоичных разрядов внутреннего представления операндов. Их еще называют битовыми логическими операциями. Знаки битовых логических операций:
183 & поразрядная конъюнкция (И),
| поразрядная дизъюнкция (ИЛИ),
л поразрядное исключающее ИЛИ,
~ поразрядное отрицание (НЕ).
Битовые логические операции вместе с операциями поразрядного сдвига влево (<<) и вправо (>>) позволяют добраться до каждого бита внутреннего кода. Чаще всего такие действия приходится выполнять в системных программах.
8. Операции присваивания
То, что присваивание в Си является операцией, а не оператором, оказывается, наверное, самой большой неожиданностью для знатоков Паскаля. А между тем это действительно так! Знак операции присваивания =. Следствием отмеченного факта является то, что присваивание, как любой другой знак операции, может несколько раз входить в выражение. Например:
а=ю=с=х+у;
Присваивание имеет самый низкий приоритет (ниже только у операции «запятая»). Кроме того, операция присваивания — правоассоциативная. Это значит, что несколько подряд расположенных присваиваний выполняются справа налево. Поэтому в приведенном выше выражении первой выполнится операция сложения, затем переменной с присвоится значение суммы, затем это значение присвоится переменной / > и в конце — переменной а. В языке Си имеются дополнительные операции присваивания, совмещающие присваивание с выполнением других операций. Среди них: +=, -=, /=, *=, %=. Приоритет у них такой же, как и у простого присваивания.