Sunteți pe pagina 1din 2

Test Grile C++ Test simplu (10 intrebari aleatoare)

Aplicatia: #include using namespace std; #define SWAP(x,y) { int temp=x; x=y, y=temp; } int main(){ double dl=3.5, d2=5.5; SWAP (dl,d2); cout<<d1<<' '<<d2<<="" br="">a)va afisa 3.5 5.5 b)va afisa 5.5 3.5 c)va afisa 5.5 3 d)va genera eroare Raspunsul c)

Fie functiile: int m(int a,int b) { return ab?a:b; } Apelul m(2,3.)este: a)eronat, nu pot fi definite mai multe functii cu acelasi nume b)eronat, apelul conduce la ambiguitate, nestiind ce varianta sa se utilizez c)corect si returneaza valoarea 2 d)corect si returneaza valoarea 3 Raspunsul b) Sa se precizeze care afirmatii sunt adevarate: I. metodele nestatice ale unei clase primesc pointerul this; II. metodele nestatice ale unei clase nu primesc pointerul this; III. metodele statice ale unei clase primesc pointerul this; IV. metodele statice ale unei clase nu primesc pointerul this; a)I,III b)I,IV c)II,III d)II,IV Raspunsul: b) Fie declaratiile: char c='a',x; Care din urmatoarele atribuiri are acelasi efect cu expresia x='A' ? a)x=c|32 b)x=c^32 c)x=c&32 d)x=c+32 Raspunsul: b)

Fie secventa: int i=2,*p=&i; coutp[0]; Aceasta este: a)corecta si afiseaza valoarea 0 b)corecta si afiseaza valoarea 2 c)corecta si afiseaza adresa variabilei i d)eronata, adresarea indexata nu este permisa pentru pointerul p Raspunsul b)

Fie clasa: class C { int x; public: C(int _x=0): x(_x) {} //constructor clasa int operator.() //supraincarcare punct (.) {retum c.x;} }; Functia operator.: a)permite accesul la data privata x b)este eronata, operatorul . este binar c)este eronata, operatorul . se supraincarca numai prin functie prietena d)este eronata, operatorul. nu poate fi supraincarcat Raspunsul d) Secventa: int i=-2; if (i) { if (i%2) cout i impar"; } else cout"i negativ"; a)nu afiseaza nimic; b)afiseaza i impar;

c)afiseaza i negativ; d)afiseaza i impar negativ Raspunsul: a)

Fie clasa: class C { public: int x; C(int _x=0): x(_x) {} //constructor clasa operator int(){ return x;} }; Functia operator int(): a)este eronata, tipul returnat trebuie specificat inainte numelui b)este eronata; int trebuia inclus intre paranteze c)este eronata; functia returneaza un inreg nespecificat in declaratie d)este corecta, reprezinta supraincarcarea operatorului cast Raspunsul: d) Secventa: for(i=0, s=0;i++){ if(!(i%2)) continue; if(i>100) break; s+=i; } cout<<s;< br="">a)este eronata, sintaxa instructiunii for este gresita b)calculeaza suma numrelor consecutive mai muci ca 100 c)calculeaza suma numerelor pare mai mici ca 100 d)calculeaza suma numerelor impare mai mici ca 100 Raspunsul: d) Daca t este o variabila double, atunci expresia: t=3,5; a)este eronata (consta reala eronata); b)initializeaza pe t cu 3; c)initializeaza pe t cu 3.5 d)initializeaza pe t cu 5, fiind vorba despre o expresie virgula. Raspunsul: b)