🗊Скачать презентацию Язык Си: приведение типов, операции. Потоковый ввод-вывод

Категория: Информатика
Нажмите для полного просмотра!
Скачать презентацию Язык Си: приведение типов, операции. Потоковый ввод-вывод , слайд №1Скачать презентацию Язык Си: приведение типов, операции. Потоковый ввод-вывод , слайд №2Скачать презентацию Язык Си: приведение типов, операции. Потоковый ввод-вывод , слайд №3Скачать презентацию Язык Си: приведение типов, операции. Потоковый ввод-вывод , слайд №4Скачать презентацию Язык Си: приведение типов, операции. Потоковый ввод-вывод , слайд №5Скачать презентацию Язык Си: приведение типов, операции. Потоковый ввод-вывод , слайд №6Скачать презентацию Язык Си: приведение типов, операции. Потоковый ввод-вывод , слайд №7Скачать презентацию Язык Си: приведение типов, операции. Потоковый ввод-вывод , слайд №8Скачать презентацию Язык Си: приведение типов, операции. Потоковый ввод-вывод , слайд №9Скачать презентацию Язык Си: приведение типов, операции. Потоковый ввод-вывод , слайд №10Скачать презентацию Язык Си: приведение типов, операции. Потоковый ввод-вывод , слайд №11Скачать презентацию Язык Си: приведение типов, операции. Потоковый ввод-вывод , слайд №12Скачать презентацию Язык Си: приведение типов, операции. Потоковый ввод-вывод , слайд №13Скачать презентацию Язык Си: приведение типов, операции. Потоковый ввод-вывод , слайд №14Скачать презентацию Язык Си: приведение типов, операции. Потоковый ввод-вывод , слайд №15Скачать презентацию Язык Си: приведение типов, операции. Потоковый ввод-вывод , слайд №16Скачать презентацию Язык Си: приведение типов, операции. Потоковый ввод-вывод , слайд №17Скачать презентацию Язык Си: приведение типов, операции. Потоковый ввод-вывод , слайд №18Скачать презентацию Язык Си: приведение типов, операции. Потоковый ввод-вывод , слайд №19Скачать презентацию Язык Си: приведение типов, операции. Потоковый ввод-вывод , слайд №20Скачать презентацию Язык Си: приведение типов, операции. Потоковый ввод-вывод , слайд №21Скачать презентацию Язык Си: приведение типов, операции. Потоковый ввод-вывод , слайд №22Скачать презентацию Язык Си: приведение типов, операции. Потоковый ввод-вывод , слайд №23Скачать презентацию Язык Си: приведение типов, операции. Потоковый ввод-вывод , слайд №24Скачать презентацию Язык Си: приведение типов, операции. Потоковый ввод-вывод , слайд №25Скачать презентацию Язык Си: приведение типов, операции. Потоковый ввод-вывод , слайд №26Скачать презентацию Язык Си: приведение типов, операции. Потоковый ввод-вывод , слайд №27Скачать презентацию Язык Си: приведение типов, операции. Потоковый ввод-вывод , слайд №28Скачать презентацию Язык Си: приведение типов, операции. Потоковый ввод-вывод , слайд №29

Содержание


Слайды и текст этой презентации


Слайд 1


Скачать презентацию Язык Си: приведение типов, операции. Потоковый ввод-вывод , слайд №1
Описание слайда:

Слайд 2





Приведение типов
Переменной (параметру функции, результату функции и т. п.) присваивается значение, имеющее не её тип:
char K = 100; short P = K;
long long T = 100L;
float R = 3;
double Z = R;
float Bound() {return 10;}
Это возможно, т. к. программа произведёт приведение типов — преобразует (приведёт) передаваемое значение к требуемому типу.
Приведение типов выполняется автоматически.
Описание слайда:
Приведение типов Переменной (параметру функции, результату функции и т. п.) присваивается значение, имеющее не её тип: char K = 100; short P = K; long long T = 100L; float R = 3; double Z = R; float Bound() {return 10;} Это возможно, т. к. программа произведёт приведение типов — преобразует (приведёт) передаваемое значение к требуемому типу. Приведение типов выполняется автоматически.

Слайд 3





