Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
I_semestr.doc
Скачиваний:
6
Добавлен:
23.09.2019
Размер:
356.35 Кб
Скачать

3.6. Дополнительные операции присваивания

a=a+n; это a+=n

+=

-=

/=

*=

3.7. Битовые операции

  1. ~ - побитовое отрицание

  2. & - побитовое И

  3. ^ - побитовое исключающее ИЛИ

  4. | - побитовое ИЛИ

Оп1

Оп2

~оп1

Оп1&Оп2

0

1

1

0

0

0

0

1

1

0

1

1

1

0

0

0

1

1

1

0

0

1

0

1

char a,b;

a=9;

b=a|26; //9-0001001 26-00011010 00001011

//Операция применяется к каждой паре битов

С помощью побитового I обнулим

a=45;

b=a&0x0f;

Также выполняют операции побитового сдвига: << -влево >>-вправо

a<<2 //все его биты будут сдвинуты влево, лишняя часть теряется, а недостающие биты замещаются нулями

С операциями побитового сдвига также имеются дополнительные операции присваивания. Это не только относится к операциям сдвига, но и ко всем побитовым операциям.

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

>

<

>=

<=

! - не равно

= = - проверка на равенство

В языке С любое значение, не равное нулю считается истиной. Обычно оно целого типа, но не обязательно. Ложью является ноль. Таким образом, значением операции отношения является целое число, которое равно нулю, если записанное выражение неверно и отлично от нуля, если это правда. Отличное обычно 1, но не всегда так.

1<x<10

Операция выполняется слева направо, приоритет одинаковый, сначала буде выполнена 1 часть. х=5, первая часть будет истина. И вторая часть тоже 1. Надо записать так:

(1<x)&&(x<10)

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

Для выполнения сложных условия используется:

&& - логическое И

|| - логическое ИЛИ

! – логическое НЕ

3.10. Операции определения размера данных

В некоторых случаях бывает необходимо узнать, сколько в памяти занимают те или иные данные:

БНФ

операция_определения_размера_данных = “sizeof(“тип”)” |(“sizeof”(“значение”)

int a;

int b;

b=size of (“b”);

Результат операции – целое число количество байтов, занимаемых типов или значений.

3.11. Приоритеты операций (дома)

Программист может в случае сомнений или для изменения порядка вычисления использовать скобки.

Глава 4. Структурное программирование и язык с

4.1. Понятие структурного программирования

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

Одним из принципов структурного подхода является принцип пошаговой декомпозиции (разделяй и властвуй). Это подразумевает выделение в задаче подзадач, а в каждой из этих подзадач еще можно выделить подзадачи.

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

В 70-х годах были сформулированы принципы структурного программирования. Одним из ярчайших проявлений является отказ от отсутствия от переходов GOTO.

Можно сформулировать, что в структурном программировании доказано, что любой алгоритм вычислительной сложности может быть организован с помощью 3 структур:

  • следование (выполнение операторов последовательно в том порядке , в котором они записаны)

  • ветвление (структура выбора; в зависимости от условия выбирается одна или другая ветвь программирования)

  • повторения (повторяющиеся действия или циклы)

  • при условии механизма вызова функции без применения перехода GOTO

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]