Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Условная тройная операция

 

Для реализации ветвления можно также применить условную тройную (тернарную) операцию, следующего вида: (x>y)? z=x: z=y;.
1 2 3

В ней выделяют три части:

1) логическое выражение;
2) операторы, выполняющиеся, если его результат “ истина ”;
3) операторы, выполняющиеся, если его результат “ ложь ”.

Символы “? ” и “: ” являются разделителями частей тройной операции.

 

// Пример 4.2.11

// Условная (тройная) операция – большее из двух

#include <iostream>

using namespace std;

int main() {

setlocale(LC_ALL, "Russian"); // для вывода на экран русского текста

int x, y,z=0;

cout << " Введите два числа чере пробел\n";

cin >> x >> y;

// оператор if

if (x > y)

z=x;

else

z=y;

cout << "z: " << z << "\n";

cin.get();

// условная тройная операция

z=0;

//z=(x>y)? x: y;

(x>y)? z=x: z=y;

cout << "z: " << z << "\n";

cin.get();

return 0;

}


 

Практические задания

1. Каково значение 21 / 4 и 21 % 4?

2. Каким будет значение 8+2*3.? Какой тип возвращает это выражение?

3. Переведите расстояние, заданное в км., в мили. (1 миля=1609 м.)

4. Переведите температуру из градусов по Фаренгейту в градусы по Цельсию
(Формула для перевода: Ц=5/9(Ф-32)).

5. Вычислите вес объекта, заданный в фунтах, в килограммах и граммах (1 ф.=0.453592 кг.).

6. Если средняя частота ударов сердца человека 1 в секунду, ск. ударов сердце совершит за 78 лет? (за n лет?).

7.

 
 

Запишите правильно математические выражения на С++

8. Каким будет результат?
char ch=’л’;
cout << “ch=” << ch << “int=” << (int) ch;

9. Что будет напечатано при выполнении следующих операторов:
int i=0; cout << ++i << “ “ << i-- << endl; cout << i << endl;

10. В чем различие между x = 3 и x = = 3?

11. Правильно ли следующее перечисление: enum bool {TRUE, FALSE};?

12. Объясните почему эквивалентны следующие операторы:
a) if (x) x=0; и if (x!= 0) x=0;
b) if (!x) x=1; и if (x = = 0) x=1;

13. Каков будет результат?
int a=1, b=1, c;
if (c=(a-b))
cout << “c=” << c;

14. Напишите if, проверяющий две целые переменные и изменяющий большее на меньшее.

15. Запишите тоже самое, используя тройную операцию?

16. Определите большее из трех чисел, введенных с клавиатуры?

17. Напишите функцию, возвращающую меньшее из двух чисел и с ее помощью определите меньшее из 5 чисел.

18. Введите с клавиатуры целое число от 1 до 100. В случае ввода неправильного значения напечатайте сообщение об ошибке на экране и завершите выполнение программы.

19. Введите с клавиатуры и выведите на экран одну букву русского алфавита. В случае ввода не русской буквы напечатайте сообщение об ошибке на экране и завершите выполнение программы.

20. Выполните вычитание двух беззнаковых целых, если уменьшаемое больше вычитаемого.

21. Выполните деление двух вещественных, если делитель не 0.

 

Контрольные вопросы

 

1. Каким символом должен заканчиваться оператор?

2. Что такое пустой оператор?

3. Что такое лексема? Приведите примеры лексем.

4. Что такое составной оператор(блок)?

5. Что обозначает термин “операция”? Какие бывают операции?

6. Что такое выражение? Какие бывают выражения?

7. Что означает фраза “выражение возвращает значение?”.

8. Как работает операция присваивания?

9. Объясните термины “l-value” и “r-value”? Может ли константа быть l-value?

10. Как записываются математические операции?

11. Какие особенности у операций деление целых и остаток деления целых?

12. Существует ли операция остаток от деление вещественных чисел?

13. Как можно сочетать оператор присваивания и математические операции?

14. Что такое инкремент и декремент? Как записываются эти операции?

15. В чем различие между префиксным и постфиксным инкрементом/декрементом?

16. В каком порядке выполняется вычисление математических выражений?

17. В каком порядке выполняется множественное присваивание?

18. Для чего в выражениях используются круглые скобки?

19. Всегда ли возможно выполнение операции “приведение типа”?

20. Почему рекомендуется применять операцию “приведение типа” в стиле С++?

21. Что может произойти при вычитании беззнаковых целых?

22. Что произойдет при делении на 0?

23. Как определяется истина и ложь?

24. Как правильно записываются операции отношения?

25. Какие логические операторы имеются в языке и как они записываются?

26. Как существуют виды оператора if? Как они записываются?

27. Для чего используются круглые и фигурные скобки в операторе if?

28. Для чего применяется условная тройная операция? Как она записывается?

 


Тема 5: Функции.

 

<== предыдущая лекция | следующая лекция ==>
Сложные логические выражения | Обоснование необходимости объявления функций
Поделиться с друзьями:


Дата добавления: 2014-01-03; Просмотров: 590; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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