- •1. Модель компьютера для программиста
- •2.Программное обеспечение. Компиляторы и интерпретаторы
- •3. Создание программ. Жизненный цикл программного обеспечения.
- •4. Транслятор и компоновщик. Библиотека языка Си.
- •5. Базовые элементы языка Си. Алфавит и словарь языка.
- •6. Правила образования идентификаторов. Ключевые слова и имена. Символы операций и разделителей.
- •7. Литералы. Структура предложений в Си.
- •9.Константы и переменные в Си
- •10. Типы данных и их роль в языке Си
- •11. Стандартные скалярные типы данных
- •11.Массивы
- •Структуры
- •14 .Арифметические выражения и операции
- •15. Выражение
- •16. Выражения присваивания.
- •17. Условные и логические операции.
- •18. Выражения с указателями
- •19. Постфиксное выражение
- •21.Приоритет операций и скобочная структура выражений
- •22. Структура программы на Си
- •23. Базовые операторы языка Си
- •24. Условные операторы языка Си.
- •25. Оператор Switch . Организация множественного выбора.
- •26. Оператор return
- •27. Операторы цикла
- •28. Оператор continue как средство управления циклом
- •30. Указатели
- •31. Массивы. Синтаксис объявления.
- •32. Основные свойства массивов
- •Массив и константный указатель
- •34. Символьная строка и массив символов
- •37. Многомерный массив
- •38. Многомерные массивы и указатели
- •39. Директива процессора #define
- •40. Директива #include
- •Предварительная инициализация параметров функции
- •Предварительная инициализация параметров функции 2
- •43. Вызовы функций
- •44. Массивы и параметры
- •48. Объявление функции
- •50. Преобразование основных типов.
- •51. Тип функции
- •52. Стандартные функции библиотеки Си
15. Выражение
Предложения в C++ называются операторами. Подобно тому, как в естественном языке предложение строится из различных частей предложения и даже отдельных предложений (сложные предложения), оператор C++ состоит из выражений и может содержать вложенные операторы. Выражение является частью оператора и строится на основе множества символов операций, ключевых слов и операндов. Операндами являются литералы и имена. Одной из характеристик выражения является его значение, которое вычисляется на основе значений операндов по правилам, задаваемым операндами.
Переменные и константы всех типов используются в выражениях. Выражение задает порядок выполнения действий над элементами данных и состоит из операндов (констант, переменных, обращениям к функциям и т.д.), круглых скобок и знаков операций. Операции определяют действия, которые надо выполнять над операндами. В простейшем случае выражение может состоять из одной переменной или константы. Круглые скобки ставятся так же, как и в обычных арифметических выражениях для управления ассоциативностью и порядком выполнения операций. Использование круглых скобок даже там, где в них не необходимости с точки зрения синтаксиса, вполне приемлемо и даже полезно, если они делают порядок вычислений визуально более четким и понятным.
В языке различают несколько типов операторов. Каждый из них выполняет в программе строго определённые функции. Так, операторы объявления служат для ввода имён в программу. Процедура ввода имени переменной предполагает не только создание отличного от любого ключевого слова идентификатора, но и кодирование дополнительной информации о характеристиках объекта, с которым будет связано объявляемое имя. К характеристикам объекта относятся тип объекта, класс памяти, время жизни объекта, множество других свойств, представляемых различными модификаторами.
Каждая категория операторов осуществляет действия над данными определенного типа и в соответствии с теми или иными правилами. Операции в С подразделяются на арифметические, логические, строковые, поразрядные, отношений и условий и другие.
16. Выражения присваивания.
В С++ часто применяется сокращенная запись операторов присваивания с арифметическими выражениями, в которых переменная изменяет свое значение прибавлением, вычитанием, умножением или делением на какое либо число. Этот способ записи можно представить следующей обобщенной формулой:
Переменная Операция = Выражение
Что эквивалентно следующей записи:
. Переменная = Переменная Операция Выражение
17. Условные и логические операции.
Логические операции К логическим операциям относятся:
Операции логического И (&&) Операции логического ИЛИ (||) Операции логического НЕ(!)
Меньше (<) Больше (>) Меньше или равно (<=) Больше или равно (>=)
Равно (= =) Не равно (!=) Условная операция(?:)
Операнды логических операций могут быть целого, действительного типа и типа указателя, при этом в каждой операции могут участвовать операнды различных типов. Операнды логических выражений вычисляются слева направо. Если значение первого операнда достаточно чтобы определить результат операции, то второй операнд не вычисляется. Логические операции не выполняют стандартные арифметические преобразования. Они оцениваю каждый операнд с точки зрения его эквивалентности нулю. Результатом логической операции является 0 или 1. Тип результата int.
Логические бинарные операции объединяют выражения сравнения со значениями истина (!=0) и ложь (==0). Результат операций приведён в следующей таблице
Первый операнд Второй операнд && ||
Истина истина 1 1
Истина ложь 0 1
Ложь истина 0 1
Ложь ложь 0 0
Операции сравнения определены на множестве операндов арифметического типа. Допускается также сравнение значений адресов в памяти ЭВМ. Следующая таблица демонстрирует зависимость результата сравнения от значений операндов Val1 и Val2. Результат сравнения всегда целочисленный и может принимать одно из двух значений: 0 и 1. При этом 0 означает ложь, а 1 - истину.
Операция 1, если 0, если
< Val1 меньше Val2 Val1 больше или равно Val2
<= Val1 меньше или равно Val2 Val1 больше Val2
> Val1 больше Val2 Val1 меньше или равно Val2
>= Val1 больше или равно Val2 Val1 меньше Val2
== Val1 равно Val2 Val1 не равно Val2
!= Val1 не равно Val2 Val1 равно Val2
Условная операция это тернарная операция, которая имеет следующий синтаксис:
Операнд_1 ? Операнд_2 : Операнд_3;
Операнд_1 должен быть целого или плавающего типа или типа указатель. Он оценивается с точки зрения эквивалентности 0.
Если Операнд_1 не равен нулю, то выполняется Операнд_2, и его значение является результатом операции. Если Операнд_1 равен нулю, то выполняется Операнд_3, и его значение будет результатом операции.
Тип результата зависит от либо от типа Операнда_2 либо от Операнда_3:
Если Операнд_2 или Операнд_3 является целым или действительным типом, то выполняются обычные арифметические преобразования и типом результата будет полученный результат преобразований.
Если Операнд_2 или Операнд_3 имеют один и тот же тип, то и результат будет того же типа.
Если один операнд является указателем на объект, а другой тип void, то указатель на объект преобразуется к типу void, который и будет типом результата.
Если один из операндо является указателем, а другой – константным выражением со значением 0, то типом результата будет тип указателя.
?: Условная операция.
Единственная в C++ операция с тремя операндами. Первое выражение-операнд располагается слева от знака ?, второе выражение-операнд располагается между знаками ? и :, третье выражение-операнд - справа от знака :. Выполнение условной операции начинается с вычисления значения самого левого операнда. Если его значение оказывается отличным от 0, то вычисляется значение второго операнда, которое и становится значением выражения. Если значение первого операнда оказывается равным 0, то вычисляется значение третьего операнда, и тогда это значение становится значением выражения.
(x < 10)? x = 25: x++
