Что такое истина?

Что такое истина?

     Каждое условное выражение проверяется "истинно" ли оно или ложно. При этом возникает интересный вопрос: Что такое истина?

     Мы можем ответить на этот вечный вопрос по крайней мере так, как он решен в языке Си. Напомним, во-первых, что выражение в Си всегда имеет значение. Это утверждение остается вepным даже для условных выражений, как показывает пример, приведенный ниже. В нем определяются значения двух условных выражений, одно из которых оказывается истинным, а второе - ложным.

/* истина и ложь*/

main( )

{

    int true, false;

    true = (10 > 2); /* отношение истинно */

    false = (10 = =2); /* отношение ложно */

    printf("true = %d; false = %d " , true, false);

}

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

true = 1; false = 0

     Вот как! Оказывается, в языке Си значение "истина" - это 1, a "ложь" - 0. Мы можем это легко проверить, выполнив программу, приведенную ниже.

/* проверка истинности */

main( )

 {

if(1)

    printf(" 1 соответствует истине. " );

else

    printf(" 1 не соответствует истине. ");

if(0)

    printf(" 0 не означает ложь. ");

else

    printf(" 0 означаетложь. ");

}

     Мы скажем, что 1 должна рассматриваться как истинное утверждение, а 0 - как ложное. Если наше мнение верно, то в первом операторе if должна выполниться первая ветвь (ветвь if, а во втором операторе if - вторая (ветвь else). Попробуйте запустить программу, чтобы узнать, правы ли мы.