Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Void main(void). Поразрядные операции




Адресные операции

Void main(void)

Побитовые операции

Поразрядные операции

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

< — меньше;

<= — меньше или равно;

> — больше;

>= — больше или равно;

== — равно;

!= — не равно.

Операции отношения показаны в примере 4.3. Их используют для сравнения в условных выражениях, например: (a>0), (‘a’==’A’), (‘a’!=’A’), (!x) и т.д. Если условие выполняется, то результатом выражения является “истина”, иначе — “ложь”.

<< — сдвиг влево;

>> — сдвиг вправо.

& — и (AND);

| — или (OR);

^ — исключающее или (XOR);

~ — отрицание (NOT);

— — изменение знака.

Для того, чтобы разобраться, как работают побитовые и поразрядные операции, надо выполнить пример 4.4. Наибольшую сложность может вызвать побитовая операция “—“ — изменение знака. Она производится за два шага: вначале число инвертируется, а затем к нему добавляется единица.

 

//Пример 4.4.

// Поразрядные и побитовые операции

#include <stdio.h>

{

int a,b,c;

char *format1,*format2;

format1 = " %04X %s %04X = %04X \n";

format2 = " %c%04X = %04X \n";

a = 0x0FF0; b = 0xFF00; printf(format2,'=',a,b);

c = a << 4; printf(format1,a,"<<",4,c);

c = a >> 4; printf(format1,a,">>",4,c);

c = a & b; printf(format1,a,"& ",b,c);

c = a | b; printf(format1,a,"| ",b,c);

c = a ^ b; printf(format1,a,"^ ",b,c);

c = ~a; printf(format2,'~',a,c);

c = - a; printf(format2,'-',a,c);

}

Адресные операции чаще всего используются для работы с указателями (подробнее см. разделы “Указатели” и “Функции форматного ввода — вывода”).

Операция “условие”

Операция “условие” — это единственная операция языка С, имеющая три операнда. Форма ее записи следующая:

 

(выражение 1)? (выражение 2): (выражение 3);.

 

Порядок выполнения таков: вначале вычисляется выражение 1 (это может быть любая операция); если результатом его является число, не равное нулю, что равносильно “истине”, то вычисляется выражение 2 и результатом операции “условие” будет значение выражения 2; если значение выражения 1 равно нулю (“ложь”), то вычисляется выражение 3 и его значение будет результатом операции, то есть в любом случае вычисляется одно из двух выражений: (выражение 1) или (выражение 2). Варианты использования операции “условие” показаны в примере 4.5.

 

//Пример 4.5.

//Операция - условие (b1)? b2:b3;

#include <stdio.h>

{

int a,b,max,min,abs;

float ratio;

printf("Введите два целых числа ");

scanf("%d %d",&a,&b);

min=(a<b)? a: b;

printf("Минимальное число равно %d\n",min);

max=(a>b)? a: b;

printf("Максимальное число равно %d\n",max);

(b)? printf("Отношение a к b равно %5.2f\n",float(a)/float(b))

:printf("Деление на нуль невозможно\n");

a=-b;

abs=(a>0)? a: -a;

printf("Абсолютное значение равно %d\n",abs);

}

 

В примере 4.5 можно ввести макрос

#define MIN(x,y) (((x) > (y))? (x): (y)) или

#define MAX(x,y) (((x) < (y))? (x): (y))

Операция sizeof()

Операция sizeof() имеет две формы:

1) sizeof(тип). Результатом является целочисленное значение величины типа в байтах;

2) sizeof(выражение). Значение выражения не вычисляется, но определяется его тип и количество байт под этот тип.

Оба варианта показаны в примере 4.6.

 

//Пример 4.6.

// Определение объема памяти, занимаемой переменной и массивом

// Вычисление количества элементов массива

#include <stdio.h>




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 337; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.015 сек.