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

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

Войти
Регистрация
Восстановить пароль
 
VLK
193 / 162 / 12
Регистрация: 05.05.2013
Сообщений: 1,225
#1

Форма записи с использованием "?" знака - C++

29.07.2013, 13:43. Просмотров 446. Ответов 12
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream> 
 
int main()
{
int a = 0;
int b = 0;
int res = 0;
std::cin >> a >> b;
 
res = (a > 0 && b < 10) ? a: 100;
 
std::cout << res << "\n";
 
system("pause");
return 0;
}
строчка 10, подскажите, правильно ли я понимаю запись и самое главное конструкцию

(a > 0 && b < 10) ? a - если условия в скобках выполняются, то будет присвоено a причем a будет взято из-за скобок, т.е. вот это a (выделенное жирным) - (a > 0 && b < 10) ? a

(a > 0 && b < 10) ? a: 100 если условие в скобках не выполняется то будет присвоено значение 100 т.е. ни a ни b, а именно 100.

все верно?

Добавлено через 2 минуты
И еще вопрос, то что я a, b, res сразу инициализирую нулями (во избежание ошибок, конечно не в данной программе, а вообще), это нормальный подход или я только зря строчки перевожу (можно же было записать int a, b, res;) ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.07.2013, 13:43     Форма записи с использованием "?" знака
Посмотрите здесь:

Вывести на экран с точностью два знака число "е" (натуральный логарифм) - C++
Всем привет! Нужно написать программку на вывод на экран с точностью два знака число &quot;е&quot; (натуральный логарифм), но не знаю с чего начать и...

Значение знака "%" - C++
Доброго времени суток! Знатоки вопрос к Вам (так как С++ не поддается изучению методом нахрапа) Что означает знак &quot;%&quot; перед именем...

Калькулятор из главы 6 книги Б.Страуструппа "Пинципы и практика с использованием C++" - C++
Доброго времени суток. Во главе 6 возникли проблемы с функционированием калькулятора. Я ввожу выражение(или лексему) и дальше ничего не...

Как с использованием графических средств C++ сделать "движущийся самолёт"? - C++
Есть программный код этого &quot;самолёта&quot; (написан на dev-C++). Нужно изменить код так, чтобы он правильно передвигался в пространстве. Также...

