47970918 c test grila solved

Upload: ana-maria-covaci

Post on 06-Apr-2018

388 views

Category:

Documents


10 download

TRANSCRIPT

  • 8/3/2019 47970918 c Test Grila Solved

    1/43

    Grile laborator programare I (Cucu)

    1. Care din urmatoarele actiuni au loc la compilare?

    a) analiza lexicala

    b)includerea fisierelor header

    c) definirea constantelor simbolice

    d)analiza sintactica

    e) generarea codului obiect

    f)editarea de legaturi

    2. Fisierele header, furnizate alaturi de biblioteci de module cod obiect, impreuna cu uncompilator, contin:

    a) definitiile functiilor de biblioteca

    b) macro-definitii

    c) prototipurile functiilor de biblioteca

    3. La preprocesarea unui fisier sursa C

    a) se includ functiile de biblioteca

    b) se obtine o noua versiune a textului sursa

    c) se obtine codul obiect

    4. In conditiile de mai jos

    #define PI 3.14

    int r;

    valoarea expresiei 2 * PI * r este de tip

  • 8/3/2019 47970918 c Test Grila Solved

    2/43

    a) int

    b) float

    c) double

    d) long

    5. Daca variabila r este declarata de tipul float, in conditiile definitiilor

    #define PI 3.14

    #define perimetru(raza) 2*PI*raza

    valoarea expresiei perimetru(r) este de tip

    a) int

    b) float

    c) double

    d) long

    6. Urmatoarea macrodefinitie

    #define swap(a,b) {a=a^b; b=a^b; a=a^b;}

    poate fi apelata ca swap(x, y);

    a) numai daca x si y sunt variabile de tip real

    b) numai daca x si y sunt variabile de tip intreg

    c) daca x si y sunt constante intregi

    d) indiferent de ce tip numeric sunt variabilele x si y

    7. Urmatoarea macrodefinitie

  • 8/3/2019 47970918 c Test Grila Solved

    3/43

    #define swap(a,b) {a=a+b; b=a-b; a=a-b;}

    poate fi apelata ca swap(x, y);

    a) numai daca x si y sunt variabile de tip real

    b) numai daca x si y sunt variabile de tip intreg

    c) daca x si y sunt constante intregi

    d) indiferent de ce tip numeric sunt variabilele x si y

    8. In conditiile

    #define swap(a,b) {int aux; aux=a; a=b; b=aux;}

    float x=10.5, y=3.75;

    in urma apelului swap(x, y); valorile lui x, respectiv y vor fi

    a) x=3.75 si y=10.5

    b) x=3.0 si y=10.5

    c) x=3.75 si y=10.0

    d) x=3.0 si y=10.0

    9. 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!)

    a) este corect

    b) nu este corect

  • 8/3/2019 47970918 c Test Grila Solved

    4/43

    c) depinde de valorile lui x si y

    d) depinde doar de valoarea lui x

    10. Ce este gresit in

    #define cub(x) x*x*x

    a) cu o 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)

    11. Care din variante defineste corect si complet ce anume se specifica prin tipul uneidate?

    a) Numarul de octeti ocupati

    b) Spatiul necesar reprezentarii si modul de reprezentare.

    c) Operatiile permise

    12. Care din urmatoarele cuvinte rezervate denumesc tipuri de date intregi predefinite in

    C?

    a) char

    b) float

    c) short

    d) int

    e) long

    f) long double

  • 8/3/2019 47970918 c Test Grila Solved

    5/43

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

    a) virgula mobila

    b)complement fata de doi

    c) virgula fixa

    14. Ce este o variabila?

    a) litera care tine locul unor valori (de ex. a, b, c sau x, y, z)

    b) o valoare care se schimba

    c) o zona de memorie identificabila in care se pot pastra valori

    15. Ce caracteristica a unei variabile este precizata de clasa sa de memorare?

    a) locul unde poate fi folosita

    b) locul unde se creaza

    c) locul unde se vede

    16. Care din urmatoarele clase de memorare se specifica implicit?

    a) static

    b) auto

    c) register

    d) extern

    17. Ce reprezinta domeniul unei variabile:

    a) plaja de valori pe care le poate lua

  • 8/3/2019 47970918 c Test Grila Solved

    6/43

    b) locul unde se creaza

    c) locul din textul sursa unde poate fi folosita

    d) daca are semn sau nu

    18. Care este atributul care precizeaza unde (intr-un text sursa C) poate fi utilizat legalidentificatorul unei variabile?

    a) domeniul

    b) durata de viata

    c) vizibilitatea

    d) clasa de memorare

    19. Care din urmatoarele cuvinte rezervate denumesc tipuri de date reale predefinite in C?

    a) char

    b) float

    c) short

    d) double

    e) long

    f) long double

    20. Cum se numeste modul de reprezentare al datelor intregi?

    a) virgula mobila

    b) complement fata de doi

    c) virgula fixa

  • 8/3/2019 47970918 c Test Grila Solved

    7/43

    21. Care atribut al unei variabile indica locul in care este creata varibila?

    a) domeniul

    b) durata

    c) clasa de memorare

    d) vizibilitatea

    22. Stiind ca valorile datelor de tip intreg sunt cu semn, care va fi valoarea variabilei c

    dupa secventa:

    char c=130;

    a) 130

    b) -126

    c) \0

    d) c

    23. Declaratia register int i; determina crearea variabilei i:

    a) intr-un registru

    b) pe stiva

    c) depinde de context

    d) declaratia are ca efect inregistrarea variabilei!

    24. Declaratia extern int val;

    a) este o declaratie de referire

    b) determina crearea variabilei

  • 8/3/2019 47970918 c Test Grila Solved

    8/43

    c) ?anunta? tipul variabilei val, declarata altundeva

    25. O declaratie de referire

    a) creaza o variabila

    b) se face cu cuvantul rezervat extern

    c) anunta tipul unei variabile nedeclarate inca in respectivul fisier sursa

    d) precizeaza o referinta (adresa)

    26. Domeniul identificatorilor de variabile globale tine din locul declaratiei pana la:

    a) sfarsitul blocului

    b) sfarsitul programului

    c) sfarsitul textului sursa

    d) sfarsitul functiei

    27. Domeniul identificatorilor de variabile locale tine din locul declaratiei

    a) sfarsitul programului

    b) sfarsitul textului sursa

    c) sfarsitul functiei

    d) sfarsitul blocului

  • 8/3/2019 47970918 c Test Grila Solved

    9/43

    32. Care este ordinea de evaluare a expresiilor compuse, daca nu se folosesc paranteze?

    a) intotdeauna de la stanga spre dreapta

    b) intotdeauna de la dreapta spre stanga

    c) aleatoare

    d) in functie de precedenta operatorilor

    33. Cand au loc conversii implicite de tip?

    a) la citrea datelor de intrare si la afisarea rezultatelor

    b) cand operanzii unei expresii au tipuri diferite

    c) cand argumentul actual cu care se apeleaza o functie are alt tip decat argumentulformal corespunzator

    34. Care din urmatorii operatori NU admit operanzi reali?

    a) operatorii de incrementare/decrementare ?

    b) operatorii logici

    c) operatorii logici pe biti

    d) operatorii de deplasare

    35. Care din urmatorii operatori admit operanzi reali?

    a) operatorii logici pe biti

    b) operatorii de deplasare

    c) operatorii de incrementare/decrementare

    d) operatorii logici

  • 8/3/2019 47970918 c Test Grila Solved

    10/43

    36. Care este rezultatul numeric al evaluarii unei expresii relationale sau logice?

    a) FALSE sau TRUE

    b) 0 sau 1

    c) 0 sau diferit de 0

    37. Care din urmatoarele valori sunt adevarate din punct de vedere logic?

    a) \0

    b) 0x80

    c) 0

    d) 280

    e) 0.0

    f) 3.14F

    38. Care din urmatoarele valori sunt false din punct de vedere logic?

    a) \0

    b) 0x1F

    c) 0

    d) NULL

    e) 0.0

    f) 1F

    _

    39. Date declaratiile

    int n=10, m=4;

  • 8/3/2019 47970918 c Test Grila Solved

    11/43

    float x;

    valoarea expresiei x = 1.5 + n/m este

    a) 4.0

    b) 3.5

    c) de tip double

    d) de tip float

    40. Date declaratiile

    int n=10, m=4;

    valoarea expresiei 1.5 + n/m este

    a) 4

    b) 3.5

    c) de tip double

    d) de tip float

    _

    41. Data declaratia

    float x=2.5;

    valoarea expresiei x=3.0*x + 10/4 este

    a) 10.0

    b) 9.5

    c) de tip double

    d) de tip float

  • 8/3/2019 47970918 c Test Grila Solved

    12/43

    42. Date declaratiile

    float x=2.5;

    valoarea expresiei 3.0*x + 10/4.0 este

    a) 10.0

    b) 9.5

    c) de tip double

    d) de tip float

    _

    43. Date declaratiile

    int n=200, m=200;

    long r;

    si presupunand ca sizeof(int) este 2 iar valorile tipurile intregi sunt implicit cu semn,valoarea expresiei r=n*m este:

    a) 40000

    b) -25536

    c) de tip long

    d) de tip int

    44. Daca a este o variabila intreaga, care este valoarea expresiei

    (a < 'a') && (a > 'z')

    a) 1

    b) 0

  • 8/3/2019 47970918 c Test Grila Solved

    13/43

    c) depinde de valoarea lui a ?

    45. Daca a este o variabila intreaga, care este valoarea expresiei

    (a < 'a') || (a > 'z')

    a) 1

    b) 0

    c) depinde de valoarea lui a

    46. Date declaratiile:

    int i, t[10];

    valoarea expresiei

    ( i=0 ) && ( t[i]

  • 8/3/2019 47970918 c Test Grila Solved

    14/43

    48. Date declaratiile variabilelor locale:

    int i, t[10];

    si presupunand ca atat i, cat si t nu sunt initializati explicit, valoarea expresiei

    ( i==0 ) || ( t[i]

  • 8/3/2019 47970918 c Test Grila Solved

    15/43

    c) este 1

    d) este 0 sau 1

    51. Presupunand ca adresele se reprezinta pe 4 octeti, cat spatiu de memorie se rezerva

    prin urmatoarele declaratii:

    extern long count;

    struct node { long key;

    struct node *next;

    };

    a) 12 octeti

    b) 8 octeti

    c) 4 octeti

    d) nici un octet

    52. Care este rezultatul evaluarii expresiei

    "0123456789"[i]

    daca i=9?

    a) expresia este gresita sintactic

    b) 9

    c) 9

    d) 8

    53. Care este rezultatul evaluarii expresiei

    "0123456789"[i]

  • 8/3/2019 47970918 c Test Grila Solved

    16/43

    daca i=0?

    a) expresia este gresita sintactic

    b) 0

    c) ?0?

    d) ?\0?

    54. Care este rezultatul evaluarii expresiei

    "0123456789"[i]

    daca i=10?

    a) expresia este gresita sintactic

    b) nedefinit

    c) ?\0?

    d) ?9?

    55. Care este rezultatul evaluarii expresiei

    "0123456789"[10]

    a) expresia este gresita sintactic

    b) expresia nu are sens

    c) ?9?

    d) 0

    56. Care este rezultatul numeric al evaluarii exprresiei

    a < b < c

  • 8/3/2019 47970918 c Test Grila Solved

    17/43

    daca a=-2, b=-1 si c=0?

    a) 1

    b) TRUE

    c) 0

    d) FALSE

    57. Care este rezultatul numeric al evaluarii exprresiei

    a < b < c

    daca a=0, b=1, c=2?

    a) 1

    b) TRUE

    c) 0

    d) FALSE

    58. Daca t este un tablou, ce reprezinta valoarea expresiei

    sizeof t /sizeof t[0]

    a) expresia este gresita sintactic

    b) expresia nu are sens

    c) numarul de elemente ale tabloului t

    d) numarul de octeti ocupati de t respectiv t[0]

    59. Presupunanad ca sizeof(int) este 2, valoarea lui c, in urma executiei secventei

    urmatoare

  • 8/3/2019 47970918 c Test Grila Solved

    18/43

    int a=100, b=400;

    long int c;

    c=a*b;

    a) este corecta

    b) este eronata

    c) este 40000

    d) este -25536

    60. Discutati (in functie de valorile lui a si b) rezultatul lui c dupa:

    int a, c;

    long b;

    c=a*b;

    a) rezultatul este intotdeauna corect

    b) rezultatul este intotdeauna eronat

    c) rezultatul este corect daca a*b se incadreaza in plaja de valori a tipului int

    61. Care este valoarea expresiei ~0?

    a) 1

    b) -1

    c) 0xF

    62. Care este valoarea expresiei ~1?

    a) 0

  • 8/3/2019 47970918 c Test Grila Solved

    19/43

    b) 0xE

    c) -2

    63. Ce se va afisa n urma executiei secventei urmatoare:

    #include

    void main() {

    unsigned char x=10;

    x=~x;

    printf(%d,(int)x); }

    a) 245

    b) 0

    c) 255

    85. Care din urmatoarele variante reprezinta modalitati de comunicare intre functii?

    a) apel

    b) prin variabile locale

    c) prin argumentele actuale

    d) prin valoarea returnata

    e) prin variabile globale

    f) prin includere

    86. Ce este contextul de apel al unei functii?

  • 8/3/2019 47970918 c Test Grila Solved

    20/43

    a) lista argumentelor formale

    b) o zona de memorie (de pe stiva)

    c) locul din textul sursa in care se apeleaza

    d) instructiunile (definitia functiei)

    87. Ce se regaseste in contextul de apel al unei functii?

    a) definitii de constante simbolice

    b) valoarea returnata

    c) adresa de revenire

    d) valoarea argumentelor actuale

    e) variabilele locale

    f) variabilele globale

    88. Transmiterea argumentelor catre functia apelata (conventia de apel C) se face:

    a) prin variabile globale

    b) prin valoare

    c) in ordine inversa celei din lista de argumente

    d) prin referinta

    89. Ce este o functie recursiva?

    a) o functie nu poate fi recursiva

    b) o functie care recurge la context

    c) o functie cu lista variabila de argumente

  • 8/3/2019 47970918 c Test Grila Solved

    21/43

    d) o functie care se autoapeleaza

    90. Comparata cu varianta sa iterativa, din punct de vedere al spatiului de memorie

    necesar apelului, o functie recursiva este, in principiu:

    a) la fel de eficienta

    b) mai putin eficienta

    c) mai eficienta

    91. Comparata cu varianta sa iterativa, din punct de vedere al timpului de executie, o

    functie recursiva este, in principiu:

    a) la fel de eficienta

    b) mai eficienta

    c) mai putin eficienta

    92. Efectul executiei urmatoarelor secvente:

    for(exp_1; exp_2 ; exp_3) exp_1;

    instructiune; while( exp_2)

    {instructiune;

    exp_3;}

    este

    a) identic

    b) diferit

    c) dependent de context

  • 8/3/2019 47970918 c Test Grila Solved

    22/43

    93. In absenta prototipului functiei, contextul urmatorului apel

    f('2', -1.5F, 2L);

    va contine argumente de tip:

    a) char, float, long

    b) int, double, long

    c) char, double, long

    d) int, float, long

    94. Doua functii pot comunica in conditiile in care nici una nu o apeleaza pe cealalta?

    a) nu

    b) da, prin mesaje

    c) eventual, prin variabile globale

    95. O functie cu lista de argumente de lungime variabila

    a) poate fi apelata fara nici un argument

    b) poate avea, la apeluri diferite, un numar diferit de argumente

    c) nu poate fi definita intr-un program C

    d) trebuie sa aiba cel putin un argument cu nume

    96. Rezultatul apelului f(2, 1.5, 0.25) al unei functiei declarate ca

    void f(int , ...);

    si care asteapta argumente de tip float in lista variabila

    a) este corect

    b) nu este corect

  • 8/3/2019 47970918 c Test Grila Solved

    23/43

    c) depinde de implementarea limbajului

    97. Rezultatul apelului f(2, 1, 25) al unei functiei declarate ca

    void f(int , ...);

    si care asteapta argumente de tip long in lista variabila

    a) este corect

    b) nu este corect

    c) depinde de implementarea limbajului

    98. Efectul executiei urmatoarelor secvente:

    for(exp_1; exp_2 ; exp_3) | exp_1;

    instructiune; | while( exp_2)

    | instructiune;

    | exp_3;

    este

    a) identic

    b) diferit

    c) dependent de context

    99. Care este efectul secventei:

    for(i=0; i

  • 8/3/2019 47970918 c Test Grila Solved

    24/43

    a) se afiseaza, pe linii separate, valorile de la 1 la N

    b) se afiseaza pe linie noua valoarea N-1

    c) se afiseaza, pe linii separate, valorile de la 0 la N-1

    d) se afiseaza pe linie noua valoarea N

    100. Definitia:

    void init(int tablou[ ])

    {

    int n, i;

    n=sizeof tablou / sizeof(tablou[0];

    for(i=0; i

  • 8/3/2019 47970918 c Test Grila Solved

    25/43

    b) adresa de revenire, (float)10, (float)3.14

    c) adresa de revenire, (int)10, (double)3.14

    d) (int)10, (double)3.14, adresa de revenire

    102. Secventa urmatoare

    void f(int n)

    { int t[n], i;

    for(i=0; i

  • 8/3/2019 47970918 c Test Grila Solved

    26/43

    c) depinde de valoarea initiala a lui n

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

    char *itoa(int n) /*converteste intregul n in sir de caractere */

    { char buf[11];

    sprintf(buf, "%d", n);

    return buf;

    }

    a) dimensiunea tabloului buf este prea mica

    b) nu e nimic gresit!

    c) integritatea rezultatului din buf nu este garantata in functia apelanta

    119. Ce este un pointer?

    a) un indicator;

    b) o adresa de memorie

    c) o variabila a carei valoare se interpreteaza ca adresa

    120. Care dintre urmatoarele operatii sunt ilegale:

    a) inmultirea unui pointer cu un intreg

    b) impartirea a doi pointeri

    c) compararea a doi pointeri

  • 8/3/2019 47970918 c Test Grila Solved

    27/43

    d) scaderea unui pointer din alt pointer

    e) adunarea unui intreg la un pointer

    f) dereferentierea unui pointer

    121. Ce operator se utilizeaza pentru dereferentierea unui pointer (adica pt.accesul la

    valoarea stocata la adresa care este pastrata in variabila pointer)?

    a) &

    b) .

    c) *

    122. Care este tipul expresiei n**pi, in conditiile de mai jos

    long n=10, *pi=&n;

    a) long

    b) int

    c) long *

    123. Care este valoare expresiei q-p, in conditiile de mai jos:

    int t[10], *p=t,*q=&t[9];

    a) 9

    b) 10

    c) t[9]-t[0]

    d) 20

  • 8/3/2019 47970918 c Test Grila Solved

    28/43

    124. Pe cati octeti se reprezinta variabila p, declarata ca void *p ?

    a) 0

    b) 1

    c) atatia cati sunt necesari pentru stocarea unei adrese

    125. Daca pointerul p indica spre un element al unui tablou, in urma evaluarii expresiei

    p+5

    a) p nu se modifica

    b) p indica 5 elemente dincolo de elementul spre care indica initial

    c) se obtine ca rezultat adresa celui de-al 5-lea element dincolo de elementul spre care

    indica p

    126. Presupunand ca octetii unei variabile sunt memorati incepand cu octetul mai putinsemnificativ, in conditiile

    int t[ ] = { 0x0203, 0x1} *p=t;

    valoarea expresiei

    *p * *(p+1)

    a) este 0x203

    b) este 0x6

    c) este 0

    d) depinde de valoarea lui p

    127. In conditiile

    int t[ ] = { 0x0203, 0x4};

  • 8/3/2019 47970918 c Test Grila Solved

    29/43

    char *p = t;

    valoarea expresiei

    *p * *(p+1)

    a) este 0x203

    b) este 0x6

    c) este 0x8

    d) 0xC

    128. In conditiile

    int t[ ] = { 0x0203, 0x4};

    char *p = t;

    valoarea expresiei

    *p * *(p+2) + 1

    a) este 0x204

    b) este 0x7

    c) este 0xD

    d) 0x9

    129. Care dintre urmatoarele operatii sunt legale:

    a) inmultirea unui pointer cu un intreg

    b) impartirea a doi pointeri

    c) compararea a doi pointeri

    d) scaderea unui pointer din alt pointer

  • 8/3/2019 47970918 c Test Grila Solved

    30/43

    e) decrementarea unui pointer

    f) dereferentierea unui pointer

    130. Care este tipul expresiei n**pi, in conditiile de mai jos

    int n=10, *pi=&n;

    a) long

    b) int

    c) int *

    131. Stiind ca numele unui tablou este sinonim cu adresa primului element al tabloului,

    ce diferenta exista intre urmatoarele declaratii:

    char s[ ] = "Timisoara";

    char *p = "Timisoara";

    a) nici una

    b) prima declara un tablou, a doua un pointer

    c) expresia s==p este falsa ?

    d) expresia s==p este adevarata

    132. Presupunand ca adresele se reprezinta pe 4 octeti, cat spatiu de memorie se rezerva

    prin declaratiile urmatoare:

    char *name, buffer[20];

    short *pshort, t[20];

    double *pdouble, PI;

    In ordine, pt name, buffer, pshort, t, pdouble si PI:

  • 8/3/2019 47970918 c Test Grila Solved

    31/43

    a) 1, 20, 2, 40, 8, 8 octeti

    b) 4, 20, 4, 40, 4, 8 octeti

    c) nici un octet

    133. Secventa urmatoare

    char *p;

    strcpy(p, "Timisoara");

    a) este corecta

    b) este, principial, gresita

    c) va avea un rezultat imprevizibil

    134. Secventa urmatoare

    char *p=?c:\\temp\\?;

    strcat(p, ?lista.txt?);

    a) este, principial, gresita

    b) este corecta

    c) va avea un rezultat imprevizibil

    135. Presupunand ca se furnizeaza prototipurile functiilor apelate, ce este gresit in

    secventa

    int *pi;

    char *pc;

    scanf("%d",pi);

  • 8/3/2019 47970918 c Test Grila Solved

    32/43

    strcpy(pc,"timisoara");

    a) argumentul pi din apelul lui scanf trebuie precedat de operatorul adresa (&)

    b) pi trebuie initializat inainte de scanf

    c) pc trebuie initializat inainte de strcpy

    136. Care este valoarea variabilei r dupa executia secventei urmatoare, parte a definitiei

    unei functii:

    {

    char *string, r;

    r = (string == "Timisoara");

    }

    a) 0

    b) 1

    c) 0 sau 1, dependent de context

    137. Care este valoarea variabilei r dupa executia secventei urmatoare daca, la compilare,

    constantele sir de caracter se genereaza indiferent daca mai exista o alta identica:

    char *nume=?Timisoara?, r;

    main()

    {

    r = (nume == ?Timisoara?);

    }

    a) 0 sau 1, dependent de context

    b) 0

  • 8/3/2019 47970918 c Test Grila Solved

    33/43

    c) 1

    138. Care este valoarea variabilei r dupa executia secventei urmatoare daca, la compilare,

    constantele sir de caracter nu se duplica (se genereaza o singura data, indiferent de cateori a fost specificata in textul sursa):

    char *nume=?Timisoara?, r;

    main()

    {

    r = (nume == ?Timisoara?);

    }

    a) 0 sau 1, dependent de context

    b) 0

    c) 1

    139. Ce este gresit in secventa urmatoare, care ar trebui sa rezerve saptiu pentru 10 date

    de tip int si sa le initializeze cu 0:

    void *malloc(int );

    void *p;

    p=malloc(10*sizeof(int));

    for(i=0;i

  • 8/3/2019 47970918 c Test Grila Solved

    34/43

    140. Care este valoarea lui n dupa executia secventei:

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

    p=q=t;

    while(*q++);

    n=q-p;

    a) n=0

    b) n=9

    c) n=10

    d) n=?\0?-?t?

    141. Care este valoarea lui n dupa executia secventei:

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

    p=q=t;

    while(*q)

    q++;

    n=*q-*p;

    a) ?a? ? ?t?

    b) 10

    c) '-t'

    b) 9

    142. Ce este gresit in secventa:

    int t[N], *low=t, *mid, *high=&t[N-1];

  • 8/3/2019 47970918 c Test Grila Solved

    35/43

    mid = ( low + high ) / 2;

    a) un pointer nu se poate initializa cu un tablou

    b) initializarea lui low, respectiv high e gresita

    c) adunarea a doi pointeri este ilegala

    d) mid nu poate fi initializat cu o valoare reala (daca low+high e impar!)

    143. Ce este gresit in secventa:

    char *p;

    strcpy(p, "Timisoara");

    a) nu se poate copia un sir de caractere intr-un pointer!

    b) secventa e corecta

    c) pointerul p este neinitializat

    144. Date declaratiile:

    int t[10], *pi=t;

    char *pc=t;

    de ce tip sunt valorile expresiilor *pi respectiv *pc?

    a) int * respectiv char *

    b) int / int

    c) int / char

    d) pc nu poate fi initializat cu t!

  • 8/3/2019 47970918 c Test Grila Solved

    36/43

    145. Care va fi valoarea pointerului p dupa initializare, daca adresa de inceput a tabloului

    t este 0x1A2:

    long t[100],*p;

    p=&t[6];

    a) 0x1A8

    b) 0x1BA

    c) 0x1C6

    146. Daca tab este numele unui tablou, despre expresia *(++tab) se poate afirma ca:

    a) un tablou nu poate fi dereferentiat b) expresia e corecta

    c) numele unui tablou este o constanta, deci nu poate fi incrementat

    147. Daca tab este numele unui tablou, despre expresia ++(*tab) se poate afirma ca:

    a) un tablou nu poate fi dereferentiat

    b) expresia e corecta

    c) numele unui tablou este o constanta, deci nu poate fi incrementat

    148. In conditiile de mai jos, cum se poate obtine in p adresa urmatorului element al

    tabloului:

    int t[N];

    char *p=t;

    a) p++

    b) un char * nu poate fi initializat cu adresa unui int !

    c) p+sizeof(int)

  • 8/3/2019 47970918 c Test Grila Solved

    37/43

    d) p=p+sizeof(int)

    149. Care este valoarea lui n dupa executia secventei:

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

    p=&t[1]; q=&t[3];

    n=*q-*p;

    a) 2

    b) secventa este gresita sintactic

    c) 0

    d) ?0?

    150. Care este valoarea lui n dupa executia secventei:

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

    p=&t[1]; q=&t[3];

    n=*q-*p;

    a) 2

    b) secventa e gresita sintactic

    d) ?0?

    d) '\0'

    156. Cat spatiu de memorie ocupa o variabila structura

  • 8/3/2019 47970918 c Test Grila Solved

    38/43

    a) cat spatiul ocupat de cel mai ?voluminos? dintre membrii

    b) egal cu suma spatiilor necesare membrilor

    c) cel putin cat suma spatiilor necesare membrilor

    157. Care din afirmatiile urmatoare, referitoare la structuri, sunt adevarate:

    a) sunt tipuri de date agregate

    b) sunt tipuri de date definite de programator

    c) sunt tipuri de date predefinite

    d) sunt tipuri de date scalare

    158 Ce operator se utilizeaza pentru accesul la un membru al unei structuri?

    a) ^

    b) *

    c) &

    d) .

    159 Poate o structura sa contina ca membru o structura de acelasi tip?

    a) da

    b) nu

    c) depinde de context

    160. Care din urmatoarele operatii sunt legale:

    a) compararea a doua structuri

  • 8/3/2019 47970918 c Test Grila Solved

    39/43

    b) returnarea unei structuri ca valoare a unei functii

    c) adunarea a doua structuri

    d) copierea unei structuri

    161. Data o variabila structura si o variabila uniune, ambele avand aceiasi membri, caredintre ele ocupa mai mult spatiu in memorie?

    a) variabila uniune

    b)variabila structura

    c) ambele ocupa acelasi spatiu

    162. Declaratia int a:3; poate fi o declaratie de membru:

    a) al unei structuri

    b) al unei uniuni

    c) al unui bit-field

    d) al oricaruia din cele trei tipuri amintite

    163. Expresia p->m este de acelasi tip cu:

    a) tipul lui p

    b) tipul lui m

    c) tipul void *

    164. Poate o structura sa contina ca membru un pointer spre o structura de acelasi tip?

    a) da

    b) nu

  • 8/3/2019 47970918 c Test Grila Solved

    40/43

    c) numai daca este primul membru

    d) numai daca este ultimul membru

    165. Care din urmatoarele operatii sunt ilegale:

    a) compararea a doua structuri

    b) returnarea unei structuri ca valoare a unei functii

    c) adunarea a doua structuri

    d) copierea unei structuri

    166. Date declaratiile de mai jos, precizati care din expresiile care urmeaza sunt corecte

    struct point{ float x,y;};

    struct circle { struct point center;

    int radius;

    } v, *p=&v;

    a) p->center.x

    b) p.center.x

    c) *p->center.x

    d) (*p).center.x

    e) v->center.x

    f) v.center.x

    167. Date declaratiile de mai jos si stiind ca i este o variabila intreaga, precizati care din

    expresiile care urmeaza sunt corecte

  • 8/3/2019 47970918 c Test Grila Solved

    41/43

    struct point {int x,y;};

    struct rectangle {struct point p1.p2;} *r[N];

    a) r[i].p1.x

    b) r[i]->p1.x

    c) *(r[i]).p1.x (desi nu sunt sigur pt asta, mai verificati)

    d) *r[i].p1.x

    168. Date declaratiile de mai jos, precizati tipul expresiei *(r[i]).p1.x, i fiind o variabila

    intreaga.

    struct point {int x,y;};

    struct rectangle {struct point p1.p2;} *r[N];

    a) struct rectangle

    b) struct rectangle *

    c) struct point

    d) int

    169. Care din urmatoarele valori ale argumentului mode, pasat functiei fopen, permitedeschiderea unui fisier text pt actualizare:

    a) "at"

    b) "rwt"

    c) "r+"

    d) "wt+"

    e) "a+"

    f) "rwt+" (mai verificati pt asta)

  • 8/3/2019 47970918 c Test Grila Solved

    42/43

    170. Functia de pozitionare fseek poate fi folosita in cazul stream-urilor deschise

    a) pentru citire

    b) pentru scriere

    c) numai daca stream-ul e deschis pentru actualizare

    171. Un stream binar deschis pentru citire (modul "rb") poate fi citit corect cu:

    a) fscanf

    b) gets

    c) getchar

    d) fread

    172. Functia fscanf poate fi folosita pentru citirea

    a) numai a fisierelor text

    b) numai a fisierelor binare

    d) oricarui tip de fisier ?

    173. Functia fputs poate fi folosita pentru scriere

    a) numai in fisiere binare

    b) numai in fisiere text

    d) in orice tip de fisiere

    174. Functia printf este:

  • 8/3/2019 47970918 c Test Grila Solved

    43/43

    a) o functie standard de iesire

    b) o functie de tiparire la imprimanta

    c) o functie de afisare formatata

    d) o functie cu lista variabila de argumente

    175. Functia fputc returneaza valoarea EOF:

    a) numai la sfarsit de fisier

    b) numai in caz de eroare

    c) in ambele situatii