МБОУ ДОД СЮТ г. о. Кохма Методическая разработка Форматные команды ввода/вывода в языке программирования Си++ Составитель: Педагог дополнительного образования: Трупиков В.Н. Кохма-2014 Команды форматного ввода/вывода языка Си. Для ввода\вывода информации в заданном формате в языке Си используются функции из модуля stdio.h. Функция форматированного вывода информации на экран имеет вид: printf("форматная строка",элементы выводимой информации через ,) "Форматная строка" - включает в себя выводимый текст, управляющие символы и спецификаторы формата. Элементы информации - переменные (выводятся их значения); - константы ( числа, символы(в апострофах), текст(в кавычках)), - выражения (выводиться результат их вычисления). * Спецификаторы формата вводятся для каждого выводимого эл-та информации и определяют форму вывода их на экран монитора. %d - целое число(тип int); %c - символ; %f - вещ. число с десятичной точкой; %s - строка; * Ширина поля вывода и точность(для вещественных чисел) указывается после знака %: %5d, %3c, %30s, %5.2f Выводимые эл-ты инф. выравниваются по правому краю поля. Знак "минус" перед шириной вводит выравнивание по левому краю. * Для правильного расположения выводимой информации применяют следующие управляющие символы из таблицы кодов ASC||: \n - переход на новую строку \' - вывод одинарных кавычек \t - горизонтальная табуляция \" - вывод двойных кавычек \r - возврат каретки (Enter) \b - вывод пробела \xdd - вывод любого символа таблицы ASC || с кодом dd. * При выполнении функции printf элементы информации выводятся в местах расположения соответствующих спецификаторов формата. Функция форматированного ввода информации с клавиатуры имеет вид: scanf("Форматная строка", переменные через ,) * В "Форматную строку" вводятся управляющие символы спецификаторы формата для каждой вводимой переменной. и * Перед переменными ставится знак &, за исключением строчных переменных и элементов массива. * На запрос такой команды данные вводяться или в одну строку через пробел и в конце нажимаем Enter, или каждое значение в отдельной строке, т.е. нажимаем кл.Enter после каждого вводимого значения. // Перевод промежутка времени в секундах в форму HH MM SS #include<stdio.h> int main() { long p; printf("Vvedite sec = "); scanf("%ld",&p); int h,m,s; h=p/3600; m=(p%3600)/60; s=p-(3600*h+m*60); printf("HH=%3d MM=%3d SS=%3d\n",h,m,s); printf("%02d-%02d-%02d\n",h,m,s); return 0; } * Для заполнение незанятой части поля вывода нулями достаточно поставить 0 перед шириной поля. Операция присваивания и арифметические действия. В компьютере имеется память, для запоминания текста программы и используемых в ней числовых данных. Она разделена на ячейки. Команда присваивания ’=’ заставляет компьютер запомнить число находящееся справа от знака ’=’ в ячейке памяти(переменной), имя которой указано слева. Общий вид команды присваивания: имя пер. = выражение(арифметическок, символьное, логическое) * Имя переменной состоит из лат.букв и цифр(первая буква) и оно не должен совпадать с именами команд, функций, типов. Имя перем. должно раскрывать тип информации содержащейся в ней и быть покороче: Х1, Y1 - координаты, M - масса, N - количество... * Перед первым использованием переменная должна быть определена: int m, f; перед переменной указывается ее тип. int m; m=5/3; определение совместимо с инициализацией: int a=3, b=56, c=49; переменные одного типа можно определять и инициализировать одной командой (через ,). * В выражениях применяются следующие наборы операций: - арифметические операции: +, -, *, /, % (% - остаток от деления операнда на целое число). - сложная арифметические операции с присваиванием: +=, -=, *=, /= x-=5 аналог x=x-5 - декремент -- - уменьшение переменной на 1 инкремент ++ - увеличение переменной на 1 ++x аналог x=x+1 y=++x x=x+1; y=x - прибавляем, затем присваивает y=x-y=x; x=x-1; - присваиваем, затем уменьшаем Порядок выполнения: ++, --, *, /, +, -, =, *=, \=, +=, -=. - множественное присваивание: x=y=z=c=0. * В выражениях смешанного типа результат генерируется по правилам: 1. при вычислении результат приводиться к более мощному типу операнда участвующего в вычислениях; 2. при присваивании результат приводится к типу пер. слева от =. int x=3.48866/2 промежуточный 1.74433 окончательный x=1 * Математические функции находятся в файле <math.h>. sin(x), cos(x), tan(x) возвращает значение ф-ции от угла x записанного в радианах(Xрад=Xгр/180*3.14) asin(x),acos(x),atan(x) sqrt(x) pow(x,n) abs(x)\fabs(x) ceil(x)\floor(x) x%y modf(x) fmod(x,y) возвращает угол в рад.(Xгр=Xрад*180/3.14) квадратный корень вычисляет значение числа x в степени n абсолютное значение от целого\вещественного числа округляет вещественное число до ближайшего большего\меньшего целого и возвращает как вещест. целый остаток от деления целых чисел x/y выводит дробную часть числа x остаток от деления вещественных x на y