Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.60
Larkin888
0 / 0 / 0
Регистрация: 17.05.2012
Сообщений: 42
#1

В чём отличие switch и if? - C++

21.06.2012, 20:57. Просмотров 3705. Ответов 8
Метки нет (Все метки)

Препод задал вопрос, я ответил, то что switch использует только int и char, возвращается не логическое выражение, а целое...

Она спросила, какие ещё есть отличия
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт CЭксперт С++
6627 / 3818 / 500
Регистрация: 29.11.2010
Сообщений: 10,072
21.06.2012, 21:00     В чём отличие switch и if? #2
switch - оператор множественного выбора, может обрабатывать различные варианты, в то время как if лишь один. Фактически, switch выглядит как множество if else if else ...
А работают они с выражениями, а не типами данных. От последних вобще ничего не зависит.
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
21.06.2012, 21:03     В чём отличие switch и if? #3
Инструкция if позволяет сделать выбор между двумя ветвями выполняемыми программы.

Инструкция switch - это инструкция многонаправленного ветвления, которая позволяет выбрать одну из множества альтернатив.
soon
2537 / 1302 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
21.06.2012, 21:04     В чём отличие switch и if? #4
Фактически выглядит как множество if else if else ...
MrGluck, не совсем. У Evg это расписано
http://www.cyberforum.ru/blogs/18334/blog91.html

А про условия вообще не понял.
MrGluck
Ворчун
Эксперт CЭксперт С++
6627 / 3818 / 500
Регистрация: 29.11.2010
Сообщений: 10,072
21.06.2012, 21:07     В чём отличие switch и if? #5
Цитата Сообщение от soon Посмотреть сообщение
MrGluck, не совсем. У Evg это расписано
http://www.cyberforum.ru/blogs/18334/blog91.html

А про условия вообще не понял.
Насчет условий - я успел поправиться)

Вобще, я понимаю, что немного не полностью описываю этот оператор. Но объяснение на пальцах выглядит именно так.
soon
2537 / 1302 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
21.06.2012, 21:13     В чём отличие switch и if? #6
Цитата Сообщение от MrGluck Посмотреть сообщение
Насчет условий - я успел поправиться)
Ладно, тогда поясните по поводу
Цитата Сообщение от MrGluck Посмотреть сообщение
а не типами данных. От последних вобще ничего не зависит.
MrGluck
Ворчун
Эксперт CЭксперт С++
6627 / 3818 / 500
Регистрация: 29.11.2010
Сообщений: 10,072
21.06.2012, 21:30     В чём отличие switch и if? #7
Цитата Сообщение от soon Посмотреть сообщение
Ладно, тогда поясните по поводу
Операторы обрабатывают выражение, а не переменные.
soon
2537 / 1302 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
21.06.2012, 21:45     В чём отличие switch и if? #8
Цитата Сообщение от MrGluck Посмотреть сообщение
Операторы обрабатывают выражение, а не переменные.
Ладно, хотя я все равно не понял, каким боком тут переменные. Я, собственно, почему уточнял: мне показалось, что, сказав "от типа данных ничего не зависит", вы имели в виду, что switch может обрабатывать любой тип данных.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2012, 21:52     В чём отличие switch и if?
Еще ссылки по теме:

В чём отличие унарных и бинарных операторов? C++
C++ Объяснить в чём отличие статической переменной от константы
C++ В чём отличие константного указателя и указателя на константу?
В чём отличие заголовочных файлов <iostream> и <iostream.h> ? C++
C++ В чём отличие разных способов объявления переменных?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Evg
Эксперт CАвтор FAQ
17387 / 5625 / 351
Регистрация: 30.03.2009
Сообщений: 15,407
Записей в блоге: 26
21.06.2012, 21:52     В чём отличие switch и if? #9
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Аргументом if'а является выражение логического типа, а количество альтернатив перехода по результату сравнения не может быть больше, чем количество разнообразных результатов логического типа. Т.е. у if'а могут быть не более двух альтернатив перехода (по true и по false)

Аргументом switch'а является выражение целочисленного типа. Соответственно, количество альтернатив перехода аналогичным образом ограничено количеством разнообразных результатов выражения. Т.е. если аргумент типа char, то количество возможных альтернатив перехода не более 256, если аргумент типа short - не более 65536 и т.п.

Любой оператор switch можно написать через if'ы. Точно так же любой оператор if можно написать через switch
Yandex
Объявления
21.06.2012, 21:52     В чём отличие switch и if?
Ответ Создать тему
Опции темы

Текущее время: 07:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru