Sunteți pe pagina 1din 8

1. Care este valoarea expresiei n=n**pi, în condi?

iile de mai jos


unsigned char n=100, *pi=&n;
Choose one answer.
a. 16 de tip unsigned char
b. 10000, de tip int
c. 100, de tip unsigned char
d. expresia e gresita sintactic!

2. Care atribut al unei variabile indica locul unde este creata o


variabila?
Choose one answer.
a. durata de viata
b. clasa de memorare
c. vizibilitatea
d. domeniul

3. Care din urm?toarele opera?ii cu structuri sunt legale:


Choose at least one answer.
a. returnarea unei structuri ca valoare a unei func?ii
b. compararea a dou? structuri
c. adunarea a dou? structuri
d. copierea unei structuri

4. Ce este gresit in
#define cub(x) x*x*x
Choose one answer.
a. cu directiva define nu se pot defini decat constante
simbolice!
b. parametrului x nu i s-a declarat tipul
c. la apeluri de genul cub(a+b), rezultatul nu reprezinta, in
general, cubul sumei a+b

5. In conditiile in care x e declarat ca


int x;
valoarea expresiei
(~x) ^ (x)
Choose at least one answer.
a. este < 0
b. este 0
c. este > 0
d. este -1

6. Care dintre urmatoarele este cuvantul rezervat C utilizat pt


declararea unui bit-field?

Choose one answer.


a. union
b. field
c. bitfield
d. struct

7. Functia fscanf poate fi folosita pentru citirea


Choose one answer.
a. oricarui tip de fisier
b. numai a fisierelor text
c. numai a fisierelor binare

8. Pe cati octeti se rerezinta variabila p declarata ca


void *p
Choose one answer.
a. 1
b. 0
c. atatia cati sunt necesari pentru stocarea unei adrese

9. Data secventa:
union {
long populatie;
char *nume;
} oras;
/*...*/
oras.nume = "Arad";
oras.populatie = 172827;
printf("locuitori: %ld, oras: %s", oras.populatie, oras.nume );
Choose at least one answer.

a. rezultatul (la stdout) este: oras: Arad, locuitori: 172827


b. secventa este gresita sintactic
c. rezultatul (la stdout) este: oras: £ d, locuitori: 172827
d. secventa este compilabila dar gresita functional (rezultatul
este gresit)
e. rezultatul (la stdout) este: oras: Arad, locuitori: 1098015076

10. Structura de tip FILE asociata fiecarui stream NU contine


Choose at least one answer.
a. o variabila (errno) in care se pastreaza codul ultimei erori
de I/O
b. un indicator de eroare
c. un indicator de sfarsit de fisier

11. Poate o structura sa aiba un membru de acelasi tip?


Choose one answer.
a. nu
b. numai daca este ultimul membru
c. da
d. numai daca este primul membru
12. Date declaratiile
int n=200, m=200;
long r;
si presupunand ca sizeof(int) este 2 iar valorile tipurilor intregi
sunt implicit cu semn, valoarea expresiei r=n*m este:
Choose at least one answer.
a. de tip int
b. de tip long
c. 40000
d. -25536

13. Care din urmatoarele variante reprezinta modalitati de comunicare


intre functii?
Choose at least one answer.
a. prin variabile locale
b. prin argumentele actuale
c. prin includere
d. prin variabile globale
e. apel
f. prin valoarea returnata

14. In conditiile de mai jos:


#define PI 3.14
int r;
valoarea expresiei 2*PI*r este de tip
Choose one answer.
a. float
b. double
c. int
d. long

15. Date declara?iile de mai jos, preciza?i tipul expresiei


*(r[i]).p1.x, i fiind o variabil? întreag?.

struct point {int x,y;};


struct rectangle {
struct point p1, p2;
} *r[N];
Choose one answer.
a. struct rectangle *
b. expresia este gresita sintactic
c. struct rectangle
d. int
e. struct point
16. O uniune este:
Choose at least one answer.
a. un tip predefinit
b. o alternativa la utilizarea unei structuri
c. un tip agregat
d. un tip definit de programator

17. Care din urmatorii modificatori de clasa de memorare pot fi


folositi in declaratia unei variabile globale?
Choose at least one answer.
a. static
b. register
c. extern
d. auto

18. data urmatoarea declaratie:

struct {
int a:1;
unsigned int b:1;
} f;

care din urmatoarele afirmatii referitaore la rezultatul expresiei


f.a=f.b=1; este adevarata?
Choose one answer.
a. f.a=-1; f.b=-1;
b. f.a=1; f.b=1;
c. f.a=1; f.b=-1;
d. f.a=-1; f.b=1;

19. Ce este un pointer?


Choose one answer.
a. o variabil? a c?rei valoare se interpreteaz? ca adres?
b. un indicator Incorrect
c. o adres? de memorie Incorrect

20. Care este valoarea expresiei *q - *p in conditiile de mai jos:


char t[]="timisoara", *p,*q, n;
p=&t[1]; q=&t[3];
Choose one answer.
a. ‘0’ '0' - codul caracterului 0 - este (in orice
codificare) diferit de 0!
b. 2
c. ‘\x0’
d. secven?a e gre?it? sintactic
21. Data declaratia
float x=2.5;
valoarea expressiei x=3.0*x+10/4este:
Choose at least one answer.
a. of type float
b. 9.5
c. 10.0
d. of type double

