Типы данных языка С++, основные логические операторы языка

Содержание

Слайд 2

План лекции

Типы данных
Массивы и структуры
Артфметические операции языка С
Логические операции языка С
Операторы сравнения
Преобразование

План лекции Типы данных Массивы и структуры Артфметические операции языка С Логические
типов данных

Слайд 3

Имена переменных и констант

Могут включать
латинские буквы (A-Z, a-z)
знак подчеркивания _
цифры 0-9
НЕ могут

Имена переменных и констант Могут включать латинские буквы (A-Z, a-z) знак подчеркивания
включать
русские буквы
пробелы
скобки, знаки +, =, !, ? и др.

Слайд 4

Объявдение констант

Константы объявляются через ключевое слово #define
Примеры
#define my_const 10 //Целочисленная константа

Объявдение констант Константы объявляются через ключевое слово #define Примеры #define my_const 10
с именем my_const и значением 10
#define f_const 3.2 // Вещественная константа с именем my_const и значением 10

Слайд 5

Типы данных целых чисел

bool 8 bits 0 to 1
uint8_t 8 bits

Типы данных целых чисел bool 8 bits 0 to 1 uint8_t 8
0 to 255
int8_t 8 bits -128 to 127
int16_t 16 bits -32768 to 32767
uint16_t 16 bits 0 to 65535
int32_t 32 bits -231 to 231-1
uint32_t 32 bits 0 to 232-1
int64_t 64 bits -263 to 263-1
uint64_t 64 bits 0 to 264-1

Слайд 6

Типы данных вещественных чисел

float 32 bits ±1.18E-38 to ±3.39E+38
double 64 bits

Типы данных вещественных чисел float 32 bits ±1.18E-38 to ±3.39E+38 double 64 bits ±2.23E-308 to ±1.79E+308
±2.23E-308 to ±1.79E+308

Слайд 7

Описание переменных

При описании переменных указывается ее тип, имя и, если необходимо, начальное

Описание переменных При описании переменных указывается ее тип, имя и, если необходимо,
значение
Примеры
uint8_t per;
uint32_t n, k;
uint8_t m=3;
float d=2.1;

Слайд 8

Массивы

Конечная именованная последовательность однотипных величин называется массивом. Описание массива в программе отличается

Массивы Конечная именованная последовательность однотипных величин называется массивом. Описание массива в программе
от описания простой переменной наличием после имени квадратных скобок, в которых задается количество элементов массива (размерность).
Элементы массива нумеруются с нуля.
Синтаксис:
тип-данных имя-массива [размер-массива]
float a [10]; //Пример описания массива из 10 вещественных чисел
uint8_t a[2][3]={{1,3,5},{1,2,3}}; // Двумерный массив с идентификацией начальных значений

Слайд 9

Структуры

В отличие от массива, все элементы которого однотипны, структура может содержать элементы

Структуры В отличие от массива, все элементы которого однотипны, структура может содержать
разных типов. В языке С++ структура является видом класса и обладает всеми его свойствами.
Синтаксис:
struct [имя типа]
{
тип_1 элемент_1;
тип_2 элемент_2;

тип_n элемент_n;
} [ список_описателей ];

Слайд 10

Пример структуры

