русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Альтернативные представления


Дата добавления: 2015-08-14; просмотров: 799; Нарушение авторских прав


Не все клавиатуры предоставляют возможность ввода символов, используемых для обозначения логических операций, поэтому в стандарте C++ предусмотрены их альтернативные представления, которые показаны в табл. 6.3. Идентификаторы and, or и not являются зарезервированными словами C++, а это значит, что их нельзя использовать в качестве имен переменных и тому подобного. Они не рассматрива­ются как ключевые слова, потому что являются альтернативными представлениями существующих средств языка. Кстати, они не являются зарезервированными словами в С, но в программах на С они могут применяться в качестве операций только при условии включения заголовочного файла iso646.h. В C++ этот файл не требуется.

 

Операция ?:

Язык С++ включает операцию, которая часто может использоваться вместо оператора if else. Она называется условной операцией, записывается как ?: и является единственной операцией C++, которая требует трех операндов. Ее общая форма вы­глядит следующим образом:

выражение1 ? выражение2 : выражениеЗ

 

Если выражение 1 истинно, то значением всего условного выражения будет значе­ние выражение2. В противном случае значением всего выражения будет выражениеЗ. Ниже приведены два примера, демонстрирующие ее работу:

 

5>3?10:12

// 5 > 3 истинно, поэтому значением выражения будет 10

3== 9? 25 : 18

// 3 == 9 ложно, поэтому значением всего выражения будет 18

Первый пример можно перефразировать так: если 5 больше, чем 3, то выражение оценивается как 10; иначе оно оценивается как 12. В реальных ситуациях программирования выражения, конечно же, могут включать в себя переменные.

Код в листинге использует условную операцию для нахождения большего из двух значений.

#include <iostream>

int main()

{

using namespace std;

int a, b;

cout << "Enter two integers: ";



cin >> a >> b;

cout << "The larger of (" << a << " and " << b << ");

int c = a > b ? a : b;

// c = a if a > b, else c = b

cout << " is " << c << endl;

getchar();

getchar();

return 0;

}

 

 


 

Ключевой частью программы является следующий оператор:

int c = a>b?a : b;

 

Он выдает тот же результат, что и приведенные ниже операторы:

int с;

if (а > b)

с = а; else

с = b;

 

По сравнению с последовательностью if else условная операция более короткая, но на первый взгляд не так очевидна. Одно отличие между этими двумя подходами заключается в том, что условная операция порождает выражение, а потому — един­ственное значение, которое может быть присвоено или встроено в более крупное выражение, как это сделано в программе из листинга выше, где значение условного вы­ражения присваивается переменной с.

Краткая форма и необычный синтаксис ус­ловной операции высоко ценится некоторыми программистами. Их любимый трюк, достойный порицания, состоит в использовании вложенных друг в друга условных выражений.

 



<== предыдущая лекция | следующая лекция ==>
Факты, связанные с логическими операциями | Оператор switch


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.642 сек.