SlideShare a Scribd company logo
1 of 37
Download to read offline
Преобразования типов.
Логические операторы.
Операторы ветвления.
Функция printf
Функция printf обеспечивает вывод на
экран (консоль) сообщений и
значений переменных;
Функция printf
С помощью этой функции можно
вывести на экран монитора строку
символов, число, значение
переменной...
Функция printf
Первый параметр функции – строка
вывода (форматирования),
определяющая выводимый текст и
формат отображения значений
переменных, имена которых указаны
в качестве остальных параметров
функций
Функция printf
Формат вывода значения
переменной задается при помощи
спецификатора преобразования
(формата) – последовательности
символов, начинающейся с %
Функция printf наиболее часто
используются следующие
спецификаторы
%i Целое со знаком
%u Беззнаковое целое
%f Вещественное, в виде числа с плавающей точкой
%n.mf
Вещественное в формате с фиксированной точкой, где n –
общее количество символов (количество цифр целой и дробной
частей числа, десятичный разделитель, знак числа); m –
количество цифр дробной части
Преобразования типов.
Преобразование типов в
операторе присваивания
Когда в выражении смешиваются
переменные разных типов, необходимо
выполнить преобразование типов
(type conversion).
Правила преобразования типов
Результирующий тип Тип выражения Возможные потери
signed char char
Если значение > 125, результатом будет
отрицательное число
char short int Старшие 8 бит
char int (16 bit) Старшие 8 бит
char int (32 bit) Старшие 24 бит
char long int Старшие 24 бит
short int int (16 bit) нет
short int int (32 bit) Старшие 16 бит
int (16 bit) long int Старшие 16 бит
int (32 bit) long int нет
int float Дробная часть и, возможно, что-то еще
float double Точность, результат округляется
double float Точность, результат округляется
Преобразование типов в
выражениях
Если в выражение входят константы и
переменные разных типов, они
преобразуются к одному типу.
Преобразование типов в
выражениях
Компилятор преобразует все
операнды в тип «наибольшего»
операнда.
Этот процесс называется
расширением типов
(type promotion).
Преобразование типов в
выражениях
Во-первых переменные типов char и
short int автоматически преобразуются
в тип int.
Этот процесс называется
целочисленным расширением (integral
promotion).
Преобразование типов в
выражениях
Во-вторых, все преобразования
выполняются одно за другим, следуя
приведенному ниже алгоритму.
ЕСЛИ операнд имеет тип long double,
ТО второй операнд преобразуется в тип long
double
ИНАЧЕ, ЕСЛИ операнд имеет тип double,
ТО второй операнд преобразуется в тип double
ИНАЧЕ, ЕСЛИ операнд имеет тип float,
ТО второй операнд преобразуется в тип float
ИНАЧЕ, ЕСЛИ операнд имеет тип unsigned long,
ТО второй операнд преобразуется в тип unsigned
long
ИНАЧЕ, ЕСЛИ операнд имеет тип long,
ТО второй операнд преобразуется в тип long
ИНАЧЕ, ЕСЛИ операнд имеет тип unsigned int,
ТО второй операнд преобразуется в тип unsigned
int
Преобразование типов в
выражениях
Кроме того есть одно правило: если
один из операторов имеет тип long, а
второй – unsigned int, и значение
переменной unsigned int невозможно
представить с помощью типа long, то
оба операнда преобразуются в тип
unsigned long
Преобразование типов в
выражениях
После выполнения преобразования
тип обоих операндов одинаков и
совпадает с типом результата
выражения.
char ch;
int i;
float f;
double d;
r e s u l t = ( ch / i ) + ( f * d ) – ( f + i )
int double float
int double float
double
double
Преобразование типов в
выражениях
Здесь символ ch сначала
преобразуется в целое число. Затем
результат операции ch / i
преобразуется в тип double,
поскольку именно этот тип имеет
результат выражения f * g.
Преобразование типов в
выражениях
После этого результат операции f + i
преобразуется в тип float.
Окончательный результат имеет тип
double.
Приведение типов.
Приведение типов
Используя приведение типов (cast),
можно принудительно задать тип
выражения. Приведение типов имеет
следующий вид:
(тип) выражение
Приведение типов
Здесь тип – это любой допустимый
тип данных.
Например
(float) x /2
Приведение типов
С формальной точки зрения
приведение типов является унарным
оператором, и его приоритет
совпадает с приоритетами всех других
унарных операторов
Оператор
Оператор – это часть программы,
которую можно выполнить отдельно.
Иными словами, оператор определяет
некое действие.
Категории операторов
Условные операторы
Операторы цикла
Операторы перехода
Метки
Блоки
Операторы-выражения
Условные операторы
или Операторы ветвления
(selection statement)
Условные операторы
К условным операторам относятся
операторы:
if и switch
Условные операторы
Кроме того, в некоторых ситуациях в
качестве альтернативы условному
оператору if можно применять
тернарный оператор «?»
Оператор if
Оператор if имеет следующий вид:
if (выражение) оператор;
else оператор;
Условные операторы
Здесь оператор может состоять из
одного или нескольких операторов или
отсутствовать вовсе (пустой оператор).
Раздел else является необязательным
Операторы сравнения.
Логические операторы
Операторы сравнения
Оператор
Действие
> Больше
>= Больше или равно
< Меньше
<= Меньше или равно
!= Не равно
== Равно
Операторы сравнения.
Логические операторы
Логические операторы
Оператор
Действие
&& И
|| ИЛИ
! НЕ
Операторы сравнения.
Логические операторы
p q p && q p || q !p
0 0 0 0 1
0 1 0 1 1
1 1 1 1 0
1 0 0 1 0
Операторы сравнения.
Логические операторы
В одном и том же выражении можно
использовать несколько операторов
10 > 5 && !(10 < 9) || 3 <= 4
Операторы сравнения.
Логические операторы
Высший
!
> >= < <=
== !=
Низший
||
&&
Спасибо за
внимание J

