Documente Academic
Documente Profesional
Documente Cultură
PCLP3 - 1 PCLP3 - 2
1
Functia de intrare scanf() (2) Functia de intrare scanf() (3)
• citirea se face din zona tampon asociata fisierului standard de
Litera Tipul datei citite
Specificator de format: intrare -> citire numai dupa ce s-a dat Enter
c char
%[mmm]cc s şir de caractere • caracterele din sirul de control trebuie sa existe la intrare:
unde: d int (zecimal) int x; x=37
o int (octal) scanf(″x=%d″ , &x);
- mmm - nr. maxim de campuri citite
x, X int (hexazecimal)
- cc – specificator de conversie u unsigned • citirea se opreste la primul caracter alb, la caracterul care nu
ld, lo, lx, lX long corespunde tipului citit sau cand numarul maxim de campuri a
- nr. arg. = nr. specificatorilor de lu unsigned long fost citit:
format f float int a,b; 23125
lf double scanf(″%2d%3d″ , &a, &b);
Lf long double =>a=23 si b=125
PCLP3 - 5 PCLP3 - 6
2
Functia de intrare scanf() (6) Functia de intrare scanf() (7)
Exemple: Exemple: a 12
254
5) int i1; i1 254
scanf( %d , &i1); 6) int a, b, c; 123456789
scanf( %2d%3d%2d , &a, &b, &c); b 345
c 67
int i1; a
scanf( %d , &i1); 7) int a, b;
scanf( %d , &a);
… 125 7432 a 125
int i1; 254 scanf( %d , &b);
scanf( n=%d , &i1); b 7432
PCLP3 - 9 PCLP3 - 10
3
Alte functii de iesire (1) Alte functii de iesire (2)
• putch(char) • puts(const char *)
– definita in biblioteca conio.h – definita in biblioteca stdio.h
– afiseaza caracterul specificat ca parametru – afiseaza caracterele existente in sirul care
– returneaza codul imaginii afisate incepe la adresa specificata ca parametru
– pune un Enter la sfarsitul sirului de caractere
• putchar(char) afisat
– macro definit in biblioteca stdio.h – returneaza codul ultimului caracter din sir
– afiseaza caracterul specificat ca parametru sau -1 la eroare
– returneaza valoarea car. afisat sau -1 la eroare
PCLP3 - 13 PCLP3 - 14
4
Operatori (1)
• Expresie – un operand sau mai multi conectati prin
operatori
• Operanzi
Operatori – constante
– variabile
– nume tablou
– nume tip de data
– elementele unui tablou
– apelul unei functii
– expresie intre paranteze
PCLP3 - 17 PCLP3 - 18
5
Operatori aritmetici (2) Operatori aritmetici (3)
Exemplu: Sa se converteasca litera mica citita in litera mare.
• exemple:
#include <conio.h>
4*5/2+5%2 = 20/2+1 = 10+1 =11 void main()
{ putch(getche() – 'a' +'A' );
17%2 = 1 }
17.0 % 2 = operatie ilegala sau
#include <conio.h>
17/2 = 8 void main()
{ char c;
17.0/2 = 8.5 c = getche();
c = c – 'a' +'A';
x=17800+24000-24000 = 41800 -24000 putch(c);
depasire in int }
PCLP3 - 21 PCLP3 - 22
6
Operatori de incrementare/decrementare (1) Operatori de incrementare/decrementare (2)
#include <stdio.h>
• incrementare - ++ void main()
x=6
preincre. ++x → x = x + 1 ← x++ postincre. { int x = 5, y = 10;
printf("x = %d\n", ++x); x=5
• decrementare - -- printf("x = %d\n", --x); y=4
predecre. --x → x = x – 1 ← x-- postdecre. printf("y = %d\n", (y = ++x - 2)); y=3
x = 5; x=6
printf("y = %d\n", (y = x++ - 2)); y = -1
Obs:
printf("x = %d\n", x); x = -1
– operatori unari x = 0;
– se aplica numai intregilor printf("y = %d\n", (y = x-- -1));
printf("x = %d\n", x);
}
PCLP3 - 25 PCLP3 - 26
7
Operatori booleeni (3) Operatori booleeni (4)
2. Operatori logici
&& - SI logic (AND) – operator binar, are prioritate
! - negatia logica (NOT) – operator unar, mai mica decat operatorul de egalitate
prioritate mai mare decat operatorii
multiplicativi A B A&&B
A !A 0 0 0
0 1 0 1 0
1 0 1 0 0
1 1 1
PCLP3 - 29 PCLP3 - 30
8
Operatori booleeni (7) Operatori booleeni (8)
Exemple: Exemplu: Se citeste un numar si daca este in intervalul
int a = 9; → 00001001 [0,100] se afiseaza 1, altfel se afiseaza 0.
~a → 11110110
a << 3 → 01001000 #include <stdio.h>
a >> 2 → 00000010 void main()
{ double a;
int a = 6; → 00000110 printf (″Introduceti numarul:″);
int b = 10; → 00001010 scanf (″%lf″, &a);
a & b → 00000010 printf (″a=%lf\t%d\n″,a, a>=0 && a<=100);
a | b → 00001110 }
a ^ b → 00001100
PCLP3 - 33 PCLP3 - 34