Операторы отношения и логические
В выражениях оператор отношения и логический оператор слово отношение обозначает взаимоотношение двух величин, т.е. результат сравнения, а слово логический обозначает способ, которым объединяются истинное и ложное значения.
В С++ результат операции отношения или логической образует результат типа bool или другими словами результат операции отношения или логической всегда равен либо true либо false.
Таблица 3 Операторы отношения и логические в С++
Операторы отношения | Значение |
< | Меньше чем |
<= | Меньше чем или равно |
> | Больше чем |
>= | Больше чем или равно |
== | Равно |
!= | Не равно |
Логические операторы | |
&& | И |
|| | ИЛИ |
! | НЕ |
Оба типа операторов и логические и отношения имеют более низкий приоритет, чем арифметические операторы. Это означает, что выражение 10 > 1+12 даёт тот же результат что и вариант 10 > (1+12), результат, разумеется, ложен.
С помощью логических операторов можно объединить любое количество операторов отношения, например:
var > 15||! (10 < count) &&3 <= item // объединены три оператора отношения
В приведённой ниже таблице показаны относительные приоритеты операторов отношения и логических операторов.
Высший | ! |
> >= < <= | |
== != | |
&& | |
Низший | || |
Оператор присваивания
Оператор присваивания обозначается одиночным знаком равенства. Действие оператора в С++ практически такое же как ив других языках. Его общая форма записи:
|
|
переменная = выражение
Здесь переменная принимает значение используемого выражения. Оператор в С++ позволяет создавать цепочку присваиваний, например:
int x, y, z;
x= y = z =100; // присвоить x, y, z значение 100
Составные присваивания
В С++ предусмотрены специальные операторы составных присваиваний, которые упрощают написание некоторых предложений, например,
x = x + 10; может быть записано x += 10;
Операторная пара += указывает компилятору С++, что переменной x следует присвоить значение x плюс 10
x = x - 100; равносильно x -= 100;
Из-за того, что предложения составного присваивания короче своих развёрнутых эквивалентов, операторы составного присваивания иногда называют операторами краткого присваивания. Операторы составного присваивания обладают двумя достоинствами. Во-первых они более компактны, а во-вторых могут порождать более эффективный выполнимый код, т.к. при их использовании операнд оценивается лишь один раз. Поэтому операторы составного присваивания используются в профессиональном программировании на С++.
Примечание
|
|
В операторах присваивания в тех случаях, когда переменные одного типа сопоставляются с переменными другого типа, выполняется операция преобразования типов. Правило преобразования типа весьма простое: значение правой стороны операции присваивания (т.е. стороны выражения) преобразуется в тип левой стороны (переменной-мишени), например:
int x;
char ch;
float f;
ch = x; // в ch помещаются младшие 8-бит
x = f; // в х помещается целая часть f
f=ch; //в f преобразуется 8-битовое целое из ch
f =x // в f преобразуется целое из х
Выражения
Операторы, переменные и литералы используются в качестве компонентов выражений.
В тех случаях, когда переменные различных типов смешиваются в выражениях, они преобразуются к одному типу. Прежде всего, все значения char и short int автоматически повышаются до int. Далее все операнды повышаются до самого высокого типа.
Значения типа bool , в случаях их использования в целочисленных выражениях, автоматически преобразуются в целые 0 или 1. Когда целочисленный результат преобразуется в тип bool, 0 превращается в false, а любое не нулевое значение в - true.
Приведение типа
В С++ предусмотрена возможность принудительного присваивания выражению конкретного типа с помощью конструкции, называемой приведением типа. Общая форма конструкции такова:
|
|
(тип) выражение
Здесь тип - это мишень, в который требуется преобразовать выражение, например, при необходимости удостовериться, что выражение х/2 при вычислении даёт float , необходимо написать:
(float) x / 2;
Приведения считаются операторами. В качестве оператора приведение является одноместным (унарным) и имеет тот же относительный приоритет, что и любой одноместный оператор.
В некоторых случаях приведение может оказаться чрезвычайно полезным. Например, в качестве счётчика цикла естественно использовать целочисленную переменную, однако может понадобиться выполнять с ней какие-либо вычисления, приводящие к дробному результату, как это делается в приводимой ниже программе.
// Задание 4_EX_PRT.cpp: определяет точку входа для консольного приложения.
// EX_PRT.cpp: главный файл проекта.
// Демонстрация приведения типа
// Назовите этот файл EX_PRT.cpp
#include "stdafx.h"
#include <iostream>
using namespace std;
// C++ программа начинает своё выполнение с функции main()
int main()
{
setlocale(LC_ALL, "Russian");
int i;
for (i = 1; i <= 10; ++i)
|
|
cout << i << " / 2 равно: " << (float)i / 2 << "\n";
return 0;
}
Результат работы программы позволяет увидеть дробную часть при делении на 2 целочисленной переменной.
Дата добавления: 2019-07-15; просмотров: 208; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!