struct {
int16_t s; /* сохранено в байтах 0 и 1 */
uint8_t

Пример структуры struct { int16_t s; /* сохранено в байтах 0 и
c; /* сохранено в байте 2 */
uint32_t l; /* сохранено в байтах 4, 5 и 6 */
uint8_t c2; /* сохранено в байте 7 */
} s;
Условное представление структуры в памяти

Слайд 11

Оператор присваивания

Общая структура:

Арифметическое выражение может включать
константы (постоянные)
имена переменных
знаки арифметических операций:
+ -

Оператор присваивания Общая структура: Арифметическое выражение может включать константы (постоянные) имена переменных
* / %
вызовы функций
круглые скобки ( )

имя переменной = выражение;

куда записать

что

Слайд 12

Примеры использования арифметических команд

int32_t a, b;
float x, y;
a =

Примеры использования арифметических команд int32_t a, b; float x, y; a =
5; //присвоение константы 5
b = 25; //присвоение константы 25
x = 2.0*(0.1 + y); //вычисление зн. выражения
a = b + (int32_t)x; //присвоение с преобразованием типа переменной х - (int32_t)x

Слайд 13

При делении целых чисел остаток отбрасывается!
int8_t b,a = 7;
float x;
b = a

При делении целых чисел остаток отбрасывается! int8_t b,a = 7; float x;
/ 4;
b = 4 / a;
x = float(a) / 4;

1

0

1.75

Слайд 14

Сокращенная запись операций в Си

инкремент

декремент

a = a + 1;

a++;

a = a +

Сокращенная запись операций в Си инкремент декремент a = a + 1;
b;

a += b;

a = a - 1;

a--;

a = a – b;

a -= b;

a = a * b;

a *= b;

a = a / b;

a /= b;

a = a % b;

a %= b;

Слайд 15

Примеры в программ

int32_t a, b;
a = 5;
b = a

Примеры в программ int32_t a, b; a = 5; b = a
+ 2;
a = (a + 2)*(b – 3);
b = a / 5;
a = a % b;
a++;
b = (a + 14) % 7;

Слайд 16

Поразрядные операции

В C имеются операции, пригодные для обработки отдельных разрядов переменных. Такие

Поразрядные операции В C имеются операции, пригодные для обработки отдельных разрядов переменных.
операции называются поразрядными (операции с битами). Они позволяют изменять, считывать и сдвигать разряды в переменных. При этом переменная рассматривается не как число, а как комбинация двоичных разрядов, т.е. как логический код. Операция выполняется отдельно над каждым разрядом. Перечень поразрядных операций приведён в следующей таблице.

Слайд 18

Существует краткая форма поразрядных операций присваивания. Например:
x &= y вместо x =

Существует краткая форма поразрядных операций присваивания. Например: x &= y вместо x
x & y
Поразрядные операции можно использовать только с целочисленными типами данных, к вещественным числам их применять нельзя!!!
Для выполнения операции логического И используется символ & следующим образом:
uint8_t var = 153; //двоичная запись 10011001
uint8_t mask = 0x11; // число 00010001 (число 17)
uint8_t res = var & mask; // результат 00010001

Слайд 19

В ходе выполнения двоичной операции ИЛИ результирующий бит устанавливается равным 1, если

В ходе выполнения двоичной операции ИЛИ результирующий бит устанавливается равным 1, если
хотя бы один бит соответствующих операндов равен 1. В противном случае, результирующее значение равно 0. Для выполнения данной логической операции используется символ ‘|’ как показано ниже:
uint8_t var = 153; //двоичная запись 10011001
uint8_t mask = 0x11; // число 00010001
uint8_t res = var | mask; // результат 10011001

Слайд 20

При операции исключающее ИЛИ результирующий бит устанавливается равным 0, если оба бита

При операции исключающее ИЛИ результирующий бит устанавливается равным 0, если оба бита
соответствующих операндов равны 1, и 1 в противном случае. Для выполнения данной операции в языке С++ используется символ ‘^’:
uint8_t var = 153; //двоичная запись 10011001
uint8_t mask = 0x11; // число 00010001
uint8_t res = var ^ mask; // результат 10001000

Слайд 21

При выполнении операции поразрядного отрицания все биты, равные 1, устанавливаются равными 0,

При выполнении операции поразрядного отрицания все биты, равные 1, устанавливаются равными 0,
а все биты равные нулю, устанавливаются равными 1. Для выполнения данной операции в языке С++ используется символ ‘~’ как показано в следующем примере:
uint8_t var = 153; //двоичная запись 10011001
uint8_t not = ~var; //результат 01100110

Слайд 22

Операция смещения битов влево определяется знаком << и смещает биты значения левого

Операция смещения битов влево определяется знаком 10001010 получится результат 00101000. Здесь каждый
операнда на шаг, определенный правым операндом, например, в результате выполнения команды
10001010 << 2;
получится результат 00101000. Здесь каждый бит перемещается влево на две позиции, а появляющиеся новые биты устанавливаются нулевыми.
uint8_t var = 1;
var = var <<1; //00000010 – значение 2
var <<= 1; //00000100 – значение 4

Слайд 23

Аналогично, при операции смещения вправо >> происходит сдвиг битов переменной на шаг,

Аналогично, при операции смещения вправо >> происходит сдвиг битов переменной на шаг,
указанный в правом операнде. Например, сдвиг
00101011 >> 2;
приведет к результату 00001010. Здесь, также как и при сдвиге влево, новые появляющиеся биты устанавливаются равными нулю. В результате выполнения последовательностей операций
uint8_t var = 128; //1000000
var = var >> 1; //0100000 – значение 64
var >>= 1; //0010000 – значение 32

Слайд 24

Примеры ввода значений переменных

uint8_t x;
x=(1<<0)|(1<<3); //Задается значение переменной х, у которой 0

Примеры ввода значений переменных uint8_t x; x=(1
и 3-й разряды установлены в «1», а остальные разряды равны «0».

Слайд 25

Операции отношения

Все операции отношения используются для сравнения значений переменных или выражений. Эти

Операции отношения Все операции отношения используются для сравнения значений переменных или выражений.
операции вырабатывают значение булевского типа: ИСТИНА (true) или ЛОЖЬ (false). Численных эквивалентов для этих значений в языке C# не существует. Перечень операций приведён в таблице

Слайд 26

Используются в сочетании с операторами проверки условия

Используются в сочетании с операторами проверки условия

Слайд 27

Логические операции

К логическим операциям относятся операция логического И (&&) и операция логического

Логические операции К логическим операциям относятся операция логического И (&&) и операция
ИЛИ (||). Операнды логических операций могут быть целого типа, плавающего типа или типа указателя, при этом в каждой операции могут участвовать операнды различных типов.
Логические операции не вызывают стандартных арифметических преобразований. Они оценивают каждый операнд с точки зрения его эквивалентности нулю. Результатом логической операции является 0 или 1, тип результата int.
Операция логического И (&&) вырабатывает значение 1, если оба операнда имеют нулевые значения. Если один из операндов равен 0, то результат также равен 0. Если значение первого операнда равно 0, то второй операнд не вычисляется.

Слайд 28

Логические операции

Операция логического ИЛИ (||) выполняет над операндами операцию включающего ИЛИ. Она

Логические операции Операция логического ИЛИ (||) выполняет над операндами операцию включающего ИЛИ.
вырабатывает значение 0, если оба операнда имеют значение 0, если какой-либо из операндов имеет ненулевое значение, то результат операции равен 1. Если первый операнд имеет ненулевое значение, то второй операнд не вычисляется.
Логические операторы используются для объединения нескольких условие в единое. Они применяются при применении команд проверки условий
Пример
(x<20)&&(x>4)
(y>5)||(y<0)

Слайд 29

Операция «приведение к типу»

Эта операция используется тогда, когда необходимо преобразовать значение одного

Операция «приведение к типу» Эта операция используется тогда, когда необходимо преобразовать значение
типа в значение другого типа. Это так называемое явное преобразование типов. Операция задаётся указанием имени типа в круглых скобках. Например, (byte) – преобразовать в тип байт. Рассмотрим пример:
int32_t n = 10;
double z;
z = n; //Неявное преобразование
n = (int32_t) z; //Явное преобразование
Имя файла: Типы-данных-языка-С++,-основные-логические-операторы-языка.pptx
Количество просмотров: 49
Количество скачиваний: 0