Sunteți pe pagina 1din 6

LIMBAJUL C++ - MinGW 1. 2.

Vocabular litere mari i mici ale alfabetului englez caractere speciale cifre 0, 1, 2,9 Identificator - nume ir de caractere format din litere, cifre i _, primul caracter fiind o liter sau _ ex: d, nume, _nume, as, a34, OK ex NU: 1a, a&t 7)m

3. Comentariu - de linie; // hjsddgfjscjksdbc - de bloc /* . */ - secven care nu are semnificaie pentru compilator - folosesc pentru a explica secvenele de program 4. Separatori - virgula, spaiu, ;, comentariu 5. Cuvinte rezervate cheie - identificatori cu semnificaie deosebit pentru limbaj - for, while, int 6. Structura unui program C/C++ - zona de preprocesare, include bibliotecile o introduce cu directiva include sau cu define precedate de # o #include<nume_biblioteca> o #include nume_biblioteca_proprie o #define Nume Sir - orice program C/C++ are cel puin o funcie: main funcia principal - int main() () sunt asociate funciilor - n funcie instruciuni - return 0; la finalul executrii funiei 7. Tip de date tip de date = mulime de valori, reprezentare n memorie, operaii permise reprezentarea n memorie: bit 0, 1 => 8 bii=1 octet (byte), x=567 x ntreg => reprezentare pe 2 octei ctul : 567 restul: 1 283 1 141 1 70 0 35 1 17 1 8 0 4 0 2 0 1 1 0

567: 00000010 00110111 -> 2 octei 567: 00000000 00000000 00000010 00110111 -> 4 octei Tipuri de date standard Tipuri ntregi int 2 octei, [-32768, 32767] 1 bit pentru semn => 15 bii pentru reprezentare unsigned int 2 octei [0, 65535] 16 bii pentru reprezentare long (int) 4 octei cu bit de semn [ -2147******, 2147******] unsigned long (int) 4 octei fr semn [0, 4294******] MinGW: short -2 octei, [-32768, 32767] int - 4 octei cu bit de semn [ -2147******, 2147******] long = int long long

Constante ntregi: - numere ntregi n baza 10(zecimal) : 23, -98, 12675.. - numere ntregi n baza 8 (octal) : reprezentare cu cifrele: 0, 1, 2, 3, 4, 5, 6 ,7: 0123, 067 - numere ntregi n baza 16 (hexazecimal), reprezentare cu cifrele: 0, 1, 2, 9, a, b, c, d, e, f 10 11 12 13 14 15 0x123 sau 0X56, 0xa2b4 - sufix: o u, U unsigned int; o l, L long int o ul, uL, Ul, UL- unsigned long ex: 2 int cu semn 2u int fr semn 2L long pe 4 octei cu semn 2uL unsigned long Tipul caracter char char 1 octet cu bit de semn [-128, 127] unsigned char 1 octet fr semn [0, 255] codul ASCII codurile asociate tuturor caracterelor

Constante caracter: a, I, ).. constante secven escape executabile \a \b \t \v \n \\ \ \ - genereaz un sunet - backspace deplaseaz cursorul pe ecran cu o poziie spre stnga - tab orinzontal - tab vertical - trecerea cursorului pe linie nou newline - backslash - apostrof - ghilimele

ex: Acesta este un sir \n el va fi scris pe ecran \n pe trei linii efect: Acesta este un sir 2

el va fi scris pe ecran pe trei linii

Tipuri reale float 4 octei cu semn [10-38, 1038] double 8 octei cu semn [10-308, 10308] long double 10 octei - 10-4932, 104932]

Constante reale 2.34, 8.987 tiinific: 1.2e-10, -2.67e+7 Tipul void tip special pentru mulimea vid

8. Variabile - variabila: nume, apartenena la un tip de date i o valoare iniial - declararea variabilelor o tip lista_de_variabile; o tip = orice tip standard sau tip definit de utilizator o lista de variabile : nume de variabile separate prin virgul ex: int a, b, c; char z; float x, y, z, var_reala; - iniializarea variabilelor se poate realiza i la declararea lor ex: int a=3, b, c=0; char z; float x=2.6, y, z; - obs o o variabil poate fi folosit doar dac este cunoscut anterior ex: int a=2*b, b=5, c; NU int b=5, a=2*b, c; - n funcie de locul n care se face declararea o variabile globale definite n afara funciilor, vizibile n toate funciile, se pstreaz pe tot parcursul execuiei programului. Se iniializeaz cu elementul neutru (zero) o variabile locale definite n interiorul funciei, vizibile doar n funcia n care au fost definite, au via ct timp se execut funcia i se initializaez cu valori aleatoare de pe stiv o nume este dat i pentru var global i pentru cea local - prioritate maxim n funcie are variabila local ex: #include<> int a, b, c; a, b, c = variabile globale a=0, b=0, c=0 functie1() { int a, b; a, b var locale a=27; b=67; a=27, b=67 locale } la terminarea funciei a i revin la valoarea avut anterior ca var globale functie2() 3

