КАТЕГОРИИ: Архитектура-(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) |
Логические бинарные операции
Операции отношения (сравнения). Операнды: арифметические выражения и указатели. Указатели можно сравнивать только с целым. Результат целочисленный: 0 (ложь) или 1 (истина). < меньше, чем. > больше, чем. <= меньше или равно. >= больше или равно. == равно. != не равно.
Последние две операции (операции сравнения на равенство) имеют более низкий приоритет по сравнению с остальными операциями отношений. Таким образом, выражение (x<b = = a<x) есть 1, тогда и только тогда, когда значение х находится в интервале от a до b и а<b (Вначале вычисляются x<b и x>a, а к результатам применяется операция сравнения на равенство ==). Пример: a+b<b+c = = a+c<a+b x1<x2 = = x3<x1 есть 1 тогда и только тогда, когда х1 в интервале [x3;x2] и x3<x2.
&& – конъюнкция (И) арифметических операндов или отношений. Целочисленный результат 0 (ложь) или 1 (истина). Если 1-й операнд равен 0, то 2-й не вычисляется. || – дизъюнкция (ИЛИ) арифметических операндов или отношений. Целочисленный результат 0 (ложь) или 1 (истина). Если 1-й операнд равен 1, то 2-й не вычисляется.
Пример: 3<5 равен 1. 3>5.1 равен 0. 3==5 равен 0. 3!=5 равен 1. 3!=5 || 3==5 равен 1. 3+4>5 &&3+5>4 && 4+5>3 равен 1.
Задача 1. Написать условие попадания точки (x, y) в область.
1. Точка в верхней полуплоскости: y ³ 0. 2. Точка в правой полуплоскости: x ³ 0. 3. Точка выше прямой: y ³ 1-x Все три условия должны выполняться одновременно: y ³ 0 && x ³ 0 && y ³ 1-x – с границами
Задача 2. Написать условие не попадания точки (x, y) в область.
1. Попадание внутрь круга: x2 +y2 £ 1. 2. Точка в I и III квадрантах: xy ³ 0. Оба условия должны выполняться одновременно: !(x*x+y*y<1 && x*y > 0) – без границ
Задача 3 Деление нацело, кратность: m%n == 0.
Глава 5 ОСНОВНЫЕ ОПЕРАТОРЫ ВСЕ ЯВЛЯЕТСЯ ОПЕРАТОРОМ! 1) Принципиальная разница Си и других языков в том, что в Си все операторы равноправны. Скажем (для тех, кто имеет некоторый опыт в программировании на других языках), что вызов функции тоже является оператором.2) Более того, каждый оператор (исключений нет!) возвращает некоторое значение – результат своей работы. Ну, для оператора сложения все понятно: оператор a+b возвратит сумму чисел a и b. А что возвращает оператор присваивания (в Си он записывается как =)? Оказывается, значение выражения a = b равно a. Эта, на первый взгляд, бессмысленная возможность, во-первых, сильно упростила создание языка (нет необходимости разделять операторы на возвращающие значение и не возвращающие, да еще проверять на правильность. Например, на Паскале (кто знает) необходимо специально проверять выражение на предмет выражений вроде a:= (b:= c), а во-вторых, позволила сильно сократить размер исходного текста программы. 5.1 Оператор присваивания Образуется формальным добавлением; (точки с запятой) к выражению с операцией присваивания. Формат <имя_переменной> <ОР>= <выражение>;
где ОР – одна из операций:, / % + – & ^ | << >>. Если рассматривать конструкцию ОР= как две операции, то вначале выполняется ОР, а затем =. Пример: Х*=2; Z+=4; i/=X+4*Z; Пример: x=–.127; i=i+1; i++; a[i+1]=x*y+2*sin((z+1)*(x–2)); x+=a+b/2; –> x=x+a+b/2;
Многократное присваивание. Например: a = b = c = d = 0; Как будет работать такой участок кода? Начнем сначала. Данное выражение присваивает переменной a результат выполнения оператора b = c = d = 0, который, в свою очередь, присваивает переменной b результат выполнения оператора c = d = 0, который... То есть этот участок кода как бы развертывается в такой: d = 0; c = d; b = c; a = b; Итак, как мы видим, всем четырем переменным присвоено начальное значение всего одним оператором.Пример: · i=j=k=0; à k=0; j=k; i=j; · i=1; j=3; a[i][j]=i=i+1; à i=2 a[2][3]=2
5.2 Оператор перехода Формат goto <метка>; <помеченный оператор> <метка>:= <идентификатор>, полноценный идентификатор, созданный по правилам языка Си. <помеченный оператор>:= <метка>: <оператор>; Пример: goto label; … label: x++;
5.3 Условный оператор. Пустой оператор
Конструкции ветвления позволяет выполнять некоторые операторы только в том случае, если выполняется некоторое условие. Кроме того, расширенный оператор ветвления позволяет выполнить другой оператор в том случае, если условие не выполняется.
Дата добавления: 2014-01-05; Просмотров: 565; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |