Читайте также:
|
|
Ввод/вывод в стиле С
Операторы printf_s и scanf_s
printf_s(управляющая_строка, список_данных);
scanf_s(управляющая_строка, список_данных);
управляющая_строка – показывает, как и по каким форматам выводятся или вводятся данные. Управляющая строка может быть только одна. Она заключается всегда в двойные кавычки.
список_данных –список имен переменных, разделенных запятыми. При вводе – список адресов переменных, разделенных запятыми.
Между данными и форматами должно быть взаимнооднозначное соответствие.
Если форматов меньше, чем данных, то данные игнорируются.
Если форматов больше, чем данных, то по лишним форматам выводится грязь.
Общий вид формата
P.q]спецификация
[p.q] – необязательная часть формата,
р – количество занимаемых позиций для числа (целое, вещественное, символ, строка)
.q – количество значащих цифр после запятой
Если р – (число позиций), больше чем разрядность числа, то выравнивание по правой границе.
Чтобы выравнивание происходило по левой границе, надо перед р поставить -.
Пример:
%-5d
При вводе управляющую строку необходимо писать без пробелов, ввод осуществляется в адрес переменной.
Пример:
int a; float b; char c;
scanf_s(“%d%f%c”, &a, &b, &c);
спецификация | формат |
целые десятичные числа знаковые | %d, %i |
целые десятичные числа беззнаковые | %u |
целые 16-тиричные числа | %x |
целые 8-ричные числа | %o |
вещественные числа с плавающей точкой (float) | %f |
вещественные числа с плавающей точкой (double) | %f, %lf |
вещественные числа в экспоненциальной форме | %e |
символы | %c |
строки | %s |
указатели | %p |
вещественные числа с плавающей точкой (double) для ввода | %lf |
Модификаторы формата: l, h.
l - длинное число (пример double)
h – короткое число (пример short int)
Модификатор формата: #
#x – числа выводятся в 16-тиричном формате вида: 0х123
#o = числа выводятся с ведущими нулями вида 0123
Применяются специальные символы в управляющей строке
Модификатор формата: *
При выводе сопоставляется модификатор с каждым аргументом
Пример:
printf_s(“%*.*f”,8, 3, 3.141516);
где первая * будет 8 – 8 знаков на число
вторая * будет 3 – три знака после точки.
Использование управляющих символов для вывода и ввода
назначение | символ |
печать на новой строке | \n |
табуляция | \t |
возврат на одну позицию | \b |
записать 0 в строку – конец строки | \0 |
печать % на экране | %% |
печать “ на экране | \” |
Приоритеты операций в выражениях: 1 –самый высокий, 25 – самый низкий
Для изменения приоритетов используются скобки ().
1. | () | вызов функции | 14. | + - | сложение, вычитание |
2. | [ ] | доступ к элементу массива | 15. | << >> | сдвиг влево, сдвиг вправо |
3. | . | доступ к полю структуры | 16. | < <= > >= | операции сравнения |
4. | -> | доступ к полю структуры | 17. | ==!= | равенство, неравенство |
5. | ++ -- | инкремент, декремент | 18. | & | поразрядное логическое умножение |
6. | sizeof | размер | 19. | ^ | поразрядное логическое отрицание |
7. | (новый_тип) | преобразование типа | 20. | | | поразрядное логическое сложение |
8. | ~ | поразрядное (побитовое) логическое отрицание | 21. | && | логическое умножение |
9. | ! | логическое отрицание | 22. | || | логическое сложение |
10. | - | унарный минус | 23. | ?: | операция условия (тернарный оператор) |
11. | & | получение адреса | 24. | = | присваивание |
12. | * | получение значения по адресу - разадресация | 25. | += и т.д. | составные операторы присваивания |
13. | * / % | умножение, деление, получение остатка при делении целых чисел | , | перечисление |
Дата добавления: 2015-07-10; просмотров: 203 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Выводы по главе 1 | | | Занятие I |