Чем их называют [копируют]

8
задан Community 23 May 2017 в 12:17
поделиться

9 ответов

троичные утверждения

9
ответ дан 5 December 2019 в 04:28
поделиться

Условное выражение

      Conditional Expression
   <------------------------>
    (x < y)    ?      x : y
    |_____|    |________|
     Test       Conditional
    Expression   Operator

Символы '?' и ':' составляют условный оператор.

18
ответ дан 5 December 2019 в 04:28
поделиться

(В качестве раздражающего придирки: для некоторых Причина, несмотря на то, что вопрос касается оператора , большинство людей дает ответы об операторе .)

Во-первых, в вашем примере действительно есть ] заявление . Это называется оператором выражения . В C ++ есть различные типы операторов (оператор объявления, оператор перехода, оператор итерации и т. Д.), И этот оператор является оператором выражения. Итак, если ваш вопрос действительно о том, что это за оператор , педантично правильный ответ будет: это оператор выражения . Конец истории.

Теперь, во-вторых, если вы хотите пойти глубже, вы можете выделить выражение, которое используется в этом выражении. В этом случае выражение имеет условный оператор ?: на верхнем уровне. Первый операнд этого оператора - это подвыражение, использующее реляционный оператор > ... и так далее.

3
ответ дан 5 December 2019 в 04:28
поделиться

О синтаксисе языка

Что такое эти утверждения в c ++ вызвал:

Вы задали вопрос с несколькими ответами. Технически это будет зависеть от фактического используемого языка, но то, что вы показали, очень типично для большого количества языков, имеющих общий синтаксис.

Заявления

Заявления - это просто способ обозначить блок токенов, который можно рассматривать как единое целое. Заявления обычно заканчиваются точкой с запятой ";". Некоторые операторы просты, например

print 0;

, в котором есть одно ключевое слово и один литерал, в то время как другие более сложные, например

a = foo(c*10) + 5;  

, в котором присваивание заключено в подвыражение возврата и арифметическое подвыражение, вызов функции с разрешением аргумента с участием подвыражения умножения с поиском переменной в качестве одного из операндов.

Ваше утверждение является результатом выражения.

testNumber  >  1  ?  true  :  false       ;
====================================      ======================  
expression that needs evaluated           end-of-statement marker  

Условный оператор

Условный оператор иногда называют «тернарным оператором». У него есть оператор и три (следовательно, тернарные) операнды.

testNumber > 1     ?    true     :    false   
==============    ---   =====   ---   ======
      |            |      |      |      |
      |            |    Exp2     |     Exp3
      |            |             |      
      |            └   Operator  ┘ 
      |
Exp1 (which has to be a boolean expression)

Результаты Exp1 или Exp2 возвращаются как значение выражения условного оператора, Exp1, если «Condition» истинно, Exp2 в противном случае.

Пояснение

Условный (троичный) оператор может быть не так хорошо знаком кодировщикам по разным причинам.

Одно из его типичных применений - упрощение кода, когда мы хотим вернуть разные вещи на основе некоторого условия.

Например, для данного

a = 0;
b = 5;

мы можем легко вернуть результат деления в одну строку

return (a == 0) ? NaN : b/a;  //Not-A-Number

Мы могли бы просто построить возврат с выражением

return (b/a);

, но мы хотим защитить себя от деления на ноль.Использование блока if / else привело бы к раздуванию кода.

if ( a == 0)
{
  return NaN;
}
else
{
  return b/a;
}

Связанные вопросы

К троичному или не троичному?
Какой стиль кодирования вы используете для тернарного оператора?
Разумно ли это использование тернарного оператора?

2
ответ дан 5 December 2019 в 04:28
поделиться

Это условный оператор .

Выражение a? b: c оценивается как b , если a истинно, и c , если a является ложным .

В большинстве языков это единственный пример тернарного оператора, который принимает три аргумента.

49
ответ дан 5 December 2019 в 04:28
поделиться

Это означает

//If this is true,
testNumber > 1
//testNumber is bigger than 1, then
true
//it is a true statemant, or
false
//else statement is faulse

или вы можете увидеть это так:

if(testNumber > 1) {
true
}
else {
false
}
1
ответ дан 5 December 2019 в 04:28
поделиться

Тернарный оператор. http://en.wikipedia.org/wiki/Ternary_operation

3
ответ дан 5 December 2019 в 04:28
поделиться

Тернарный оператор.

Ваше выражение предназначено для нахождения того, является ли значение истинным или ложным. Например,

boolean c = testNumber > 1 ? true : false;

Здесь, исходя из значения testNumber, c будет true или false.

1
ответ дан 5 December 2019 в 04:28
поделиться

Это выражение с тернарным (или условным) оператором в нем.

0
ответ дан 5 December 2019 в 04:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: