SlideShare a Scribd company logo
ANSI C
Language
Introduction
Lection 6
Содержание
• Приоритет операций
• Тернарный оператор
• Логические и битовые операции
• Битовая арифметика
23.05.2019 0:16 Introduction 2
Приоритет операций
При рассмотрении выражения,
операторы, имеющие более высокий
приоритет, будут вычислены раньше
операторов с низким приоритетом.
3
Приоритет операций
4
Приоритет операций
Выражение
• а = b & 0xFF + 5
вычисляется как
• а = b & (0xFF + 5),
А выражение
• а +с >> 1
вычисляется как
• (а + с) >> 1
5
Тернарный оператор
синтаксис:
логическое выражение ? выражение 1 : выражение 2
1) Вычисляется логическое выражение.
2) Если логическое выражение истинно, то вычисляется
значение выражение 1, в противном случае — значение
выражение 2.
3) Вычисленное значение возвращается.
пример:
min = (a < b) ? a : b;
6
Тернарный оператор
7
int main()
{
unsigned char a, b, min, max;
a = 100; b = 200;
min = (a < b) ? a : b;
max = (a > b) ? a : b;
printf("Result: min = %d, max = %d", min, max);
return 0;
}
Result: min = 100, max = 200
Логические и битовые операции
8
Result: ????
int main()
{
unsigned char a, b, r1, r2, r3, r4;
a = 0xF0; b = 0x0F;
r1 = a & b;
r2 = a && b;
r3 = a | b;
r4 = a || b;
printf("Result: r1 = %x, r2 = %xn", r1, r2);
printf("Result: r3 = %x, r4 = %x", r3, r4);
return 0;
}
Логические и битовые операции
9
Result: r1 = 0, r2 = 1
Result: r3 = ff, r4 = 1
int main()
{
unsigned char a, b, r1, r2, r3, r4;
a = 0xF0; b = 0x0F;
r1 = a & b;
r2 = a && b;
r3 = a | b;
r4 = a || b;
printf("Result: r1 = %x, r2 = %xn", r1, r2);
printf("Result: r3 = %x, r4 = %x", r3, r4);
return 0;
}
Битовая арифметика
10
Result: ????
int main()
{
unsigned char a, r1, r2;
a = 41;
r1 = a << 2;
r2 = a >> 2;
printf("Result: r1 = %dn", r1);
printf("Result: r2 = %d", r2);
return 0;
}
Битовая арифметика
11
Result: r1 = 164
Result: r2 = 10
int main()
{
unsigned char a, r1, r2;
a = 41; // 0b 0010 1001 (41)
r1 = a << 2; // 0b 1010 0100 (164 = 41 * 4)
r2 = a >> 2; // 0b 0000 1010 (10 = 41 / 4)
printf("Result: r1 = %dn", r1);
printf("Result: r2 = %d", r2);
return 0;
}

More Related Content

PPTX
C language lect_06_introduction
PPT
Огранизация ввода и вывода данных
PDF
PPT
PDF
5.4 Ключевые слова static и inline
PPT
PPTX
Тип данных Pointer
PPT
Программирование циклических алгоритмов
C language lect_06_introduction
Огранизация ввода и вывода данных
5.4 Ключевые слова static и inline
Тип данных Pointer
Программирование циклических алгоритмов

What's hot (20)

