Форматный ввод

advertisement
МБОУ ДОД СЮТ г. о. Кохма
Методическая разработка
Форматные команды ввода/вывода в
языке программирования Си++
Составитель:
Педагог дополнительного образования:
Трупиков В.Н.
Кохма-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
Download