Приведение типов
Возможны проблемы:
short P = 500; char K = P;
Значение может выходить за рамки назначаемого типа — переполнение.
При этом:
либо геренируется ошибка при выполнении программы (Runtime Error);
либо в результате получается неверное значение.
Контролируйте приведение типов.
Описание слайда:
Приведение типов Возможны проблемы: short P = 500; char K = P; Значение может выходить за рамки назначаемого типа — переполнение. При этом: либо геренируется ошибка при выполнении программы (Runtime Error); либо в результате получается неверное значение. Контролируйте приведение типов.

Слайд 4





Приведение типов
Приведения, не вызывающие проблем:
«коротких» целочисленных типов — к более «длинным» с такой же знаковостью (расширение типа):
short ← char,
 unsigned long long ← unsigned short;
«коротких» вещественных типов — к более «длинным» (расширение типа):
double ← float, long double ← double;
целых типов — к вещественным достаточной точности:
float ← char, float ← short, double ← long.
Описание слайда:
Приведение типов Приведения, не вызывающие проблем: «коротких» целочисленных типов — к более «длинным» с такой же знаковостью (расширение типа): short ← char, unsigned long long ← unsigned short; «коротких» вещественных типов — к более «длинным» (расширение типа): double ← float, long double ← double; целых типов — к вещественным достаточной точности: float ← char, float ← short, double ← long.

Слайд 5





Приведение типов
Возможны переполнения при приведении:
«длинных» числовых типов — к более «коротким» (сужение типа):
char ← long (500), float ← double (7.5E+50);
беззнаковых целочисленных типов — к знаковым целочисленным:
signed short ← unsigned short (40000);
знаковых целочисленных типов — к беззнаковым целочисленным:
unsigned char ← signed char (-1).
Описание слайда:
Приведение типов Возможны переполнения при приведении: «длинных» числовых типов — к более «коротким» (сужение типа): char ← long (500), float ← double (7.5E+50); беззнаковых целочисленных типов — к знаковым целочисленным: signed short ← unsigned short (40000); знаковых целочисленных типов — к беззнаковым целочисленным: unsigned char ← signed char (-1).

Слайд 6





Приведение типов
Возможны потери точности при приведении:
вещественных типов — к целочисленным (отбрасывается дробная часть):
short ← float (6.9);
целочисленных типов — к вещественным недостаточной точности (потеря младших разрядов):
float ← long (1000000000),
double ← long long (200000000000000000).
Описание слайда:
Приведение типов Возможны потери точности при приведении: вещественных типов — к целочисленным (отбрасывается дробная часть): short ← float (6.9); целочисленных типов — к вещественным недостаточной точности (потеря младших разрядов): float ← long (1000000000), double ← long long (200000000000000000).

Слайд 7





Приведение типов
Можно явно указать тип, к которому нужно преобразовать значение (операция приведения типа):
char K = 120; P = (short)K;
Z = (unsigned long long)40000;
return (_Bool)F;
При приведении числового типа к типу _Bool значение 0 остаётся 0, любое другое — преобразуется к значению 1.
Явное указание типа не предотвращает возможных проблем.
Описание слайда:
Приведение типов Можно явно указать тип, к которому нужно преобразовать значение (операция приведения типа): char K = 120; P = (short)K; Z = (unsigned long long)40000; return (_Bool)F; При приведении числового типа к типу _Bool значение 0 остаётся 0, любое другое — преобразуется к значению 1. Явное указание типа не предотвращает возможных проблем.

Слайд 8





Операции
Группы операций (операторов):
арифметические (сложение, умножение…);
сравнения («равно», «меньше»…);
логические («не», исключающее «или»…);
битовые (сдвиги, битовые логические…);
присваивания;
прочие (индекс, разыменование, приведение типа, инкремент…).
Описание слайда:
Операции Группы операций (операторов): арифметические (сложение, умножение…); сравнения («равно», «меньше»…); логические («не», исключающее «или»…); битовые (сдвиги, битовые логические…); присваивания; прочие (индекс, разыменование, приведение типа, инкремент…).

Слайд 9





Свойства операций
Операнд — величина, над которой выполняется операция.
По числу операндов операции бывают:
унарные (1 операнд):
–F, (short)Z, i++;
бинарные (2 операнда):
a = b, 7 – t, K >> 4, L & 0xFC;
тернарные (3 операнда):
F ? a : b.
Описание слайда:
Свойства операций Операнд — величина, над которой выполняется операция. По числу операндов операции бывают: унарные (1 операнд): –F, (short)Z, i++; бинарные (2 операнда): a = b, 7 – t, K >> 4, L & 0xFC; тернарные (3 операнда): F ? a : b.

