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. УЭИТ
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

x = (y < 0 )? -y : y;

Все, что находится между знаком =и символом "точка с занятой" представляет собой условное выражение. Смысл этого оператора заключается в следующем: если уменьше 0, то х = - у; в противном случае х = у. В терминах оператора if-elseданный оператор мог выглядеть так:

if(у < 0) x = (y < 0 )? -y : y;

х = -у;

else

х = у;

В общем виде условное выражение можно записать следующим образом:

выражение1 ? выражение2 : выражение3

Если выражение1 истинно (больше нуля), то значением всего условного выражения является величина выражения2 ;

если выражение1 ложно (равно 0), то значение всего условного выражения - величина выражения3 .

Условное выражение удобно использовать в тех случаях, когда имеется некоторая переменная, которой можно присвоить одно из двух возможных значений. Типичным примером является присваивание переменной значения большей из двух величин:

mах = (а > b)? а : b;

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

Резюме: операция условия

I. Операция условия: ?:

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

выражение1 ? выражение2 : выражение3 .

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

II. ПРИМЕРЫ:

Выражение: (5 > 3) ? 1 : 2 имеет значение 1

Выражение: (3 > 5) ? 1 : 2 имеет значение 2

Выражение: (а > b) ? a : b имеет значение большей из величин аи b.

МНОЖЕСТВЕННЫЙ ВЫБОР: ОПЕРАТОРЫ switch И break

Операция условия и конструкция if-elseоблегчают написание программ, в которых осуществляется выбор между двумя вариантами. Однако иногда в программе необходимо произвести выбор одного из нескольких вариантов. Мы можем сделать это используя конструкцию if-else if - ... - else, но во многих случаях оказывается более удобным использовать оператор switch. Ниже приводится пример, иллюстрирующий его работу. Программа читает с терминала букву, затем выводит на печать название животного начинеющееся с этой буквы.

/*животные*/

main( )

{

char ch;

printf("Введите букву алфавита, а я укажу");

printf("название животного, \n начинающееся с нее.\n");

printf("Введите, пожалуйста, букву; для завершения работы введите #. \n");

while((ch = getchar())!= '#')

{

if(ch != '\n') /* пропуск символа "новая строка" */

{ if(ch >= 'a' && ch <= 'я') /*разрешены только строчные буквы */

switch (ch)

{ case 'a' : printf(" аргали, дикий горный азиатский баран\n");

break;

case 'б' : printf(" бабирусса, дикая малайская свинья \n");

break;

case 'в' : printf(" выхухоль, водоплавающий крот \n");

break;

case 'г' : printf(" гиббон, длиннорукая обезьяна \n");

break;

case 'д' : printf(" дамандревесный\n");

break;

default: printf(" Это трудная задача!\n");

break;

} else

printf(" Я распознаю только строчные буквы. \n");

printf(" Введите, пожалуйста, следующую букву или #.\n");

} /* конец if, пропускающего символ "новая строка" */

} /* конец цикла while */

}

РИС. 7.7. Программа, печатающая названия животных.

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

Введите букву алфавита, а я укажу название животного, начинающееся с нее.

Введите, пожалуйста, букву; для завершения работы введите #.

а [возврат]

аргали, дикий горный азиатский баран Введите, пожалуйста, следующую букву или #. г

[возврат]

гиббон, длиннорукая обезьяна Введите, пожалуйста, следующую букву или #. р

[возврат]

Это трудная задача!

Введите, пожалуйста, следующую букву или #. Т

[возврат]

Я распознаю только строчные буквы. Введите, пожалуйста, следующую букву или #. #

[возврат]

Этот пример служит иллюстрацией работы оператора swith. Вначале вычисляется выражение в скобках, расположенное за ключевым словом switch. В данном случае значением этого выражения будет символ, присвоенный переменной ch, который мы ввели перед этим. Затем программа просматривает список "меток" (в этом примере case 'a':, case'б': и т. д.) до тех пор, пока не находит "метку", которая соответствует данному значению. Далее программа переходит к выполнению оператора, расположенного в этой строке. Что произойдет в случае, когда такой подходящей строки не найдется? Если существует строка с "меткой" case default:, то будет выполняться оператор, помеченный этой меткой. В противном случае произойдет переход к оператору, расположенному за оператором switch.

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

Введите букву алфавита, а я укажу название животного, начинающееся с нее.

Введите, пожалуйста, букву; для завершения работы введите #.

г [возврат]

гиббон, длиннорукая обезьяна

даман древесный

это трудная задача

Введите, пожалуйста, следующую букву или #.

# [возврат]

Мы видим, что выполнились все операторы, начиная от метки case 'г'и кончая оператором switch. Если вы знакомы с языком Паскаль, то можете заметить, что оператор switchв Си похож на оператор caseв Паскале. Важнейшее отличие состоит в том, что если вы хотите, чтобы в каждом конкретном случае выполнялся только помеченный оператор, то в операторе switchнеобходимо использовать операторы break.

Метки, имеющиеся в операторе switch, должны быть константами или константными выражениями (выражения, операнды которого константы) целого типа (включая тип char). Запрещается использовать в качестве метки переменную. Значением выражения в скобках должна быть величина целого типа (опять же, включая тип char). Ниже приводится общая структура оператора switch:

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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