PPT
Циклы
PPTX
тема 2.операторы.линейный алгоритм
PPT
DOCX
Matlab: Вычисление производной
PDF
задания на выполнение фрагментов программ
DOCX
задания на выполнение фрагментов программ
PPT
лекция 2
PPT
лекция 1
PDF
3.1 Структуры
ODP
Operators
PPTX
Nakhodzhenie ploschadi s_ispolzovaniem_lineynykh_al
PDF
2.8 Строки и ввод-вывод
PPTX
ПРОЦЕДУРЫ
PPT
презентации продолжение банкета
PPT
лекция 3
PPT
основы программирования на языке C
PPTX
использование линейных алгоритмов для решения задач
PPT
лабораторная работа №3
PPTX
циклические алгоритмы
Циклы
тема 2.операторы.линейный алгоритм
Matlab: Вычисление производной
задания на выполнение фрагментов программ
задания на выполнение фрагментов программ
лекция 2
лекция 1
3.1 Структуры
Operators
Nakhodzhenie ploschadi s_ispolzovaniem_lineynykh_al
2.8 Строки и ввод-вывод
ПРОЦЕДУРЫ
презентации продолжение банкета
лекция 3
основы программирования на языке C
использование линейных алгоритмов для решения задач
лабораторная работа №3
циклические алгоритмы
Ad

Similar to C language lect_07_introduction (20)

PDF
Типы данных (продолжение). Операторы. Стандартные библиотеки
PDF
C++ Базовый. Занятие 02.
PPTX
C language lect_05_introduction
PDF
апкс 2011 03_verilog
PDF
Step cpp022
PPTX
CiklumCPPSat: Ivan Romanenko "Experience of work with Boost Spirit"
PDF
Основы программирования на C++
PDF
Классическое программирование для фронтендеров
PPT
PPTX
поразрядные логические операции
PPT
Rgsu04
PPT
Rgsu04
PPT
Java. Cистемы счислния, битовые операции
PDF
ОПК № 3 – Машинное представление целых чисел, символов, строк
PDF
Введение в синтаксис C++, часть 1
PDF
Введение в синтаксис C++, часть 2
PDF
Преобразования типов. Операторы ветвления
PPT
Простые типы данных
Типы данных (продолжение). Операторы. Стандартные библиотеки
C++ Базовый. Занятие 02.
C language lect_05_introduction
апкс 2011 03_verilog
Step cpp022
CiklumCPPSat: Ivan Romanenko "Experience of work with Boost Spirit"
Основы программирования на C++
Классическое программирование для фронтендеров
поразрядные логические операции
Rgsu04
Rgsu04
Java. Cистемы счислния, битовые операции
ОПК № 3 – Машинное представление целых чисел, символов, строк
Введение в синтаксис C++, часть 1
Введение в синтаксис C++, часть 2
Преобразования типов. Операторы ветвления
Простые типы данных
Ad

More from Roman Brovko (20)

PDF
Individual task Networking
PPTX
Networking essentials lect3
PPTX
Gl embedded starterkit_ethernet
PPTX
Networking essentials lect2
PPTX
Networking essentials lect1
PPTX
Bare metal training_07_spi_flash
PPTX
Bare metal training_06_I2C
PPTX
Glesk worshop
PPTX
Bare metal training_05_uart
PPTX
Bare metal training_04_adc_temp_sensor
PPTX
Bare metal training_03_timers_pwm
PPTX
Bare metal training_02_le_ds_and_buttons
PPTX
Bare metal training_01_hello_world
PPTX
Bare metal training_00_prerequisites
PPTX
C language lect_23_advanced
PPTX
C language lect_22_advanced
PPTX
C language lect_21_advanced
PPTX
подготовка рабочего окружения
PPTX
C language lect_20_advanced
PPTX
C language lect_19_basics
Individual task Networking
Networking essentials lect3
Gl embedded starterkit_ethernet
Networking essentials lect2
Networking essentials lect1
Bare metal training_07_spi_flash
Bare metal training_06_I2C
Glesk worshop
Bare metal training_05_uart
Bare metal training_04_adc_temp_sensor
Bare metal training_03_timers_pwm
Bare metal training_02_le_ds_and_buttons
Bare metal training_01_hello_world
Bare metal training_00_prerequisites
C language lect_23_advanced
C language lect_22_advanced
C language lect_21_advanced
подготовка рабочего окружения
C language lect_20_advanced
C language lect_19_basics

C language lect_07_introduction

Editor's Notes

  • #3: https://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D1%8B_%D0%B2_C_%D0%B8_C%2B%2B