Другие языки программирования и технологии
Прогроммёры! C# Бошка не варит. Если есть условие if (A или Б) и истинными окажутся оба - условие будет true?
Нужно ли городить такой огород: If ((A или Б) или (А и Б)) ?
Расскажу для с++, но думаю для шарпа анологично:
A || B || C - будет произведена проверка первого условия (A) если оно истино то остальные условия не проверяются и выражение считается истинным. Если же первое условие не истино то проверяется второе, третье и т. д. до тех пор пока не будет найдено истинное условие или все условия будут ложными (в последнем случае вернет false).
A|B|C - будет выпонено побитовое ИЛИ со всеми переменными (если это условия то с их истинностью конвертированными в int).
A&&B&&C - Будет произведена проверка истинности сначала первого условия, если оно ложно то проверка выполняться дальше не будет, а возвращено будет false. Если первое условие истино, то будет проверено второе условие и т. д. до тех пор пока не будет найдено ложное условие или все условия будут истинными (в последнем случае вернет истину).
A&B&C - будет произведено побитовое И со всеми переменными (или условиями конвертированными в int).
Конвертация условия в int
если условие истино (true) то это будет 1
если условие ложно (false) то 0
A || B || C - будет произведена проверка первого условия (A) если оно истино то остальные условия не проверяются и выражение считается истинным. Если же первое условие не истино то проверяется второе, третье и т. д. до тех пор пока не будет найдено истинное условие или все условия будут ложными (в последнем случае вернет false).
A|B|C - будет выпонено побитовое ИЛИ со всеми переменными (если это условия то с их истинностью конвертированными в int).
A&&B&&C - Будет произведена проверка истинности сначала первого условия, если оно ложно то проверка выполняться дальше не будет, а возвращено будет false. Если первое условие истино, то будет проверено второе условие и т. д. до тех пор пока не будет найдено ложное условие или все условия будут истинными (в последнем случае вернет истину).
A&B&C - будет произведено побитовое И со всеми переменными (или условиями конвертированными в int).
Конвертация условия в int
если условие истино (true) то это будет 1
если условие ложно (false) то 0
Денис Дурнев
Для C# всё верно, кроме автоматического преобразования типов. В C# и Java bool это отдельный тип, который не преобразуется в int и обратно. Более строгая типизация, чем в C/C++.
Коля Рюмкин
Спасибо!) Освежили память.) Все это проходил и уже благополучно забыл.)
поеду на Z5 или трамвае
или
поеду на Z5 и трамвае
на выходе поеду хучь на чём, но точно поеду
или
поеду на Z5 и трамвае
на выходе поеду хучь на чём, но точно поеду
или - если хотя бы одно из двух, если оба - проходит, чтоб только одно из двух - нужно исключающее или
не надо городить, все норм будет с if (A или Б)
В принципе да
Второе можешь убрать а и б и или убери, так как если а или б не истины то и все выражение не истино, а если а или б в первом выражении истинно, то и все выражение истино
Похожие вопросы
- Учу C++! Уже знаю: типы данных, циклы. условия, привидения и т. д учу 5дней. вот программа! Как норм за 5 дней?
- Найти трехзначные числа a, b, c, все цифры которых различны и удовлетворяют уравнению a^2 – b^2 – c^2 = a – b – c.
- Что оптимальнее: if(a > 0) или if(a != 0) ?
- Вопросик по Pascal. Есть переменные A,B,C,D. Как сделать так, чтобы при вводе A выводилось цифра 1, B - 2, C-3, D-4?
- Объясните пожалуйста, как в ассемблере записывается ветвление (условие if)?
- Существует ли программа, в которой в условии if можно не писать then?
- c++, if Без условия ?
- Помогите испрвить код Переписать первые элементы каждой строки матрицы a(n*m), больше некоторого числа C, в массив b .
- Уравнение a*x+b*y=c
- помогите составить таблицы истиности -А -> (B + C); (A B) * C; -A + -B + C; - (A + B) * C ; A * B _+ C; A B