Содержание
- 2. 4.2. Унарные Оператор побитового отрицания – «~». Пример 21. int x=6; /* 0110 */ int y=x&~3;
- 3. 5. Операторы присваивания Простейший оператор присваивания: = - переменная - выражение Оператор присваивания – бинарный, инфиксный.
- 4. Остальные операторы присваивания имеют следующий вид: = - бинарный оператор: +, -, /, *, %, &,
- 5. int z, x8, y8, z8; x=15; x8=015; y=8; y8=07; z=5; z8=05; x+=2; /*x=17*/ y-=7; /*y=1*/ z*=4;
- 6. !!! Все операторы присваивания правоассоциативные. x/=a+b ? x=x/(a+b) 6. Инкрементные и декрементные операторы Инкрементный – «++»:
- 7. Пример 24. int x=2, y, z; y=x++; //1) y=x; 2) x=x+1; y=2, x=3 z=++x; //1) x=x+1;
- 8. 7. Условный оператор (?) (условное выражение) Синтаксис: ? : Семантика: 1) Вычисляется значение первого выражения 2)
- 9. 7. Преобразование типов Преобразование (приведение) типов: приведение операндов разных типов к некоторому общему. Пример 26. Присвоить
- 10. 1) для бинарных операторов Правила приведения операндов к общему типу: тип результата определяется типом того операнда,
- 11. 2) при присваивании значение правой части приводится к типу левой части, это и будет типом результата:
- 12. 4) явное задание приведения типов: Используется оператор ( )е, где е – выражение. 3) при вызове
- 13. Свойства оператора явного приведения типа: - унарный; - префиксный; - правоассоциативный. Пример 27. int x=16; …
- 14. Сводная таблица приоритетов операторов
- 16. В таблице: операторы в одной строке с одинаковым приоритетом; - строки – по убыванию приоритетов; -
- 17. УПРАВЛЕНИЕ В Си 1. Инструкции и блоки Если в конце выражения поставить «;», то выражение становится
- 18. ::= { [ ] ; …………………. ; } Составная инструкция (блок) – это последовательность описаний (деклараций)
- 19. 2. Инструкция if – else if( ) ; else ; или if( ) ; Синтаксис: Семантика:
- 20. Пример 29. Вариант 1. int a,b,c; /* Исходные данные */ int x; /* Результат */ ……..
- 21. Пример 30. Вариант 2. int a,b,c,x; …….. x=a; if (b>x) x=b; if (c>x) x=c; 3. Переключатель
- 22. Используется для разветвления алгоритма более чем на 2 направления. Каждая ветвь case помечена одной или несколькими
- 23. Ветвь default необязательна, и если ее нет, то ничего не вычисляется. Ветви case и default можно
- 24. Пример 31. Вариант 1. if (j==1 || j==3 || j==5 || j==7 || j==8 || j==10
- 25. Пример 33. Вариант 3. switch (j) { case 1: case 3: case 5: case 7: case
- 26. На блок-схеме оператор switch изображается следующим образом:
- 29. while ( ) ; Вычисляется . Если оно отлично от 0 (истинно), то выполняется и переход
- 30. Пример 34. е в степени х (с точностью eps) float exp,s,eps,x; int i,n; ………………………………………… /* Ввод
- 31. 7. Цикл for Это цикл с известным числом повторений for ( ; ; ) ; Семантика:
- 32. - инициализация счётчика цикла и других переменных. - условие завершения цикла. - изменение значения счётчика цикла
- 33. Особенности цикла for в языке Си: 1) переменная цикла и ее предельное значение могут изменяться внутри
- 34. Пример 35. Сумма элементов массива #define N 10 float X[N], S; int i; ……………………………….. /* Вариант
- 35. /* Вариант 3 */ for (S=0, i=0; i S+=X[i++]; /* Вариант 4 */ i=S=0; for (;
- 36. Пример 36. Реверсирование элементов массива 0 1 2 3 4 #define N 10 ……………. float x[N];
- 37. for (i=0, j=N-1; i { r=x[i]; x[i]=x[j]; x[j]=r; } 8. Цикл do-while Цикл с неизвестным числом
- 38. Семантика. 1. Выполняется . 2. Вычисляется значение . 3. Если истинно (не равно 0), то снова
- 40. Скачать презентацию