Documente Academic
Documente Profesional
Documente Cultură
de programare I
Familiile de funcții printf() și scanf()
Functia printf()
printf ( format, arg1, arg2, ... );
Specificatori:
- d sau i: un numar sau o zecimala de tip int.
- u: un numar intreg de tip unsigned
- o: un numar octal de tip unsigned
- x: un numar hexadecimal de tip int
- f: un numar rational
- e: numarul 3.9265e+2
- g: cea mai scurta reprezentare a %e sau %f
- c: caracter
- s: sir de caractere
- p: adresa de pointer
Specificatorii de formatare pot contine si
subspecificatori: flags, width, precision, modificatori, (in
aceasta ordine).
Subspecificatori *flags:
- „-”: aliniere la stanga deoarece initial este la
dreapta(vezi width).
- „+”: forteaza afisarea semnului numarului afisat.
- „#”: pentru numerele in baza 10 forteaza aparitia
virgulei chiar daca nu sunt cifre dupa aceasta.
- „0”: inlocuieste spatiile de la alinierea la dreapta cu 0-
uri(vezi width) *width:
- (numar): se va afisa un minim de caractere. Daca
numarul afisat e mai scurt decat acest minim se va crea
spatiere. *.precision:
-„.numar”: forteaza sa se afiseze un anume numar de
zecimale
Familia de functii printf() este alcatuita din: printf(),
vprintf(), fprintf(), vfprintf(), dprintf(), vdprintf(), sprint(),
snprintf(), vsprintf(), vsnprintf(), asprintf(), vasprintf() )
va trimite un semnal de iesire de diverse tipuri.
Functia scanf()
int scanf ( format, adr1, adr2, ... );
Citeşte caracterele introduse de la tastatură, pe care le
interpretează conform specificatorilor din format,
memorând valorile citite la adresele transmise ca
parametri.
Formatul este un şir de caractere care trebuie să
includă câte un descriptor de format pentru fiecare
dintre valorile citite.
Adresele sunt pointeri sau adresele variabilelor ale
căror valori se citesc;
Adresa unei variabile se obţine folosind operatorul de
adresare &, astfel: &nume_variabila
Valorile întregi sau reale consecutive introduse de la
tastatură trebuie separate de cel puţin un spaţiu (enter,
spaţiu, tab);
Specificatorii de format cel mai des folositi sunt:
- %c pentru introducerea de caractere
- %d pentru introducerea numerelor intregi
- %f pentru introducerea numerelor rationale
- %s pentru introducerea unui sir
- %u pentru introducerea unui character de tip unsigned
- %x pentru caracterele de tip Hexadecimal Pe langa
acestia mai sunt si:
- * acesta implica faptul ca urmatoarea conversie este
obisnuita si nu se foloseste pointer.
- hh urmatorul pointer va fi in char
- h urmatorul pointer va fi in SHORT int
- l daca pointerul este de natura a e f sau g va fi
convertit in double iar daca e de forma c sau s va fi un sir.
- L urmatorul pointer va fi in long double
- j urmatorul pointer va fi in intmax.
- q urmatorul pointer va fi in long long, int.
http://www.cplusplus.com/
http://www.manpagez.com/man/3/printf/
http://www.manpagez.com/man/3/scanf/