{ a=10; } a global devine 10 int main() { afis a, b, c 10, 0, 0 } 9. Expresii - succesiune de operanzi legai prin operatori - operand: constant, variabil sau alt expresie ntre paranteze 10. Operatori unari: operator operand prioritate maxim binari: operand_1 operator operand_2

10.1 Operatori aritmetici - unari: semn +, - multiplicativi: * (produs), / (mprire), %(restul mpririi ntregi) - aditivi: +(adunare), -(scdere) - incrementare/decrementare unari ++/ -a++, ++a => a=a+1 a--, --a => a=a-1 var ++/var -- => postfixai ++var / -- var => prefixai Ex: int a=3, b=11, c; float x=2.5; a*b = 3*11 = 33 a/b = 3/11 = 0 b/a = 11/3 = 3 x/2= 2.5/2=1.25 a%b = 3%11= 3 obs. a%b=a a<b, a%b= { 0, 1, 2, , b-1} x%2 = Eroare !! nu se aplic % pentru numere reale a+x = 3+2.5= 5.5 a++ => a=4 x-- => x=1.5 c=b++ => c=b=11, b=12 c=++b => b=12, c=b=12 c=--a; => a=2, c=2 c=a--; => c=3, a=2 (a+b)++ = Eroare incrementare/decrementare se aplic doar variabilelor, nu expresiilor 10.2 Operatori rela ionali <, <=, >, >= - rezultatul este 0 dac expresia este fals i 1 dac expresia este adevrat

10.3 Operatori de egalitate == (egal) != (diferit) - rezultatul este 0 dac expresia este fals i 1 dac expresia este adevrat

Ex: int a=3, b=11, c; float x=2.5; a<=b => rezultat 1 a+7>b => rezultat 0 (fals) b*2 >= a*a => rezultat 1 a==b => rezultat 0 a!=b => rezultat 1 10.4 Operatori logici Logici generali, ntre expresii ! NOT negaia && - And conjuncia || - Or disjuncia E1 E2 0 0 !=0 0 0 !=0 !=0 !=0 Ex: int a=3, b=11, c; float x=2.5, y=4.6; E1 && E2 0 0 0 1 E1 || E2 0 1 1 1 !E1 1 0 1 0

(a<b) && ( x==y) a<b && x==y => rezultat 0 a+8==b && a%2!=0 || x>y rezultat 1 a+8==b && a%2!=0 || x>y && y+1>2 ------------------------ ----------------rezultat 1 || rezultat 0 rezultat 1 !a => rezultat 0 Logici pe bi i ~ negaia & - And i pe bii ^ - Xor, sau exclusiv | - Or sau pe bii << deplasare spre stnga >> deplasare spre dreapta b1 0 1 0 b2 0 0 1 b1 & b2 0 0 0 b1 ^ b2 0 1 1 b1 | b2 0 1 1 ~b1 1 0 1 5

Xor sau exclusiv = 1 dac biii sunt diferii i 0 n rest (bii egali)

Ex: int a, b, c; a=57 b=124 ctul: restul: ctul: restul:

57 1 124 0

28 0 62 0

14 0 31 1

7 1 15 1

3 1 7 1

1 1 3 1

1 1

a = 00000000 00111001 b = 00000000 01111100 c=a&b = 00000000 00111000 = 1*25+1*24+1*23+0*22+0*21+0*1 = 32+16+8=56 c=57&124=56 c=a|b = 00000000 01111101 = 1*26+1*25+1*24+1*23+1*22+0*21+1*20=64+32+16+8+4+1= 125 c=57|124=125 c=a^b = 00000000 01000101 = 1*26+1*22+1*20= 64+4+1=69 c=57^124=69 ~a = 11111111 11000110 = complementul fat de cea mai mare valoare = 32767 57 = 32710 Deplasri: a<<n = deplasarea biilor semnificativi cu n poziii spre stnga a = 00000000 00111001 a<<3 = 00000001 11001000 a = 1*25+1*24+1*23+1 a<<3 = 1*28+1*27+1*26+1*23= a*23 a<<n a*2n a>>n = deplasarea biilor semnificativi cu n poziii spre dreapta cu pierderea biilor a = 00000000 00111001 a>>2 = 00000000 00001110 a = 1*25+1*24+1*23+1 a>>2 = 1*23+1*22+1*21= a/ 22 a>>n a / 2n