Слайд 10





Свойства операций
По способу записи унарные операции бывают:
префиксные — записываются перед операндом:
!K, (float)Y, ~6, –F;
постфиксные — записываются после операнда:
i++, j––.
Описание слайда:
Свойства операций По способу записи унарные операции бывают: префиксные — записываются перед операндом: !K, (float)Y, ~6, –F; постфиксные — записываются после операнда: i++, j––.

Слайд 11





Приоритет
Приоритет — свойство операции, влияющее на порядок вычисления её результата по отношению к другим операциям.
Приоритет выражается числом.
Больше число — выше приоритет.
Операция вычисляется только после того, как над её операндами вычислены все операции с бо́льшим приоритетом:
z = C + A * (long)x + B * (long)y;
Описание слайда:
Приоритет Приоритет — свойство операции, влияющее на порядок вычисления её результата по отношению к другим операциям. Приоритет выражается числом. Больше число — выше приоритет. Операция вычисляется только после того, как над её операндами вычислены все операции с бо́льшим приоритетом: z = C + A * (long)x + B * (long)y;

Слайд 12





Приоритет
Порядок вычисления, как правило, такой:
Унарные.
Арифметика, сдвиги.
Логика: сравнения, битовая, обычная.
Условие.
Присваивания.
Приоритет обычно соответствует «естественному» порядку их понимания.
Приоритет можно менять с помошью скобок (): R = (2 + 2) * 2;
Описание слайда:
Приоритет Порядок вычисления, как правило, такой: Унарные. Арифметика, сдвиги. Логика: сравнения, битовая, обычная. Условие. Присваивания. Приоритет обычно соответствует «естественному» порядку их понимания. Приоритет можно менять с помошью скобок (): R = (2 + 2) * 2;

Слайд 13





Ассоциативность
Ассоциативность — свойство операции, означающее порядок вычисления в цепочке операций с таким же приоритетом. Бывает:
слева направо: a + 7 – 2 + 6 – f — 2;
справа налево: a = b = c = d = 0.
На порядок вычисления операций влияют их приоритет и ассоциативность.
z = C + A * (long)x + B * (long)y;
Описание слайда:
Ассоциативность Ассоциативность — свойство операции, означающее порядок вычисления в цепочке операций с таким же приоритетом. Бывает: слева направо: a + 7 – 2 + 6 – f — 2; справа налево: a = b = c = d = 0. На порядок вычисления операций влияют их приоритет и ассоциативность. z = C + A * (long)x + B * (long)y;

Слайд 14





Ассоциативность
Ассоциативность операций обычно соответствует «естественному» порядку их понимания:
Унарные префиксные — справа налево.
Унарные постфиксные — слева направо.
Присваивания — справа налево.
Остальные бинарные — слева направо.
Описание слайда:
Ассоциативность Ассоциативность операций обычно соответствует «естественному» порядку их понимания: Унарные префиксные — справа налево. Унарные постфиксные — слева направо. Присваивания — справа налево. Остальные бинарные — слева направо.

Слайд 15





Арифметические операции
Определены 5 арифметических операций:
сложение (+):	5 + 6, a + b + c, 1.5 + K;
вычитание (–): 9.0 – 7.4, -6E-3 – A;
умножение (*): 10 * a, k * x;
деление (/): 100 / 3, Prime / 5, 4.2 / 0.6;
получение остатка от деления (деление по модулю) (%): 100 % 3, U % p.
Операнды целые или вещественные (для % — только целые).
Тип результата — «больший» из типов операндов.
Если появляется «минус», то знаковый.
Описание слайда:
Арифметические операции Определены 5 арифметических операций: сложение (+): 5 + 6, a + b + c, 1.5 + K; вычитание (–): 9.0 – 7.4, -6E-3 – A; умножение (*): 10 * a, k * x; деление (/): 100 / 3, Prime / 5, 4.2 / 0.6; получение остатка от деления (деление по модулю) (%): 100 % 3, U % p. Операнды целые или вещественные (для % — только целые). Тип результата — «больший» из типов операндов. Если появляется «минус», то знаковый.

