Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Язки программирования.docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
2 Мб
Скачать
☆

Модификаторы типов

За исключением типа void, основные типы данных могут иметь различные модификаторы. Модификаторы используются для более точного управления ситуацией. Ниже приведен список модификаторов: signed – знаковый, unsigned – беззнаковый, long - длинный, short- короткий.

Модификаторы signed и unsigned могут применяться к типам char и int. Модификатор long может так же применяться к типу double. Модификаторы signed и unsigned могут комбинироваться с модификаторами short и long в применении к типу int

С поддерживает несколько других типов, включая структуры, объединения, битовые поля, перечисления и типы, определяемые пользователем.  

Типы данных

основные определяемые пользователем

int enum перечисляемых типов (enum)

long struct записей-структур (struct

short union объединение(union),

unsigned typedef

char

float

double

Операции сравнения и логические операции языка С. Приведите примеры.

Операторы отношения применимы для вычисления соотношений между операндами. Логические операторы, используя правила формальной логики, также возвращают соотношения между операндами. Поскольку операторы отношения и логические операторы часто применяются вместе, то мы рассмотрим их также вместе.

Ключевой концепцией операторов отношения и логических операторов является понятие истины и лжи. В С истине соответствует любое значение, кроме 0, а лжи — 0. Выражение, использующее операторы отношения или логические операторы, возвращают 0 для лжи и 1 для истины.

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

Оператор

Действие

>

Больше чем

>=

Больше чем или равно

<

Меньше чем

<=

Меньше чем или равно

==

Равно

!=

Не равно

Логические операторы

&&

И

||

ИЛИ

!

НЕ

Таблица: Операторы отношения и логические операторы

Таблица показывает операторы отношения и логические операторы.

Таблица истинности для логических операторов образована с использованием на входах 1 и 0:

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 > 1+12 вычисляется как 10 > (1 + 12). Результатом, естественно, будет ложь.

В выражении может объединяться несколько операторов, как показано ниже: 10 > 5 && 1(10 < 9) II 3 <= 4 в результате чего получаем истину.

Ниже показаны приоритеты выполнения операторов отношения и логических операторов:

Высший

! > >= < <=  &&

Низший

||

Как и в арифметических выражениях, возможно использование круглых скобок для изменения естественного порядка вычисления операторов отношения или логических операторов. Например: ! 1 && 0 даст в результате 0, поскольку ! вычисляется первым, а затем вычисляется &&. Если в этом выражении поставить скобки следующим образом: ! (1 && 0) то получится истина.

Надо помнить, что все выражения с операторами отношения и логическими операторами дают в результате 0 или 1. Поэтому следующий фрагмент программы не только корректен, но и печатает число 1: int x; x = 100; printf("%d", x > 1);