Documente Academic
Documente Profesional
Documente Cultură
+, exemplu printf,+ #include <stdio.h> int main() { printf (-.haracters/ 'c 'c 0n-, 1a1, 23); printf (-4ecimals/ 'd 'ld0n-, 1566, 23!!!!7); printf (-8recedin9 :ith "lan;s/ '1!d 0n-, 1566);
(-8recedin9 :ith <eros/ '!1!d 0n-, 1566); (-=ome different radixes/ 'd 'x 'o '#x '#o 0n-, 1!!, 1!!, 1!!, (-floats/ '$.2f '(.!e '> 0n-, #.1$12, #.1$12, #.1$12); (-?idth tric;/ ',d 0n-, 3, 1!); (-'s 0n-, -& strin9-); !;
2. Citirea de la tastatur Pentru citirea datelor de la tastatur se utilizeaz funcia int scanf(format, adresa var_1, adresa var_2,...., adresa var_n); &uncia scanf returneaz o valoare ntreag reprezent$nd numrul de variabile citite corect. Parametrul format conine o list de specificatori de format, care indic tipul variabilelor citite. Adresa unei variabile poate fi accesat utiliz$nd operatorul de refereniere '. Prototipul funciei scanf se gsete de asemenea n fiierul antet stdio.h Exemplu: #itirea unei variabile reale pe ( octei i a unei variabile ntregi:
#include<stdio.h> void main() { dou"le a; int n; scanf(%'lf 'd), @a, @n ); *
ista principalilor speci!icatori de !rormat )n continuare sunt listai principalii specificatori de format. Pentru informaii suplimentare i ali specificatori vezi curs. Speci!icator "d "u "f "lf "-f Semni!icaie *ariabil de tip ntreg pe + octei (int *ariabil de tip unsigned int *ariabil real pe , octei (float *ariabil ral pe ( octei (double *ariabil real pe ./ octei
*ariabil real n form exponenial (pe , octei *ariabil ntreag n form 1exazecimal (baza ., n care pentru cifrele 1exazecimale ./, .., .2, .3, .+ se folosesc literele mici a, b, c, d, e #a i "x dar se folosesc literele mari n loc de cele mici *ariabil de tip caracter (c1ar (inclusiv spaii albe *ariabil de tip ir de caractere
"#ser$aii% Prin utilizarea unui numr dup semnul " n specificatorul de format la afiarea cu printf se poate indica numrul minim n de caractere pe care se realizeaz afiarea. 5ac numrul de caractere necesare pentru afiarea valorii expresiei este mai mic dec$t n, se completeaz restul de caractere cu spaii albe. 6odul de aliniere este implicit la dreapta. Exemplu: printf(%Aumerele '$d,'$d,'$d),a,",c);
*ariabilele a,",c de tip ntreg vor fi afiate pe minim + caractere. 5ac se dorete afiarea unei variabile reale cu un anumit numr de zecimale, se utilizeaz pentru aceasta dup " un numr real a crui parte zecimal indic numrul de zecimale afiate (precizia . 5ac numrul de zecimale al variabilei afiate este mai mare dec$t precizia, atunci numrul afiat se rotun7ete. Exemplu: printf(%Aumarul real '6.$f),x); *ariabila x va fi afiat pe minim 8 caractere cu exact + zecimale. Pentru alinierea la st$nga a variabilelor afiate, se insereaz n specificatorul de format, imediat dup semnul " caracterul 9. Exemplu: printf(%Aumarul x 'B3.2lf),x); Pentru trecerea la urmtorul r$nd se folosete n irul de caractere 0n Pentru introducerea caraterului tab se folosete 0t
+, exemplu scanf ,+ #include <stdio.h> int main () { char str CD!E; int i; printf (->nter Four familF name/ -); scanf (-'s-,str); printf (->nter Four a9e/ -); scanf (-'d-,@i); printf (-Gr. 's , 'd Fears old.0n-,str,i); printf (->nter a hexadecimal num"er/ -); scanf (-'x-,@i); printf (-Hou have entered '#x ('d).0n-,i,i); * return !;
&atrice
'e!iniie : matrice este un tablou bidimensional cu m linii i n coloane. 5ac A este o matrice, A;i<;j< reprezint elementul de pe linia i i coloana j.
a // a ./ A= a m9.,/
a /. a .. a m9.,.
: matrice ptratic este o matrice cu acelai numr de coloane i linii (deci m = n . 5iagonala principal a unei matrice ptratice este format din elementele A;i<;i<, i= /, n 9 . > 5iagonala secundar a unei matrice ptratice este format din elementele A;i<;n9i9.<, i= /, n 9 . >
5iagonala principal:
a // a n ., / a /,n . a n .,n .
5iagonala secundar:
a // a n ., / a /,n . a n .,n .
'eclararea unui ta#lou Pentru a declara un tablou avem urmtoarele forme generale:
tip numeCdim1ECdim2E;
Exemplu%
int matriceC2!EC2!E;
Parcurgerea matricilor &ie matricea mat;<;< de dimensiuni m, n (m linii, n coloane . Putem parcurge elementele matricii n dou moduri: (a parcurg pe r$nd fiecare linie (parcurgerea pe linii , (b parcurg pe r$nd fiecare coloan.
Acest bloc for afieaz pe ecran elementele matricei sub form de tablou bidimensional. Parcurgerea matricilor ptratice. #onsider m = n, artunci mat;<;< este matrice ptratic . (a Parcurgerea elementelor de pe diagonala principal:
for (i !;i<n;i(() instrucKiuni folosind elementul matCiECiE;
for (i !;i<n;i(() for (I i(1;I<n;I(() printf(%'d),aCiECIE); (d Parcurgerea elementelor de sub diagonala principal (fr elementele diagonalei :
a // a n ., /
a /,n . a n .,n .
for(i !;i<nB1;i(() for(I !;I< nBiB1;I(() printf(%'d),aCiECIE); (f Parcurgerea elementelor de sub diagonala secundar (fr elementele diagonalei :
a // a n ., /
a /,n . a n .,n .
(ema
1. #itii o variabil de tip int i verificai ce se nt$mpl dac se afiaz utiliz$nd diferii specificatori de format ("d, "f, "lf, "c, "x . *erificai acelai lucru i pentru o variabil de tip dou"le utiliz$nd specificatorii de format ("f, "lf, "d, "e . 2. ? se citeasc de la tastatur o variabil de tip dou"le. ? se verifice dac valoarea citit are partea real nul (este de fapt o valoare ntreag . 3. ? se afieze codul A?#@@ pentru litere i cifre. (:bservaie: codul A?#@@ asociaz fiecrui caracter un numr ntreg. Pentru literele alfabetului codurile A?#@@ sunt consecutiveA . Preferabil afiare frumoas sub form de tablou. +. ? se citeasc un ir de litere i s se ordoneze n ordine lexicografic (de la BaC la BzC 5. ?e citete un ir de variabile de tip char. ? se afieze c$te dintre ele sunt litere. ,. ? se citeasc un numr de cel puin , cifre i s se afieze media aritmetic a cifrelor sale cu o precizie de + zecimale. 7. ? se afieze primele n numere (divizibile cu 3 , c$te cinci pe linie. )ntre dou cifre pe aceeai linie s fie un tab, iar numerele s fie afiate pe minim + caractere. (. ? se citeasc o matrice de valori reale. ? se calculeze media aritmetic a elementelor nenule de pe diagonala principal i s se afieze n form exponenial. D. ? se calculeze maximele pe linii dintr9o matrice de ntregi i s se afieze aceste maxime pe o linie, pe minim + caractere, desprite prin tab9uri.