Слайд 16





Смена знака
Определены 2 операции смены знака:
плюс (+):	+b, +(e - 2);
минус (смена знака) (–): –Y, -(B + 2).
Операнды целые или вещественные.
Тип результата — как у операнда.
Если появляется «минус», то знаковый. Возможно расширение типа.
Описание слайда:
Смена знака Определены 2 операции смены знака: плюс (+): +b, +(e - 2); минус (смена знака) (–): –Y, -(B + 2). Операнды целые или вещественные. Тип результата — как у операнда. Если появляется «минус», то знаковый. Возможно расширение типа.

Слайд 17





Битовый сдвиг
Определены 2 операции битового сдвига:
сдвиг вправо (>>):	A >> 7, 0xFF >> p; 
сдвиг влево (<<): 1 << p.
Операнды целые.
Тип результата — int или long long.
Второй операнд может быть отрицательным (сдвиг в обратную сторону).
Сдвиг вправо — арифметический, сохраняет старший бит (знак) операнда.
Описание слайда:
Битовый сдвиг Определены 2 операции битового сдвига: сдвиг вправо (>>): A >> 7, 0xFF >> p; сдвиг влево (<<): 1 << p. Операнды целые. Тип результата — int или long long. Второй операнд может быть отрицательным (сдвиг в обратную сторону). Сдвиг вправо — арифметический, сохраняет старший бит (знак) операнда.

Слайд 18





Битовый сдвиг
Сдвиги используются в операциях над битами, а также для быстрого умножения и деления целых чисел на степени двойки:
K << 4		~		K * 16
P >> 10		~		P / 1024 
(для положительных P)
P >> 10		~		(P - 1) / 1024 
(для отрицательных P)
Описание слайда:
Битовый сдвиг Сдвиги используются в операциях над битами, а также для быстрого умножения и деления целых чисел на степени двойки: K << 4 ~ K * 16 P >> 10 ~ P / 1024 (для положительных P) P >> 10 ~ (P - 1) / 1024 (для отрицательных P)

Слайд 19





Операции сравнения
Операнды логического типа (целые — 0 или 1), результат логического типа.
У операций «равно» и «не равно» приоритет ниже, чем у остальных операций сравнения.
Не путайте сравнение на равенство (==) с присваиванием (=).
Описание слайда:
Операции сравнения Операнды логического типа (целые — 0 или 1), результат логического типа. У операций «равно» и «не равно» приоритет ниже, чем у остальных операций сравнения. Не путайте сравнение на равенство (==) с присваиванием (=).

Слайд 20





Логические операции
Определены 7 логических операций:
Описание слайда:
Логические операции Определены 7 логических операций:

Слайд 21





Приращения
Определены 4 операции приращения:
префиксный инкремент (++): ++P;
префиксный декремент (––): ––P;
постфиксный инкремент (++): P++;
постфиксный декремент (––): P––.
Увеличивают (уменьшают) значение операнда на единицу. Операнд — только переменная.
Результат того же типа, что и операнд.
Описание слайда:
Приращения Определены 4 операции приращения: префиксный инкремент (++): ++P; префиксный декремент (––): ––P; постфиксный инкремент (++): P++; постфиксный декремент (––): P––. Увеличивают (уменьшают) значение операнда на единицу. Операнд — только переменная. Результат того же типа, что и операнд.

Слайд 22





Приращения
Префиксный инкремент (декремент) изменяет значение аргумента и возвращает его новое значение:
k = 7; p = ++k;
k = 7; p = ––k;
Постфиксный инкремент (декремент) возвращает текущее значение аргумента и только потом его изменяет:
k = 7; p = k++;
k = 7; p = k––;
Описание слайда:
Приращения Префиксный инкремент (декремент) изменяет значение аргумента и возвращает его новое значение: k = 7; p = ++k; k = 7; p = ––k; Постфиксный инкремент (декремент) возвращает текущее значение аргумента и только потом его изменяет: k = 7; p = k++; k = 7; p = k––;

Слайд 23





