57.66K
Category: programmingprogramming

Робота із символьними стрічками. Лекція 8

1.

Лекція 8. Робота із
символьними стрічками

2.

Модифікатори специфікаторів
• Базові специфікатори можна змінювати вставляючи
модифікатори між знаком % та символом специфікатора
Знаки
+, -, пропуск, #, 0
Цифра
мінімальна ширина поля
.Цифра точність (дійсні числа, стрічки, цілі числа, )
h
hu, hx, hd
hh
знакове і беззнакове char
l
long
ll
long long
z
size_t

3.

Знаки
вирівнювання вліво
+
значення зі знаком виводяться зі знаком
пропуск
додатні з пробілом, від’ємні з –
#
для вісімкових значень виводить позначки, для десяткових
гарантує виведення точки, для %g гарантує не видалення нулів в
кінці
0
заповнює спереду 0-ми замість пропусків

4.

Спеціальні символи
• Основні керуючі символи:
• '\n' –
новий рядок;
• '\t' –
горизонтальна табуляція;
• '\v' –
вертикальна табуляція;
• '\b' –
повернення на символ;
• '\r' –
повернення на початок рядка;
• '\a' –
звуковий сигнал
• Результат функції printf

5.

Приклади
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#define SIZE 4
int main()
{
printf ("Preceding with blanks: %10d \n", 1977);
printf ("Preceding with zeros: %010d \n", 1977);
printf ("Some different radices:"
" %d %x %o %#x %#o \n", 100, 100, 100, 100, 100);
printf ("floats: %4.2f %+.0e %E \n", 3.1416, 3.1416,
3.1416);
getchar();
}
Preceding with blanks:
1977
Preceding with zeros: 0000001977
Some different radices: 100 64 144 0x64 0144
floats: 3.14 +3e+000 3.141600E+000
Width trick: 10

6.

Передача даних в printf
float nl = 3.0;
double n2 = 3.0;
long n3 = 2000000000;
long n4 = 1234567890;
printf("%d %d %d %d\n", n1, n2, n3, n4 );
• Значення, яке повертається
• Введення довгих стрічок (3 способи)

7.

scanf(формат, адреси аргументів)
• Використовується адреса
• Специфікатори (%f, %е %Е, %g, %G потребують символу l)
• Процес зчитування з потоку вводу (пробільні символи)
• При першій же відмові читання припиняється
• Введення стрічок
• Введення звичайних символів в стрічці формату
(звичайний символ, пробіл, пробіл для %с)
• Додає нуль символ
• Результат

8.

* в printf і scanf
• * в printf (додає параметр)
printf (''Bвeдіть ширину поля:\n");
scanf(”%d", &width) ;
printf ("Введене значення: %*d:\n", width, number) ;
printf("Teпер введіть ширину та точність:\n") ;
scanf("%d %d", &width, &precision);
printf("Вага = %*.*f\n", width, precision, weight);
• * в scanf (пропускає параметр)
int n;
printf("Bвeдіть три цілих числа :\n") ;
scanf("%*d %*d %d", &n);
printf(«Останнє ціле число %d\n“, n);

9.

sprintf, sscanf, snprintf
English     Русский Rules