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

Интервал:

Закладка:

Сделать

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

else

оператор

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

Простая конструкция ifпозволяет нам выбирать: выполнить или нет некоторое действие; конструкция же if-elseдает возможность выбрать одно из двух действий. Что делать, если нам требуется осуществить выбор из большого числа вариантов?

Множественный выбор: конструкция else-if

Часто нам приходится осуществлять выбор более, чем из двух вариантов. Чтобы учесть это, мы можем расширить структуру if-elseконструкцией else-if. Рассмотрим конкретный пример. Расценки, назначаемые за коммунальные услуги некоторыми компаниями зависят от количества потребляемой энергии. Приведем расценки, установленные за пользование электроэнергией:

Первые 240 кВт/ч: 0.05418 долл. за кВт/ч

Следующие 300 кВт/ч: 0.07047 долл. за кВт/ч

Свыше 540 кВт/ч: 0.09164 долл. за кВт/ч

Если вас занимает этот вопрос, мы могли бы подготовить программу, вычисляющую стоимость потребляемой энергии. Приведем пример программы, являющейся первым шагом, сделанным в этом направлении:

РИС 71 Операторы ifи if else счет за электроэнергию вычисляет - фото 42

РИС. 7.1. Операторы ifи if else

/* счет за электроэнергию */

/* вычисляет плату за электроэнергию */

#definе RATE1 0.05418 /* тариф за первые 240 кВт/ч */

#define RATE2 0.07047 /* тариф за следующие 300 кВт/ч */

#define RATE3 0.09164 /* тариф за потребление свыше 540 кВт/ч */

#define BASE1 13.00 /* плата за первые 240 кВт/ч */

#define BASE2 34.14 /* плата за первые 540 кВт/ч */

#define BREAK1 240.0 /* величина, определяющая первое условие ветвления */

#define BREAK2 540.0 /* величина, определяющая второе условие ветвления */

main( )

{

float kwh; /* количество использованных кВт/ч */

float bill; /* плата */

printf(" Укажите, пожалуйста, количество использованных кВт/ч.\n");

scanf(" %f, &kwh);

if (kwh < BREAK1) bill = RATEl * kwh;

else if(kwh < BREAK2) /* количествокВт/чмежду240 и540 */

bill = BASE1 + RATE2*kwh;

else /* количествокВт/чсвыше540 */

bill = BASE2 + RATE3*kwh;

printf(" Платаза%.1f кВт/ч составляет$%1.2f. \n", kwh, bill);

}

Для обозначения тарифов были использованы символические константы, которые поэтому оказались собранными в одном месте. Если электрическая компания изменит свои расценки (а это может случиться), то такое расположение констант не позволит нам забыть скорректировать какую-нибудь из них. Мы задали в символическом виде и константы, соответствующие граничным значениям потребляемой мощности Они также подвержены изменениям. Управляющая логика программы реализуется путем npoстого выбора одной из трех расчетных формул в зависимости oт значения переменной kwh, что иллюстрируется на рис. 7.2. Мы хотим подчеркнуть, что программа в процессе выполнения может достичь первого употребления elseтолько в том случае, если величина переменной kwhбольше или равна 240. Поэтому строка else if(kwh < BREAK2)эквивалентна требованию, чтобы значение kwhбыло заключено между 240 и 540, это мы и указали в комментарии к программе. Совершенно аналогично последнее употребление elseможет быть достигнуто, только если значение kwhбольше или равно 540. И наконец, отметим, что константы BASE1и BASE2представляют собой величину платы за первые 240 или 540 кВт/ч электроэнергии соответственно. Поэтому требуется только прибавить дополнительную плату за количество потребляемой электроэнергии, превышающее эти величины.

РИС 72 Блок схема программы расчета платы за электроэнергию Фактически - фото 43

РИС. 7.2. Блок схема программы расчета платы за электроэнергию

Фактически конструкция else-ifявляется видоизмененным способом задания условного оператора, с которым мы познакомились раньше. Ядро нашей программы представляет собой другую форму записи следующей последовательности операторов.

if(kwh < BREAK1) bill = RATEl*kwh;

else if(kwh < BREAK2)

bill = BASE1 + RATE2*kwh;

else

bill = BASE2 + RATE3*kwh;

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

Про второй оператор if-elseговорят, что он "вложен" в первым. (Между прочим, вся структура if-elseсчитается одним оператором. Вот почему мы не должны заключать вложенную конструкцию if-elseв фигурные скобки).

Эти две формы записи являются абсолютно эквивалентными. Единственное отличие - дополнительные пробелы и символы "новая строка", но они игнорируются компилятором. Тем не менее первая форма записи предпочтительнее, поскольку она более четко показывает, что мы осуществляем выбор из трех возможностей. Кроме того, она облегчает просмотр программы и понимание семантики каждого варианта. Применяйте форму записи, использующую вложение операторов там, где это необходимо - например когда требуется проверить значения двух разных величин или (в нашем случае) если бы была установлена 10%-ная дополнительная плата за потребление энергии свыше 540 кВт/ч только в летние месяцы.

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

if (score < 1000)

bonus = 0; else if (score < 1500)

bonus = 1; else if (score < 2000)

bonus = 2; else if (score < 2500)

bonus = 4; else bonus = 6;

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

Объединение операторов if и else

Когда у вас в программе имеется несколько конструкции ifи else, каким образом компилятор решает, какому оператору ifсоответствует какой оператор else? Рассмотрим, например, фрагмент программы:

if(number > 6)

if(number < 12)

printf ("Вы закончили!\n");

else

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

В каком случае фраза "Простите, вы потеряли ход!" будет напечатана? Когда значение переменной numberменьше или равно 6, или когда оно больше 12? Другими словами, чему соответствует else: первому ifили второму?

Ответ выглядит так: elseсоответствует второму if, т.е. при выполнении программы результаты будут такими:

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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