Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Функция форматного вывода на экран.
Для форматного вывода на экран используется функция printf(строка формата, список вывода), где ¨ список вывода - перечисленные через ', ' выражения, значения которых хотим вывести на экран. ¨ строка формата - символьная строка, указывающая: a) формат отображения этих значений на экране; b)
Например,
Функция printf последовательно выводит на экран символы строки формата. При этом символы входящих в строку спецификаций формата заменяются значениями выражений из списка вывода в порядке их следования. Для вывода значений каждого из имеющихся типов данных применяется своя спецификация формата:
Если i=2 и t=60. 0, то при выполнении оператора, указанного в примере, на экране будет напечатано с новой строки: Этап 2 длится 28.500000 секунд. Элементов списка вывода должно быть не меньше, чем спецификаций в строке формата. Типы элементов списка и спецификаций должны соответствовать друг другу. Несоответствия компилятор не выявляет, но будут неверными выводимые результаты. Имеется возможность управлять формой выводимых на экран целых и вещественных чисел. Числа n и m в спецификациях формата задают соответственно общее количество позиций на экране (включая знак '-' и десятичную точку) и количество разрядов, выводимое после десятичной точки. Например, оператор printf(" \nЭтап %3d длится %6.2f секунд. ", i, (t-3.)/2.); выведет значение переменной i в 3-х позициях, а значение выражения (t-3.)/2. в 6 позициях с двумя разрядами после десятичной точки: Этап ú ú 2 длится ú 28.50 секунд. (символами ú показаны пробелы, которые выводятся, если цифр в числе меньше, чем позиций, указанных в соответствующей спецификации). Если заданных позиций не хватает для вывода числа, место для вывода отводится автоматически. Функция ввода символа с клавиатуры. Функция getch() приостанавливает выполнение программы до нажатия пользователем любой клавиши и возвращает введенный символ. В примере на экран выводится нажатая пользователем клавиша: char sim; sim=getch(); printf(" Нажата клавиша %c.", sim); Составной оператор. Иногда требуется выполнить несколько операторов там, где по правилам синтаксиса можно указать только один. Язык Си позволяет объединить эти операторы в один, заключив их в фигурные скобки:
Такой оператор называется составным или блоком. После символа " }" символ "; " указывать не надо. Операторы управления. Операторы в программе выполняются последовательно один за другим. Операторы управления предназначены для изменения последовательности выполнения операторов. Блок-схемы этих операторов приведены в разделе 1.2.3. Обратите внимание на сдвиги на две позиции вложенных в операторы управления конструкций при записи их в тексте программы. Такая запись не предусмотрена синтаксисом языка, однако позволяет визуально структурировать программу и облегчает понимание и проверку правильности алгоритма. Поэтому мы настаиваем на применении такого приема. Условные операторы. 3.1.1 Оператор if - else. Условный оператор if - else предназначен для изменения последовательности выполнения операторов программы в зависимости от выполнения условия (т.е. для принятия решений) и имеет вид (синтаксис):
Оператор if выполняется следующим образом (семантика):
В примере в переменную max заносится большее из x и y, а меньшее обнуляется (см.2.4.3.3). Скобки {}, образующие блоки, здесь существенны, поскольку по синтаксису после if и else должен стоять только один оператор. Операторы, входящие в if, сами могут содержать оператор if (т.е. оператор if может быть вложенным). Если у вложенного if нет своей else-части, то можно неоднозначно толковать, куда относится else-часть - ко внешнему или внутреннему if. В Си else всегда относят к ближайшему if, у которого нет своего else. Для изменения этого порядка используют блоки. Пример 7. Сравним для иллюстрации два оператора if:
В первом операторе else относится к внутреннему if, а во втором - к внешнему. Совет: всегда заключайте внутренний if в скобки. 3.1.2 Оператор else - if. Для многоступенчатого принятия решений используют конструкцию else-if (синтаксис): if (условие1) оператор1 else if (условие2) оператор2 else if (условие3) оператор3 ························· [else оператор] Семантика: условия операторов “ if” проверяются сверху вниз. Как только встречается истина, выполняется соответствующий оператор и последовательность проверок прекращается. Последняя else-часть срабатывает, если все предыдущие условия ложны. Эта часть может отсутствовать. Пример 8. Пусть reit - рейтинг студента после сессии. Предлагаемый оператор показывает, кто он такой. if (reit > = 45) cout < < " Вы - отличник! \n"; else if (reit > 34) cout < < " Вы неплохо учитесь! \n"; else if (reit > 25) { if (reit > 29) cout < < " Вам нужно подтянуться! \n"; else cout < < " Такие инженеры нам не нужны! \n"; } else cout < < " Вас давно ждут в призывном пункте! \n "; Популярное:
|
Последнее изменение этой страницы: 2016-07-14; Просмотров: 530; Нарушение авторского права страницы