Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Все лекции программирование

.pdf
Скачиваний:
25
Добавлен:
13.03.2016
Размер:
1.94 Mб
Скачать

Арифметические операции

Оператор

Операция

 

 

-

Вычитание, так же унарный минус

 

 

+

Сложение

 

 

*

Умножение

 

 

/

Деление

 

 

%

Остаток от деления

 

 

--

Декремент, или уменьшение

++

Инкремент, или увеличение

Приоритет выполнения арифметических операторов следующий:

1.++ --

2.- (унарный минус)

3.* / %

4.+ -

Операции сравнения и

логические операции

Операции сравнения – это операции, в которых значения двух переменных сравниваются друг с другом. Логические операции реализуют средствами языка С операции формальной логики. В операциях сравнения и логических операциях в качестве операндов и результатов операций используются значения ИСТИНА (true) и

ЛОЖЬ (false).

Операторы сравнения

Оператор

 

Операция

>

 

Больше чем

>=

 

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

<

 

Меньше чем

<=

 

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

==

 

Равно

!=

 

Не равно

 

Логические операции

Оператор

 

Операция

&&

 

И

||

 

ИЛИ

!

 

НЕ, отрицание

Приоритет логических операций:

1.!

2.> >= < <=

3.== !=

4.&&

5.||

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

Оператор

Операция

&

И

|

ИЛИ

^

исключающее ИЛИ

~

НЕ (отрицание, дополнение к 1)

>>

Сдвиг вправо

<<

Сдвиг влево

 

Операция ?:

Выражение1 ? Выражение2 : Выражение3;

x = 10;

y = x>9 ? 100 : 200;

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

Приоритеты операций

! ~ ++ -- - & sizeof * / % + - << >>

< <= > >= == !=

&

^

|

&&

||

?:

13.= += -= *= /= и т.д.

Пример

#include <stdio.h>

int main()

{

int A,B,C,D, mA, mB, mC, mD, ip, net, mask;

printf("IP address:\n"); scanf("%d.%d.%d.%d", &A,&B,&C,&D); fflush(stdin);

printf("Mask:\n");

scanf("%d.%d.%d.%d", &mA,&mB,&mC,&mD);

ip=(A<<24)+(B<<16)+(C<<8)+D;

mask=(mA<<24)+(mB<<16)+(mC<<8)+mD; net = ip&mask;

printf("Network Mask is %d.%d.%d.%d", (net&0xFF000000)>>24, (net&0x00FF0000)>>16,(net&0x0000FF00)>>8,net&0x000000FF);

return 0;

}

IP address: 10.10.10.195

Mask:

255.255.255.240

Network Mask is 10.10.10.192

Лекция 4. Операторы

Виды операторов

Оператор — это часть программы, которая может быть выполнена отдельно.

В языке С существуют следующие группы операторов:

Условные операторы

Операторы цикла

Операторы безусловного перехода

Метки

Операторы-выражения

Блоки

Логические значения

Условное выражение может принимать одно из двух значений: ИСТИНА (True) или ЛОЖЬ (False). В языке С значение ИСТИНА представлено любым ненулевым значением, включая отрицательные числа. Значение ЛОЖЬ всегда представлено нулем.

Условные операторы

В языке С существуют два условных оператора: if и switch. При определенных обстоятельствах оператор ? является альтернативой оператора if.

Оператор if

Общая форма оператора if следующая:

if (выражение) оператор; else оператор;

Здесь оператор может быть только одним оператором, блоком операторов или отсутствовать (пустой оператор). Фраза else может вообще отсутствовать.

Пример

#include <stdio.h>

int main()

{

int A,B,C,D;

int ip,net,mask;

int mA,mB,mC,mD;

printf("IP address:\n"); scanf("%d.%d.%d.%d", &A,&B,&C,&D); fflush(stdin);

if(A>255) printf("The first octet is incorrect!\n"); else printf("The first octet is correct!\n"); return 0;

}

C:\First.exe IP address:

10.10.10.10

The first octet is correct!

C:\First.exe IP address: 300.10.10.10

The first octet is incorrect!