Добавил:
Лабы/курсовые по программированию (С++/Verilog HDL), Теория и Практика Помехоустойчивого Кодирования Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1сем Дагаев / lectures_3.pdf
Скачиваний:
28
Добавлен:
09.03.2022
Размер:
769.01 Кб
Скачать

r = n & m;

printf("n & m = %X\n", r);

r = n | m;

printf("n | m = %X\n", r);

r = n << 2;

= %X\n",

r);

printf("n << 2

r = m >> 1;

= %X\n",

r);

printf("m >> 1

/* ........................

 

*/

Результаты выполнения этого фрагмента программы имели следующий

вид:

~n = D5 ~m = 8E

n & m = 20 n | m = 7B n << 2 = A8 m >> 1 = 38

19. Условные выражения (оператор ?:)

Условные выражения записываются с помощью тернарного оператора ?:.

Этот оператор имеет следующий формат:

выр1 ? выр2 : выр3

Здесь выр1, выр2 и выр3 – выражения.

Условное выражение вычисляется следующим образом. Вначале оценивается булевское значение выражения выр1. Если его значением является true, то дальше вычисляется значение выражения выр2 и значение этого выражения становится значением всего условного выражения, в противном случае вычисляется значение выражения выр3 и его значение становится значением всего условного выражения.

В качестве примера применения условного выражения рассмотрим задачу о нахождении наибольшего значения двух вещественных чисел a и b. Ниже приведена программа, предназначенная для решения этой задачи.

/* Файл max.c */ #include<stdio.h>

int main(void)

{

double a, b; printf(“a=”); scanf(“%lf”, &a); printf(“b=”); scanf(“%lf”, &b);

printf(“max=%8.3f\n”, (a > b ? a : b)); return 0;

}

43

Соседние файлы в папке 1сем Дагаев