Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Функция форматированного вывода printf.
Формат функции форматного вывода на экран: printf( управляющая строка, список объектов вывода); В управляющей строке, заключенной в кавычки, записывают: текст, выводимый на экран; спецификаторы форматов, указывающие компилятору способ вывода объектов (каждый спецификатор формата начинается с символа '%' ). В списке объектов вывода указываются выводимые на экран переменные, константы или выражения, разделенные запятыми. Список объектов вывода может отсутствовать. Каждый из спецификаторов формата соответствует своему объекту из списка вывода, в порядке следования. Поэтому количество и порядок следования спецификаторов форматов должны совпадать с количеством и порядком следования выводимых объектов. Функция printf выполняет вывод данных в соответствии с указанными форматами. Весь остальной (кроме спецификаторов форматов) текст управляющей строки выводится на экран без изменений. Имеется большое количество различных спецификаторов формата. Основные из них: %d (%i) – десятичное целое число; %f – вещественное число, запись с фиксированной точкой; %е – вещественное число, экспоненциальная запись; %g – вещественное число, запись с фиксированной точкой либо экспоненциальная запись, в зависимости от значения величины; %o – восьмеричное число без знака; %x – шестнадцатеричное целое число без знака (малые буквы a-f); %X – шестнадцатеричное целое число без знака (большие буквы A-F); %c – один символ; %s – строка символов (массив char). Для " длинных" типов чисел добавляется символ l : %ld – long (длинное целое), %lf – double (вещественное число с удвоенной точностью). Для еще более длинных типов чисел вместо l добавляется L: %Ld - long long, %Lg - long double в соответствии с форматом %g. Если нужно напечатать сам символ %, то его нужно указать 2 раза: printf (" Только %d%% предприятий не работало. \n", 5); Получим: Только 5% предприятий не работало. Пример: int number = 5; float but = 255; int cost = 11000; printf(" %d студентов съели %f бутербродов. \n", number, but); printf(" Значение числа pi равно %f. \n", M_PI); printf(" Стоимость этой вещи %d %s. \n", cost, " Руб." ); ... В спецификаторах формата функции printf после символа % можно указывать число, задающее минимальную ширину поля вывода, например, %5d – для целых, %4.2f – для вещественных (означает поле общей шириной 4 символа, две цифры после запятой). Недостающие позиции будут слева заполнены пробелами (если нужно заполнить их нулями, перед шириной поля надо поставить символ '0', например: %05d ). Если, наоборот, указанных позиций не хватает для вывода целой части числа, то происходит автоматическое расширение поля до нужной ширины. Если после «%» указан знак «минус», то выводимое значение будет выравниваться по левой (а не по правой) позиции поля вывода заданной ширины, например: % – 10d. Использование функции printf для преобразования данных: 1) printf(" %d", 336.65); получим: 336; 2) printf(" %o", 336); получим: 520, т.е. 5*8**2+2*8+0*1 = 336; 3) printf(" %x", 335); получим: 14f (шестнадцатеричное). Можно использовать функцию printf для нахождения кода ASCII некоторого символа: printf (" %c – %d\n", 'a', 'a'); получим десятичный код ASCII символа а: a – 65. 17.Функция форматированного ввода информации scanf. Функция scanf предназначена для форматированного ввода исходной информации с клавиатуры: scanf (управляющая строка, список адресов объектов ввода); Список адресов объектов ввода представляет собой имена переменных, разделенные запятыми, перед каждой из которых указывается символ &, обозначающий здесь операцию « взять адрес ». В управляющей строке (заключенной в кавычки) указывается список спецификаторов форматов. Каждый спецификатор формата начинается с символа '%', за которым следует тип спецификатора, указывающий компилятору способ ввода объекта. Функция scanf() использует практически тот же набор модификаторов форматов, что и printf(), отличия от функции вывода следующие: форматы %f, %e, %g – эквивалентны. Для ввода коротких целых чисел ( short ) введен модификатор формата %h. Вводить данные с клавиатуры можно как в одной строке через пробелы, так и в форме разных строк, нажимая после ввода текущего объекта клавишу Enter. Поэтому функцией scanf() по формату %s строка вводится только до первого пробела. 18.Операторы преобразования данных и операторы управления. Оператор простой и составной, блок. Оператор — это конструкция языка Си, которая вызывает выполнение действия. В языке программирования Си существуют следующие операторы: -простые операторы -блоки операторов (блоки, составные операторы) -управляющие операторы Простой оператор или оператор-выражение — это выражение, заканчивающееся символом; (точка с запятой). Специальным случаем простого оператора является пустой оператор, который ничего не делает. Пустой оператор состоит из единственного символа; (точка с запятой). Он используется в тех случаях, когда синтаксис языка требует наличия оператора там, где не требуется никаких действий. Блок операторов (блок, составной оператор ) — это последовательность операторов, заключенная в фигурные скобки {}. Блок используется для объединения нескольких операторов в один оператор. После закрывающей фигурной скобки точка с запятой может не указываться. После открывающей фигурной скобки можно объявлять переменные. Такие переменные, называемые автоматическими, известны только внутри этого блока, после выхода из блока они больше неизвестны. " Тело" функции также представляет собой блок операторов. Управляющие операторы — операторы языка Си, реализующие ветвления алгоритма, циклы и передачу управления. Все управляющие операторы начинаются с ключевого слова, такого как: if, while, for и т.д. Операторы передачи управления: Классы управляющих операторов в языке Си следующие: - операторы условного и безусловного перехода; - оператор выбора альтернатив (переключатель); - операторы организации циклов; - операторы передачи управления (перехода). Каждый из управляющих операторов имеет конкретную лексическую кон- струкцию, образуемую из ключевых слов языка С, выражений и символов- разделителей: { }, : ( ). Операторы языка С записываются в свободном формате с использовани- ем разделителей между ключевыми словами. Допустима вложенность операто- ров. В случае необходимости можно использовать составной оператор - блок, состоящий из любой последовательности операторов, заключенных в фигурные скобки - { и }, после закрывающей скобки символ «; » не ставится. Формально к операторам передачи управления относятся: – оператор безусловного перехода goto; – оператор перехода к следующему шагу (итерации) цикла continue; – выход из цикла, либо из оператора switch – break; - оператор возврата из функции return. Простые операторы: - пустой оператор «; »; - оператор присваивания - выполнение операций присваивания; - оператор вызова функции - выполнение операции вызова функции. Примеры простых операторов: ; b=3; a=b+7; printf(" %lf\n", a); Если в программе не указано иное, то операторы выполняются по очереди, один за другим, сверху вниз по тексту программы. Но существуют операторы, меняющие последовательность выполнения других операторов. К ним относятся условные операторы, операторы цикла и перехода. Составные операторы: Составной оператор представляет собой несколько операторов и объявлений, заключенных в фигурные скобки: { [oбъявление]: оператор; [оператор]; : } Заметим, что в конце составного оператора точка с запятой не ставится. Выполнение составного оператора заключается в последовательном выполнении составляющих его операторов. Пример: int main () { int q, b; double t, d; : if (...) { int e, g; double f, q; : }: return (0); } Переменные e, g, f, q будут уничтожены после выполнения составного оператора. Отметим, что переменная q является локальной в составном операторе, т.е. она никоим образом не связана с переменной q объявленной в начале функции main с типом int. Отметим также, что выражение стоящее после return может быть заключено в круглые скобки, хотя наличие последних необязательно. Операторы преобразования данных: (последовательно выполняемые операторы) Все они являются операторами – выражениями. Выражение, оканчивающееся ‘; ‘ – это оператор - выражение: 1. Оператор – выражение - вызов функции, не возвращающей никакого значения. Форма: имя функции ( список фактических параметров); Пример: … Void main () { void cd (char); // прототип функции cd ( ‘ *’); // оператор - выражение … }
2. Оператор – присваивания является оператором –выражением. Оператор простого присваивания: L-значение = выражение; Оператор составного присваивания: L-значение op= выражение; Примеры: x*= i; … i=x-4*i; 3. Оператор – выражение – инкремент или декремент L-значения: Пример: i++; 4. Операторы ввода - вывода данных также являются операторами –выражениями. |
Последнее изменение этой страницы: 2017-03-14; Просмотров: 355; Нарушение авторского права страницы