Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 11.02.2014
Сообщений: 22
1

Логический оператор ИЛИ

11.02.2014, 22:24. Показов 1550. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет,на днях преподаватель задал интересный вопрос: "Почему в С++ для оператора ИЛИ используют "|| ",а не "|" ?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.02.2014, 22:24
Ответы с готовыми решениями:

Логический оператор AND
Помогите понят что делает этот код и как. char *cp="Hello World!"; while(cp && *cp) Я не...

Логический оператор or
Мне, правда, очень стыдно :) но я не понимаю, как правильно прописать следующее: cin >> n; if...

Не выполняется логический оператор &&
Добрый день. В данном коде #include <iostream> #include <string> #include <cstdlib> using...

Составить логический калькулятор (конъюнкция, дизъюнкция, отрицание) на C или C++
Помогите, пожалуйста, составить программу, которая реализует логический калькулятор.

8
Каратель
Эксперт С++
6609 / 4028 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
11.02.2014, 22:27 2
Лучший ответ Сообщение было отмечено oleska-feska как решение

Решение

потому что "|" - это побитовое ИЛИ
1
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,520
11.02.2014, 22:28 3
Цитата Сообщение от oleska-feska Посмотреть сообщение
на днях преподаватель задал интересный вопрос:
а почему для сравнения используют == а не =
0
6 / 6 / 1
Регистрация: 22.11.2013
Сообщений: 123
11.02.2014, 22:32 4
Цитата Сообщение от ValeryS Посмотреть сообщение
а почему для сравнения используют == а не =
потому что = это оператор присваиванивания
== - оператор сравнения
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,520
11.02.2014, 22:36 5
ustus_alex,
и как ты думаешь я это не знаю?
сравни
Цитата Сообщение от oleska-feska Посмотреть сообщение
Почему в С++ для оператора ИЛИ используют "|| ",а не "|
Цитата Сообщение от ValeryS Посмотреть сообщение
почему для сравнения используют == а не =
похоже?
так создатели языка решили
хотя кто то мне говорил что сейчас можно писать OR вместо|| и AND вместо &&
сам не пробовал, ничего сказать не могу
0
6 / 6 / 1
Регистрация: 22.11.2013
Сообщений: 123
11.02.2014, 22:54 6
Цитата Сообщение от ValeryS Посмотреть сообщение
ustus_alex,
и как ты думаешь я это не знаю?
сравни


похоже?
так создатели языка решили
хотя кто то мне говорил что сейчас можно писать OR вместо|| и AND вместо &&
сам не пробовал, ничего сказать не могу
нет, не похоже... Поспешишь, - Форумчан насмешишь

Ради интереса попробовал сейчас на двух компиляторах с поддержкой с++11
Visual Studio 2012 & Intel C++ Compiler XE 14.0
Ничего из такого по умолчанию не работает...

ну, разве только после:
#define OR ||
0
Каратель
Эксперт С++
6609 / 4028 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
11.02.2014, 22:59 7
Цитата Сообщение от ustus_alex Посмотреть сообщение
нет, не похоже... Поспешишь, - Форумчан насмешишь
вот уж действительно
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,520
11.02.2014, 23:13 8
Цитата Сообщение от ustus_alex Посмотреть сообщение
Поспешишь, - Форумчан насмешишь
сейчас проверил на работающем проекте, посему на имена не смотри студия 2008
C++
1
2
3
#include <ciso646>
.............................
 bool a= hWnd==0 and message!=0;
все робит
правда ошибся не AND а and

Добавлено через 3 минуты
ради интереса содержимое файла
ciso646
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
// ciso646 standard header
#pragma once
#ifndef _CISO646_
#define _CISO646_
#include <yvals.h>
 
#include <iso646.h>
#endif /* _CISO646_ */
 
/*
 * Copyright (c) 1992-2007 by P.J. Plauger.  ALL RIGHTS RESERVED.
 * Consult your license regarding permissions and restrictions.
 V5.03:0009 */
ну и iso646.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#pragma once
#ifndef _ISO646
#define _ISO646
 
#if !defined(__cplusplus) || defined(_MSC_EXTENSIONS)
 #define and    &&
 #define and_eq &=
 #define bitand &
 #define bitor  |
 #define compl  ~
 #define not    !
 #define not_eq !=
 #define or     ||
 #define or_eq  |=
 #define xor    ^
 #define xor_eq ^=
#endif /* !__cplusplus || _MSC_EXTENSIONS */
 
#endif /* _ISO646 */
 
/*
 * Copyright (c) 1992-2007 by P.J. Plauger.  ALL RIGHTS RESERVED.
 * Consult your license regarding permissions and restrictions.
 V5.03:0009 */
те же define

хотя мне это не так сильно и нужно, не привык-с
0
320 / 225 / 74
Регистрация: 22.11.2013
Сообщений: 865
Записей в блоге: 1
11.02.2014, 23:19 9
Цитата Сообщение от ustus_alex Посмотреть сообщение
ну, разве только после:
#define OR ||
и
Цитата Сообщение от ValeryS Посмотреть сообщение
#include <ciso646>

Не по теме:

Я сам переходил с Delphi на VC++ и в коде на первых парах приятней было бы видеть это, но сейчас синтаксис в С++ мне кажется на много более изящным (если забыть про массивы, хотя и с ними то только на первых парах не привычно только было). Как вы думаете зачем вот это все сделано?



Добавлено через 1 минуту
Цитата Сообщение от ValeryS Посмотреть сообщение
хотя мне это не так сильно и нужно, не привык
а я так уже отвык
0
11.02.2014, 23:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.02.2014, 23:19
Помогаю со студенческими работами здесь

Оператор ИЛИ
Программа должна проверять строку на правильность ввода(строка состоит из последовательностей нолей...

Создать оператор, наподобии if или while
Могу ли я, пользуясь встроенными средствами C++ (ну или какой-нибудь библиотекой) создать...

Оператор if или где скрыта ошибка
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { ...

оператор pow, или почему он не работает?!
Задание: Дано целое число N и набор из N вещественных чисел: А1, А2,...,AN Вывести следующие...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru