M. УЭИТ - Язык Си - руководство для начинающих

Тут можно читать онлайн M. УЭИТ - Язык Си - руководство для начинающих - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство Мир, год 1988. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Язык Си - руководство для начинающих
  • Автор:
  • Жанр:
  • Издательство:
    Мир
  • Год:
    1988
  • Город:
    Москва
  • ISBN:
    5-03-001309-1 /русск./
  • Рейтинг:
    3.56/5. Голосов: 91
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

M. УЭИТ - Язык Си - руководство для начинающих краткое содержание

Язык Си - руководство для начинающих - описание и краткое содержание, автор M. УЭИТ, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
M. УЭИТ   С. ПРАТА    Д. МАРТИНЯзык Си — руководство для начинающих

Язык Си - руководство для начинающих - читать онлайн бесплатно полную версию (весь текст целиком)

Язык Си - руководство для начинающих - читать книгу онлайн бесплатно, автор M. УЭИТ
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Число: Результат:

5 Нет

10 Вы закончили!

15 Простите, вы потеряли ход!

Существует правило, которое гласит, что elseсоответствует ближайшему if, кроме тех случаев, когда имеются фигурные скобки. Мы сознательно записали этот фрагмент так, как будто elseсоответствует первому if, но вспомните, что компилятор не обратит внимания на отступы в строках. Если мы действительно хотим чтобы elseсоответствовал первому if, необходимо данный фрагмент оформить следующим образом:

if(number > 6)

{

if(number < 12) printf (" Вызакончили'\n");

}

else

printf(" Простите, вы потеряли ход!\n");

Теперь результат может выглядеть так

Число: Результат:

5 Простите, вы потеряли ход!

10 Вы закончили!

15 Нет

РИС 73 Структура соответствия ifи else Резюме использование операторов if - фото 44

РИС. 7.3. Структура соответствия ifи else.

Резюме: использование операторов if для организации выбора из нескольких вариантов

КЛЮЧЕВЫЕ CЛOBA: if, else

ОБЩИЕ ЗАМЕЧАНИЯ:

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

ФОРМА ЗАПИСИ 1:

if( выражение ) оператор

Оператор выполняется, если выражение истинно.

ФОРМА ЗАПИСИ 2:

if( выражение )

оператор1 else

оператор2

Если выражение истинно, выполняется оператор1 , в противном случае - оператор2 .

ФОРМА ЗАПИСИ 3:

if( выражение1 ) оператор1

else if( выражение2 ) оператор2

else оператор3

Если выражение1 истинно, выполняется оператор1 . Если выражение1 ложно, но выражение2 истинно, выполняется оператор2 . В случае, когда оба выражения ложны, выполняется оператор3 .

ПРИМЕР:

if(legs == 4)

printf("Это, возможно, лошадь. \n");

else if (legs > 4)

printf(" Это не лошадь. \n");

else /* случай, когда legs < 4 */

{ legs++;

printf(" Теперь животное имеет еще одну ногу.\n");

}

ЧТО ВАЖНЕЕ: ОПЕРАЦИИ ОТНОШЕНИЯ ИЛИ ВЫРАЖЕНИЯ

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

Операция: Смысл:
< меньше
<= меньше или равно
= = равно
>= больше или равно
> больше
!= не равно

Этот список довольно хорошо соответствует возможным числовым соотношениям. (Вообще говоря, числа, даже комплексные, менее сложны, чем люди). Главное предостережение, которое мы хотим сделать, состоит в том, чтобы не использовать знак =вместо = =. В некоторых языках программирования (например. Бейсике) один и тот же знак используется и для операции присваивания, и для операции отношения "равенство", хотя они совершенно различны. С помощью операции присваивания некоторое значение присваивается переменной слева от знака равенства. В то же время с помощью операции отношения "равенство" проверяется равно ли выражение, стоящее слева от знака, выражению справа от него. Эта операция не изменяет значения переменной в левой части, если она там присутствует.

canoes= = 5 проверяет, равняется ли значение переменной canoes5

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

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

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

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

main( )

{

int true, false;

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

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

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

}

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

true = 1; false = 0

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

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

main( )

{

if(1)

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

else

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

if(0)

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

else

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

}

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

Итак, чему же все-таки соответствует истина?

Мы можем использовать 1 и 0 в качестве проверочных значений оператора if. Спрашивается, можем ли мы использовать другие числа. Если да, то что при этом происходит? Давайте проведем эксперимент.

/* if - тест */

main( )

{

if (200)

printf("200 - это истина. \n");

if(-33)

printf(" -33 - это истина \n");

}

Pезультаты выглядят так

200 - это истина

-33- это истина

Очевидно, в языке Си числа 200 и -33 тоже рассматриваются как "истина". И действительно, все ненулевые величины принимаются в качестве "истины" и только 0 - как "ложь". В языке Си понятие истины оказывается чрезвычайно растяжимым.

Многие программисты обычно пользуются этим определением истинности. Например, строку

if(goats !=0)

можно заменить такой

if(goats)

поскольку выражение ( goats != 0) и выражение ( goats) оба примут значение 0, или "ложь", только в том случае, если значение переменной goatsравно 0. Мы думаем, что смысл второй формы записи менее очевиден, чем первой. Однако в результате компиляции она оказывается более эффективной, так как при реализации про граммы требует меньшего числа машинных операций.

Осложнения с понятием "истина"

Растяжимость понятия истина в языке Си может привести и к неприятностям. Рассмотрим следующую программу:

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


M. УЭИТ читать все книги автора по порядку

M. УЭИТ - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Язык Си - руководство для начинающих отзывы


Отзывы читателей о книге Язык Си - руководство для начинающих, автор: M. УЭИТ. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x