Documente Academic
Documente Profesional
Documente Cultură
si format: %[indicatori][lățimea][.precizie][lungime]specificator
Specificatori:
1. d sau i
reprezinta numere intregi in zecimal cu semn
Exemplu:
2. u
reprezinta numere intregi in zecimal fara semn
Exemplu:
Output: 37485
3. o
Reprezinta numere intregi in octal fara semn
Exemplu:
Output: 1375
4. x, X
Reprezinta numere intregi fara semn in hexazecimal
Exemplu:
Output: 7b 7B
5. f, F
Reprezinta numere reale in zecimal
Exemplu:
Output: 123.456000
6. e, E
Reprezinta numere reale in notatie stiintifica (mantisa, exponent)
Exemplu:
Output: 1.235000e+002 1.235000E+002
7. g, G
Afiseaza un numar minim de cifre a numerelor reale reprezentate cu %e,
%E, %f și %F
Exemplu:
Output: 123.543
8. a, A
Reprezinta numere in hexazecimal in virgula mobila
9. c
Reprezinta caractere
Exemplu:
Output: G
10. s
Reprezinta siruri de caractere
Exemplu:
11. p
Reprezinta o adresa memorata in pointer
Exemplu:
Output: 0060FF08
12. n
Nu va afisa nimic pe ecran
Exemplu:
Output:
13. %
“%” urmarit de un alt “%” va afisa pe ecran un singur %
Exemplu:
Output: %
14.lf, le
Reprezinta tipul double (numere mai mari fata de float)
Exemplu:
15. Lf, Le
Reprezinta tipul long double (numere mai mari fata de double)
Acelasi exemplu ca la punctul 14.
Indicatori de formatare:
1. –
Se plaseaza inaintea campului de latime, afisand rezultatul la stanga in
dependenta de acesta.
Exemplu:
Output: x= 789
x=789
2. +
Acesta va afisa rezultatul cu semnul “+” daca este pozitiv si “–“ daca este
negativ. Implicit se afiseaza astfel doar pentru numerele negative.
Exemplu:
Output: x=+123
x=-123
3. (Spatiul)
Spatiul se plaseaza inaintea specificatorului si are efect doar asupra
numerelor pozitive, lasand un spatiu inaintea rezultatului la iesire.
Exemplu:
Output: x= 123
x=-123
4. #
Acesta se plaseaza inaintea specificatorilor o, x, X ca sa afiseze la iesire
rezultatul precedat de 0, 0x si respectiv 0X. Pentru specificatorii a, A, e, E, f,
F, g, G, “#” are functia de a afisa rezultatul cu virgula indiferent daca
numarul este zecimal sau intreg.
Exemplu:
Output:
5. 0 (zero)
Acesta se plaseaza inaintea [lățimei] ca sa afiseze rezultatul cu “0” pe
spatiile goale.
Exemplu:
Output: x=000033
[lățimea]
In acest subspecificator se specifica pana la cate spatii de la stanga sa se
afiseze numarul.
Exemplu:
Output: x= 789
x=789
[.precizie]
In acest subspecificator se specifica numarul de cifre zecimale care sa fie
afisate dupa virgula.
Exemplu:
Output: x=33.123
[lungime]
Acest subspecificator determina marimea tipului de data la iesire. In
urmatorul tabel sunt aratate tipurile folosite implicit sau dupa selectie in
dependenta de specificator:
specificatori
nespecificat int Int fara semn double int char void int
l Long int Long int fara semn wint_t wchar_t Long int
ll long long int Long long int fara Long long int
semn
j Intmax_t Uintmax_t Intmax_t
L long double
... (Argumentele aditionale)
Argumentele se atribuie in dependenta de aceluaiasi format ca si specificatorul
scris dupa “%”, astfel incat sa poata fi inlocuite si convertite in sirul de caracteri la
iesire. Numarul de “%” cere acelasi numar de argumente consecutive. Daca cele
din urma is mai putine nu se va afisa nimic in locul ultimelor “%”, iar daca is mai
multe functia va ignora cele in plus.
Secvente de evitare
Secventele de evitare sunt niste caractere precedate de “\” care se plaseaza
in interiorul sirului de caractere si au functia de a produce diferite efecte la
iesire.
“\n” (alarma) suna alarma
“\b”(BS) backspace, se va sterge caracterul ce-l precede
“\f” (FF) form feed, se trece la urmatoarea “pagina” (secventa)
“\n”(LF) line feed, se trece la urmatoarea linie pe prima pozitie
“\r” (CR) carriage return, cursorul se va plasa pe linia curenta pe
prima pozitie
“\t” (TAB) tab orizontal
“\v” (VT) tab vertical
“\\” (\) backslash
“\’” (‘) apostrof
“\”” (“) ghilimele
“\?” (?) semnul intrebarii
“\o” (caracter) caractere in notatie octala
“\xH” (caracter) caractere in notatie hexazecimala
Exemplu:
Scanf
Functia scanf() este folosita pentru a prelua o valoare introdusa pe consola
si de a o atribui unei variabile. Semnul “%” specifica formatul in care se va
converti valoarea introdusa, iar variabila selectata trebuie sa corespunda cu
tipul de date folosit.
Bibliografie:
https://en.wikipedia.org/wiki/Scanf_format_string
https://en.wikipedia.org/wiki/Printf_format_string
http://apollo.eed.usv.ro/~remus/arhive/PCLP_I/cursuri/Curs_3.pdf
http://www.cplusplus.com/reference/cstdio/printf/
http://apollo.eed.usv.ro/~biliusl/pclp1/lab2.pdf
https://ocw.cs.pub.ro/courses/programare/laboratoare/lab08
https://ro.wikipedia.org/wiki/Printf
https://www.tutorialspoint.com/c_standard_library/c_function_scanf.htm
http://www.cplusplus.com/reference/cstdio/scanf/
https://fresh2refresh.com/c-programming/c-printf-and-scanf/