Присваивания
Определены 10 операций присваивания:
=, +=, –=, *=, /=, %=, <<=, >>=, &=, ^=, |=.
Левый операнд — только переменная.
Сами возвращают присвоенное значение с типом левого операнда: a = b + (c = 6) * 2.
Присваивания с операциями работают так:
k += 7;			аналогично	k = k + 7;
T *= 7 + e;	аналогично	T = T * (7 + e);
Приоритет — низкий.
Ассоциативность — справа налево.
Описание слайда:
Присваивания Определены 10 операций присваивания: =, +=, –=, *=, /=, %=, <<=, >>=, &=, ^=, |=. Левый операнд — только переменная. Сами возвращают присвоенное значение с типом левого операнда: a = b + (c = 6) * 2. Присваивания с операциями работают так: k += 7; аналогично k = k + 7; T *= 7 + e; аналогично T = T * (7 + e); Приоритет — низкий. Ассоциативность — справа налево.

Слайд 24





Условие
Единственная тернарная операция — условие:
операнд1 ? операнд2 : операнд3
Если значение первого операнда «истинно» (не ноль), то возвращает второй операнд, иначе возвращает третий операнд:
если операнд1 , то операнд2 , иначе операнд3
max = x > y ? x : y;
sign = a == 0 ? 0 : a > 0 ? 1 : -1;
Ассоциативность — справа налево.
Описание слайда:
Условие Единственная тернарная операция — условие: операнд1 ? операнд2 : операнд3 Если значение первого операнда «истинно» (не ноль), то возвращает второй операнд, иначе возвращает третий операнд: если операнд1 , то операнд2 , иначе операнд3 max = x > y ? x : y; sign = a == 0 ? 0 : a > 0 ? 1 : -1; Ассоциативность — справа налево.

Слайд 25





Потоковый ввод-вывод
Потоковый ввод-вывод доступен в C++.
Используется заголовочный файл iostream.
Для его использования пишем в начале кода:
#include <iostream>
Также включаем пространство имён:
using namespace std;
Каждая программа в операционной системе по умолчанию уже может работать с несколькими стандартными потоками.
Описание слайда:
Потоковый ввод-вывод Потоковый ввод-вывод доступен в C++. Используется заголовочный файл iostream. Для его использования пишем в начале кода: #include <iostream> Также включаем пространство имён: using namespace std; Каждая программа в операционной системе по умолчанию уже может работать с несколькими стандартными потоками.

Слайд 26





Потоковый ввод-вывод
Поток — способ единообразной работы с файлами, устройствами ввода-вывода и т. п.
Обычно определены 4 стандартных потока:
Если не указать пространство имён в заголовке, то придётся это делать перед именами потоков: std::cin, std::cout.
Описание слайда:
Потоковый ввод-вывод Поток — способ единообразной работы с файлами, устройствами ввода-вывода и т. п. Обычно определены 4 стандартных потока: Если не указать пространство имён в заголовке, то придётся это делать перед именами потоков: std::cin, std::cout.

Слайд 27





Потоковый ввод-вывод
Вывод значений констант, переменных и т. п. на экран — с помощью операции <<:
cout << a;
Ввод значений переменных с клавиатуры — с помощью >>:
cin >> K;
Можно вводить (выводить) несколько значений:
cin >> A >> B >> C;
Описание слайда:
Потоковый ввод-вывод Вывод значений констант, переменных и т. п. на экран — с помощью операции <<: cout << a; Ввод значений переменных с клавиатуры — с помощью >>: cin >> K; Можно вводить (выводить) несколько значений: cin >> A >> B >> C;

Слайд 28





Потоковый ввод-вывод
Манипуляторы задают некоторые параметры ввода-вывода.
Примеры:
cin >> oct >> N; cout << dec << p << endl;
Описание слайда:
Потоковый ввод-вывод Манипуляторы задают некоторые параметры ввода-вывода. Примеры: cin >> oct >> N; cout << dec << p << endl;

Слайд 29





Потоковый ввод-вывод
Ряд параметров определяется с помощью функций:
Примеры:
cout.width(4);
C = cout.fill();
Описание слайда:
Потоковый ввод-вывод Ряд параметров определяется с помощью функций: Примеры: cout.width(4); C = cout.fill();


Презентацию на тему Язык Си: приведение типов, операции. Потоковый ввод-вывод можно скачать бесплатно ниже:

Похожие презентации
Mypresentation.ru
Загрузить презентацию