22. Ce este gresit in


#define cub(x) x*x*x
Choose one answer.
a. la apeluri de genul cub(a+b), rezultatul nu reprezinta, in
general, cubul sumei a+b
b. cu directiva define nu se pot defini decat constante simbolice
c. parametrului x nu i s-a declarat tipul

23. Resultatul apelului f(2, 1, 25) al unei functii declarate ca

int f(int , ...);

si care asteapta argumente de tip long in lista de argumente de


lungime variabila
Choose one answer.
a. va fi corect
b. nu va fi corect
c. depinde de implementarea limbajului

24. Domeniul identificatorilor de variabile locale tine din locul


declaratiei pana la
Choose one answer.
a. sfarsitul functiei
b. sfarsitul programului
c. sfarsitul textului sursa
d. sfarsitul blocului

25. Care este rezultatul numeric al evaluarii unei expresii


relationale sau logice?
Choose one answer.
a. FALSE sau TRUE
b. 0 sau 1
c. 0 sau diferit de 0
26. Ce operator nu poate fi utilizat pentru accesul la un membru al
unei structuri?
Choose at least one answer.
a. *
b. ^
c. &
d. .

27. Care este valoarea lui n dupa executia secven?ei:

char t[ ]="timisoara", *p,*q,n;


p=q=t;
while(*q++);
n=q-p;
Choose one answer.
a. n=‘\0’-‘t’
b. n=9
c. n=10
d. n=0

28. Fisierele header furnizate, alaturi de bibliotecile de module cod


obiect, impreuna cu un compilator, contin:
Choose at least one answer.
a. declaratii de variabile locale
b. definitiile functiilor de biblioteca
c. prototipurile (declaratiile) functiilor de biblioteca
d. directive de preprocesare
e. definitii de noi nume de tip (typedef-uri)
f. definitii de noi tipuri

29. Care din afirma?iile urm?toare, referitoare la structuri, nu sunt


adev?rate:
Choose at least one answer.
a. sunt tipuri de date predefinite Nu! Structurile sunt tipuri
de date definite de programator! (Tipurile predefinite in C sunt:
char, short, int, long, float, double, long double!)
b. sunt tipuri de date scalare Nu! Structurile sunt tipuri de
date agregate, pentru ca au mai multe componente (membri).
c. sunt tipuri de date definite de programator
d. sunt tipuri de date agregate

30. Ce operator se utilizeaz? pentru dereferen?ierea unui pointer,


adic? pentru accesul la valoarea stocat? la adresa care este p?strat?
în variabila pointer?
Choose one answer.
a. *
b. &
c. .

31. Domeniul identificatorilor de variabile locale tine din locul


declaratiei pana la
Choose one answer.
a. sfarsitul functiei
b. sfarsitul programului
c. sfarsitul textului sursa
d. sfarsitul blocului

32. Care din urmatoarele actiuni au loc la compilare?


Choose at least one answer.
a. generarea codului obiect
b. definirea constantelor simbolice
c. includerea fisierelor header
d. analiza sintactica
e. editarea de legaturi
f. analiza lexicala

33. Care este rezultatul numeric al evaluarii expresiei


a<b<c
daca a=53, b=127, c=2?
Choose one answer.
a. TRUE
b. 0
c. FALSE
d. 1

34. Ce este gresit in urmatoarea definitie a functiei itoa:


char *itoa(int n)
{ char buf[11];
sprintf(buf, "%d", n);
return buf;
}
Choose one answer.
a. integritatea rezultatului din buf nu este garantata in functia
apelanta
b. nu e nimic gresit
c. dimensiunea tabloului buf este prea mica

35. Care este rezultatul numeric al evaluarii expresiei


a<b<c
daca a=-2, b=-1, c=2?
Choose one answer.
a. TRUE
b. FALSE
c. 0
d. 1
36. Care este valoarea expresiei ~0?
Choose one answer.
a. 0xF
b. -1
c. 1

37. Cum se numeste modul de reprezentare al datelor reale?


Choose one answer.
a. complement fata de doi
b. virgula fixa
c. virgula mobila

38. Ce este gresit in


#define cub(x) x*x*x
Choose one answer.
a. la apeluri de genul cub(a+b), rezultatul nu reprezinta, in
general, cubul sumei a+b
b. cu directiva define nu se pot defini decat constante simbolice
c. parametrului x nu i s-a declarat tipul

39. In conditiile
#define swap(a, b) {int aux; /
aux=a; /
a=b; /
b=aux; }
float x, y;
in urma apelului swap(x, y), rezultatul (interschimbarea valorilor lui
x si y!)
Choose one answer.
a. este corect
b. nu este corect
c. depinde numai de valoarea lui x
d. depinde de valorile lui x si y

40. Cand au loc conversii implicite de tip?


Choose at least one answer.
a. cand argumentul actual cu care se apeleaza o functie are alt
tip decat argumentul formal corespunzator
b. cand operanzii unei expresii au tipuri diferite
c. la citirea datelor de intrare