|
Типы, операторы и выраженияМы уже видели, что утверждение присвоения возвращает определенное значение и может употребляться в больших выражениях; типичным примером может служить while ((c = getchar ())! = EOF) ... Другие операторы присвоения (+ =, -= и т.д.) также могут встречаться внутри выражений, хотя и не так часто. В таких выражениях, тип выражения присвоения совпадает с типом левого операнда, а значение соответствует значению после присвоения. Упражнение 2-9. В двоичной цифровой системе (two's complement number system), x & = (x-1) изымает крайний правый бит с x. Объясните почему. Воспользуйтесь этого наблюдения для написания более быстрой версии bitcount. Выражения условий Выражения вроде if (a> b) z = a; else z = b; вычисляют z как наибольшее значение из числа a и b. Условное выражение с использованием тройничного оператора "?:" Дают альтернативный способ написания подобной конструкции. В выражении expr1? expr2: expr3 выражение expr1 рассматривается первым. Если expr1 ненулевой (истина), тогда исчисляется expr2, и это и будет конечным значением целого выражения условия. В противном случае вычисляется expr3, и он станет конечным значением. Оценивается только один из expr2 и expr3. Таким образом, чтобы установить z до максимального значения a или b, мы напишем z = (a> b)? a: b; / * z = max (a, b) * / Следует заметить, что выражение условия - это действительно выражение, и может быть использован там где любой другой. Если expr2 и expr3 - разных типов, тип результата определяется правилами преобразования, оговоренных ранее в этом разделе. Например, если f имеет тип float, а n - это int, тогда выражение (N> 0)? f: n будет типа float, независимо от того, n положительный. Продолжение статьи: ч.1 Продолжение статьи: ч.2 Продолжение статьи: ч.3 Продолжение статьи: ч.4 Продолжение статьи: ч.5 Продолжение статьи: ч.6 Продолжение статьи: ч.7 Продолжение статьи: ч.8 Продолжение статьи: ч.9 Продолжение статьи: ч.10 Продолжение статьи: ч.11 Продолжение статьи: ч.12 Продолжение статьи: ч.13 Продолжение статьи: ч.14 Продолжение статьи: ч.15 Продолжение статьи: ч.16 Продолжение статьи: ч.17 Продолжение статьи: ч.18 Продолжение статьи: ч.19 Другие статьи по теме: - Символьные массивы- Функции и структура программ - Введение в c++ - Типы, операторы и выражения - Внешние переменные и область действия |
|
2006-2024 © SMTI.RU Главная страница | Связаться с нами |