More Related Content

What's hot

Типы данных
Типы данныхТипы данных
Типы данных
OlgaDask
 
манжос мет интервалов
манжос мет интерваловманжос мет интервалов
манжос мет интервалов
urvlan
 
22 pascal urok_6
22 pascal urok_622 pascal urok_6
22 pascal urok_6
Ann Eres
 
03_JavaBasicConstructionsAndDatatypes
03_JavaBasicConstructionsAndDatatypes03_JavaBasicConstructionsAndDatatypes
03_JavaBasicConstructionsAndDatatypes
dklenov
 
10 10 pascal_urok_
10 10 pascal_urok_10 10 pascal_urok_
10 10 pascal_urok_
Ann Eres
 
01 - Знакомство с Java
01 - Знакомство с Java01 - Знакомство с Java
01 - Знакомство с Java
phearnot
 
4 4 pascal_urok_1
4 4 pascal_urok_14 4 pascal_urok_1
4 4 pascal_urok_1
Ann Eres
 
C++ осень 2013 лекция 6
C++ осень 2013 лекция 6C++ осень 2013 лекция 6
C++ осень 2013 лекция 6
Technopark
 
обработка исключений в Java
обработка исключений в Javaобработка исключений в Java
обработка исключений в Java
metaform
 
тема множество для загрузки 2013
тема множество для загрузки 2013тема множество для загрузки 2013
тема множество для загрузки 2013
AliyaAringazinova
 

What's hot (19)

Vba программы
Vba программыVba программы
Vba программы
 
Razbiraemsya s preobrazovaniem_tipov
Razbiraemsya s preobrazovaniem_tipovRazbiraemsya s preobrazovaniem_tipov
Razbiraemsya s preobrazovaniem_tipov
 
Типы данных
Типы данныхТипы данных
Типы данных
 
Как стандарт C++0x поможет в борьбе с 64-битными ошибками
Как стандарт C++0x поможет в борьбе с 64-битными ошибкамиКак стандарт C++0x поможет в борьбе с 64-битными ошибками
Как стандарт C++0x поможет в борьбе с 64-битными ошибками
 
манжос мет интервалов
манжос мет интерваловманжос мет интервалов
манжос мет интервалов
 
22 pascal urok_6
22 pascal urok_622 pascal urok_6
22 pascal urok_6
 
03_JavaBasicConstructionsAndDatatypes
03_JavaBasicConstructionsAndDatatypes03_JavaBasicConstructionsAndDatatypes
03_JavaBasicConstructionsAndDatatypes
 
C language lect_05_introduction
C language lect_05_introductionC language lect_05_introduction
C language lect_05_introduction
 
02 if for
02 if for02 if for
02 if for
 
операторы и выражения
операторы и выраженияоператоры и выражения
операторы и выражения
 
10 10 pascal_urok_
10 10 pascal_urok_10 10 pascal_urok_
10 10 pascal_urok_
 
Java - основы языка
Java - основы языкаJava - основы языка
Java - основы языка
 
fp intro
fp introfp intro
fp intro
 
лек11 5
лек11 5лек11 5
лек11 5
 
01 - Знакомство с Java
01 - Знакомство с Java01 - Знакомство с Java
01 - Знакомство с Java
 
4 4 pascal_urok_1
4 4 pascal_urok_14 4 pascal_urok_1
4 4 pascal_urok_1
 
C++ осень 2013 лекция 6
C++ осень 2013 лекция 6C++ осень 2013 лекция 6
C++ осень 2013 лекция 6
 
обработка исключений в Java
обработка исключений в Javaобработка исключений в Java
обработка исключений в Java
 
тема множество для загрузки 2013
тема множество для загрузки 2013тема множество для загрузки 2013
тема множество для загрузки 2013
 

More from Ihor Porotikov (7)

Arrays
ArraysArrays
Arrays
 
rand srand sum
rand srand sumrand srand sum
rand srand sum
 
Arrays
ArraysArrays
Arrays
 
Debug with Visual Studio
Debug with Visual StudioDebug with Visual Studio
Debug with Visual Studio
 
Data types. Variables
Data types. VariablesData types. Variables
Data types. Variables
 
Programming history. Algorithm
Programming history. AlgorithmProgramming history. Algorithm
Programming history. Algorithm
 
Algorithm and flowchart
Algorithm and flowchartAlgorithm and flowchart
Algorithm and flowchart
 

Преобразования типов. Операторы ветвления