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

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

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

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

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

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

Интервал:

Закладка:

Сделать

/* занятость */

main( )

{

int age = 20;

while(age++ <= 65)

{ if((age % 20) = =0) /* делится ли возраст на 20 ? */

printf(" Вам %d. Поздравляем с повышением!\n", age);

if (age = 65)

printf(" Вам %d. Преподносим Вам золотые часы \n", age);

} }

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

Вам 40. Поздравляем с повышением

Вам 60. Поздравляем с повышением

Вам 65. Преподносим Вам золотые часы

На самом деле, однако, выход будет таким:

Вам 65. Преподносим Вам золотые часы

Вам 65. Преподносим Вам золотые часы

Вам 65. Преподносим Вам золотые часы

Вам 65. Преподносим Вам золотые часы

Вам 65. Преподносим Вам золотые часы

и т. д.- до бесконечности.

В чем дело? Это произошло не только потому, что мы плохо спроектировали программу, но и потому, что мы забыли свои собственные предостережения и использовали выражение:

if (agе= 65)

вместо

if (age == 65)

Последствия ошибки оказались катастрофическими. Когда в процессе выполнения программа достигает указанного оператора, она проверит выражение ( аgе = 65). Это выражение, включающее в себя опреацию присваивания, имеет значение, которое совпадает со значением переменной, расположенной слева от знака, т.е. с 65 (в любом случае). Поскольку 65 не равно нулю, выражение считается истинным" и выполняется команда вывода на печать. Затем, когда в программе происходит передача управления на команду проверки условия в цикле while, значение переменной аgепо-прежнему равно 65, что меньше или равно 65. Условие оказывается истинным и величина аgеувеличивается до 66 (ввиду наличия операции увеличения ++в постфиксной форме), и тело цикла выполняется еще раз. Прекратится ли его выполнение на следующем шаге? Должно было бы, поскольку величина аgетеперь больше, чем 65. Когда программа опять попадает на наш ошибочный оператор ifпеременная аgеснова получит значение 65. В результате сообщение будет напечатано еще раз, затем тело цикла выполнится еще раз, и т.д. - до бесконечности (Конечно, если вы в конце концов не захотите остановить программу).

Подводя итоги, можно сказать, что операции отношения используется для образования условных выражений. Условное выражение имеет значение "1", когда оно истинно, и "0", если оно ложно. В операторах (таких как whileи if), где обычно используются условные выражения для задания проверяемых условий, могут применяться любые выражения, причем ненулевое значение является истиной", а нуль - "ложью".

Приоритеты операций отношения

Приоритет операций отношениясчитается меньшим, чем у операций +и -, и больше, чем у операции присваивания. Например, значение выражения:

х > y + 2

то же, что и выражения

х > (у + 2)

Это означает также, что выражение

ch = getchar( ) != EOF

эквивалентно

ch = (getchar( ) != EOF)

поскольку наличие у оператора !=, более высокого приоритета говорит о том, что она выполняется перед присваиванием. Поэтому значение переменной chможет стать либо 1, либо 0 ввиду того, что (getchar( ) != EOF)- условное выражение, значение которого присваивается переменной ch. Поскольку в примерах программ рассмотренных до сих пор, предполагалось, что переменная chполучает свое значение от функции getchar( ), мы использовали скобки, чтобы организовать выполнение операций в нужном порядке.

(ch = getchar( )) != EOF

Сами операции отношения можно разбить на две группы в соответствии с назначенными приоритетами:

группа операций более высокого приоритета: < <= => >

группа операций более низкого приоритета: = = !=

Подобно большинству остальных операций операции отношения выполняются слева направо. Поэтому под записью:

ех != wye == zee

подразумевается

(ex != wye) == zee

Следовательно, в соответствии с правилами языка Си сначала проверяется, равны ли значения переменных ехи wye. Результирующая величина, равная 1 или 0 (истина или ложь), затем сравнивается со значением zee. Мы не видим реальной необходимости использовать подобного сорта конструкцию, но считаем своим долгом указать на возможные следствия принятого порядка выполнения операций.

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

Резюме: операции отношения и выражения

1. Операции отношения

С помощью каждой из приведенных ниже операции величина слева от знака сравнивается с величиной справа от него:

2. Больше

3. Больше или равно

4. Равно

5. Меньше или равно

6. Меньше

7. Не равно

УСЛОВHЫЕ ВЫРАЖЕНИЯ

Понятие условное выражение состоит из знака операции отношения и операндов, расположенных слева и справа от него. Если отношение истинно, значение условного выражения равно 1, если отношение ложно, значение условного выражения равно 0.

Примеры:

Отношение 5 > 2: истинно и имеет значение 1.

Отношение (2 + а) = = а: ложно и имеет значение 0.

ЛОГИЧЕСКИЕ ОПЕРАЦИИ

Иногда бывает полезным объединить два или более условных выражения. Например, предположим, нам требуется программа, которая подсчитывает только "непустые" символы, т. е. мы хотим знать число символов, не являющихся пробелами, символами "новая строка" и табуляции. Для этого мы можем использовать "логические" операции. Ниже приводится короткая программа иллюстрирующая этот способ подсчета:

/* число символов */

/* подсчитывает не пустые символы */

main( )

{

int ch;

int charcount = 0;

while ((ch = getchar( )) != EOF)

if(ch !=' ' && ch \='\n' && ch != '\t') charcount++;

printf(" Всего %d непустых символов. \n", charcount);

}

Так же как это обычно происходило в наших предыдущих программах, данная программа начинает свое выполнение с чтением символа и проверки, является ли он признаком конца файла. Дальше появляется нечто новое - оператор, использующий логическую операцию "и", обозначаемую &&. Смысл действий, осуществляемых оператором ifв данном случае, можно пояснить следующим образом:

Если прочитанный символ не пробел, Ине символ "новая строка", Ине символ табуляции, то происходит увеличение значения переменной charcountна единицу.

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

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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