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

Смысл выражения x%2 - C++

Восстановить пароль Регистрация
 
olel41a
0 / 0 / 0
Регистрация: 09.08.2010
Сообщений: 22
24.11.2010, 14:31     Смысл выражения x%2 #1
Здравствуйте. Помогите разобраться с кодом. Я только начинаю изучать C++. Просматриваю примеры кодов из раздела "Задача для лучшего понимания" форума. Вопрос следующий: что означает строка
C++
1
if(!(x%2))
в примере
C++
1
2
3
4
5
6
7
 int x=1;
    while(++x<10)
    {
      if(!(x%2)) continue;
      if(!(x%2)) break;
      }
cout << x << endl;
и зачем нужна строка
C++
1
if(!(x%2)) break;
ведь и с ней, и без неё код работает одинаково.
Заранее благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2010, 14:31     Смысл выражения x%2
Посмотрите здесь:

Объясните смысл выражения C++
C++ [C/C++] Смысл многоточия (...)
подскажите смысл выражения C++
В чем смысл выражения "y+='A'-10" ? C++
C++ Смысл выражения
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
24.11.2010, 14:40     Смысл выражения x%2 #2
Давайте разбираться изнутри. Что за операция %? Эта операция возвращает остаток от деления своего левого операнда на правый. Т.е. x % 2 - остаток от деления x на два. Он может быть либо 0 (число чётное), либо 1 (число нечётное). Когда над результатом производится операция !, то этот результат неявно приводится к типу bool, т.о. единица становится true, а нуль - false. Когда производим операцию отрицания !, получаем соответственно, что true становится false и наоборот. Таким образом, в итоге получаем, что то, что заключено в if, выполнится тогда, когда число нечётное.
Ну а зачем тут эта строка с бряком - мне тоже не очень ясно, ведь при выполнении условия всё равно будет происходить continue и до второго if'а не дойдёт, либо вообще ничего не будет выполняться - при невыполнении условия.
olel41a
0 / 0 / 0
Регистрация: 09.08.2010
Сообщений: 22
24.11.2010, 14:57  [ТС]     Смысл выражения x%2 #3
Спасибо. Теперь всё ясно.
legend
24.11.2010, 15:03     Смысл выражения x%2
  #4

Не по теме:

Цитата Сообщение от olel41a Посмотреть сообщение
З
и зачем нужна строка ведь и с ней, и без неё код работает одинаково.
Ну да.. чисто логически она не нужна.. типо смысл рисовать на белом полотне белой краской??

Yandex
Объявления
24.11.2010, 15:03     Смысл выражения x%2
Ответ Создать тему
Опции темы

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