Шифрование и дешифрование с использованием алгоритма "исключающее ИЛИ" - C++
Мне нужно создать программу шифрования или дешифрования с помощью алгоритма &quot;исключающее ИЛИ&quot;. Нашла что-то подобное,но при вводе х(любое...

"Вычисление функций с использованием их разложения в степенной ряд" - C++
Цель: Практика в организации итерационных и арифметических циклов, использование функций. Постановка задачи Для х изменяющегося от...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dani
1300 / 637 / 56
Регистрация: 11.08.2011
Сообщений: 2,280
Записей в блоге: 2
Завершенные тесты: 1
29.07.2013, 13:44     Форма записи с использованием "?" знака #2
В скобках только одно логическое выражение: (a > 0 && b < 10). Если оно истинно, то идем по ветке ? (в данном случае, будет заменено присвоено a). Идем по ветке ":" если условие ложно.
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
29.07.2013, 13:45     Форма записи с использованием "?" знака #3
Цитата Сообщение от VLK Посмотреть сообщение
res = (a > 0 && b < 10) ? a: 100;
по другому это можно записать вот таким способом:
C++
1
2
3
4
if (a > 0 && b < 10)
    res = a;
else
    res = 100;
это одно и то же
Fintt
10 / 10 / 0
Регистрация: 13.02.2012
Сообщений: 94
29.07.2013, 13:45     Форма записи с использованием "?" знака #4
Цитата Сообщение от VLK Посмотреть сообщение
(a > 0 && b < 10) ? a
верно
Цитата Сообщение от VLK Посмотреть сообщение
(a > 0 && b < 10) ? a: 100;
тоже самое только иначе 100(else) Вроде так
Dani
1300 / 637 / 56
Регистрация: 11.08.2011
Сообщений: 2,280
Записей в блоге: 2
Завершенные тесты: 1
29.07.2013, 13:46     Форма записи с использованием "?" знака #5
Лучше инициализировать где есть потенциальная угроза вызвать неинициализированную переменную. Например, можно не инициализировать если на следующей строке будет ввод этой переменной.
VLK
193 / 162 / 12
Регистрация: 05.05.2013
Сообщений: 1,225
29.07.2013, 13:47  [ТС]     Форма записи с использованием "?" знака #6
А, все я понял конструкцию, если true то до двоеточия (":") и будет присвоено значение, которое идет после "?", если false, то берется только то что после двоеточия (":").
Fintt
10 / 10 / 0
Регистрация: 13.02.2012
Сообщений: 94
29.07.2013, 13:49     Форма записи с использованием "?" знака #7
Цитата Сообщение от VLK Посмотреть сообщение
И еще вопрос, то что я a, b, res сразу инициализирую нулями (во избежание ошибок, конечно не в данной программе, а вообще), это нормальный подход или я только зря строчки перевожу (можно же было записать int a, b, res; ) ?
Не стоит обнулять, всё равно присвоишь значения с клавиатуры.
VLK
193 / 162 / 12
Регистрация: 05.05.2013
Сообщений: 1,225
29.07.2013, 13:56  [ТС]     Форма записи с использованием "?" знака #8
Цитата Сообщение от Fintt Посмотреть сообщение
Не стоит обнулять, всё равно присвоишь значения с клавиатуры.
Ну в этой программе да, а если программа большая и в ней очень много переменных и есть шанс на то, что я забуду что то инициализировать при этом в программе буду пытаться к этой переменной обратиться, тогда же будет печально?
Dani
1300 / 637 / 56
Регистрация: 11.08.2011
Сообщений: 2,280
Записей в блоге: 2
Завершенные тесты: 1
29.07.2013, 13:57     Форма записи с использованием "?" знака #9
Форма записи с использованием "?" знака
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
29.07.2013, 14:00     Форма записи с использованием "?" знака #10
не стоит обнулять - это лишняя инструкция присвоения для процессора
Fintt
10 / 10 / 0
Регистрация: 13.02.2012
Сообщений: 94
29.07.2013, 14:00     Форма записи с использованием "?" знака #11
Вообще пишут в книгах что "не жалейте времени на придумывания переменных", чтобы не путаться. Если использовать те же переменные это как бы не оч правильно, сам не разберёшься что к чему, а если будешь так делать, то нужно будет обнулять. Почитай про локальные и глобальные переменные, в примерах увидишь где нужно обнулять.
VLK
193 / 162 / 12
Регистрация: 05.05.2013
Сообщений: 1,225
29.07.2013, 14:02  [ТС]     Форма записи с использованием "?" знака #12
И еще вопрос, может он покажется глупым и размыты, какие еще комбинации записи существуют с "?" знаком?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.07.2013, 14:07     Форма записи с использованием "?" знака
Еще ссылки по теме:

Для агрегатного объекта требуется инициализация с использованием "{.}" - C++
Помогите.. как засунуть \\&quot; + string(z) + &quot;\\ правельно unsigned long Size = 256; char *z = new char; ...

Придумать задачу на массивы с использованием логической операции "И" - C++
Здравствуйте . Нужно придумать задачу на массивы с использованием логической операции &quot;И&quot; (AND) Я не могу понять , какую задачу можно...

Написать программу с использованием алгоритма "Решето Эратосфена" - C++
Написание программу с использованием алгоритма &quot;Решето Эратосфена &quot;.&quot;, Которая подсчитывает все простые числа в диапазоне от 2 до 2000000...

Эмуляция планировщика процессов с использованием волокон. Алгоритм "случайный выбор" - C++
Прошу помочь.Есть готовая программа(готовый код).Хочу знать, что значит каждая строка кода. Для написания курсовой работы. using...


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

Или воспользуйтесь поиском по форуму:
SatanaXIII
Супер-модератор
Эксперт С++
5602 / 2636 / 242
Регистрация: 01.11.2011
Сообщений: 6,495
Завершенные тесты: 1
29.07.2013, 14:07     Форма записи с использованием "?" знака #13
VLK, Тернарная условная операция.
Yandex
Объявления
29.07.2013, 14:07     Форма записи с использованием "?" знака
Ответ Создать тему
Опции темы

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