Все лекции программирование
.pdfАрифметические операции
Оператор |
Операция |
|
|
- |
Вычитание, так же унарный минус |
|
|
+ |
Сложение |
|
|
* |
Умножение |
|
|
/ |
Деление |
|
|
% |
Остаток от деления |
|
|
-- |
Декремент, или уменьшение |
++ |
Инкремент, или увеличение |
Приоритет выполнения арифметических операторов следующий:
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!