Cap2 Flashcards
(31 cards)
1) Care va fi valoarea lui x după execuţia secvenţei:
int x=5,y=2;
char op=’+’;
switch(op) {
case ‘+’:x+=y;
case ‘-‘:x-=y;
default : x+=1;
}
a)eroare
b)x=5
c)x=6
d)x=7
e)x=10
x=6
2) int x,z=10;
for( x=0; x < 5; x++ ) { z–;
if( x < 3 ) continue;
if( x > 3 ) break;
z– }
printf(“z=%d\n”, z);
Ce valoare va fi afisata:
a z=4 b z=5 c z= 6
d z=7 e z=10
z = 4
3) Care din urmatorii identificatori C nu este valid?
a. ___ b. S___ c __ident d. 1___
e. ___1
d
4) int x = 6,a=2,b=6,c=10;
if (x == b) x = a;
else x = b;
if (x != b) c+= b;
else c+=a;
printf (“c = %d\n”, c);
Ce se va afisa la tiparire:
a c = 10 b c = 12
c c = 14 d c = 16 e c = 18
c = 16
5) int x = 10;
do { ++x; } while (x > 50);
printf(“x=%d\n”, x);
Ce se va afisa dupa executie:
a. x=10 b. x=11 c. x=50 d. x=51
e Ciclu infinit,nu va ajunge niciodata la printf
x = 11
6) int i,j;
int ctr = 10;
int myArray[2][3];
for (i=0; i<3; i++)
for (j=0; j<2; j++)
{ myArray[j][i] = ctr;
–ctr;
}
Care este valoarea elementului myArray[1][2]:
a. 7 b. 6 c. 5 d. 4 e. 2
5
int z = 0,y;
for( y=1; ++y < 8; )
z += y;
printf(“z=%d\n”, z);
Ce se va afisa la executia codului de mai sus?
a. z=8 b. z=9 c. z=28 d. z=27 e. z=35
z= 27
8) Pe ce lungime se reprezinta in memorie şirul “ABCDE”?
a. 5 b. 6 c. 10 d. 11 e. 12
6
9) Cand e necesara declararea unui sir?
a Cand e necesar sa se pastreze constante
b. Cand e necesar sa se pastreze date de acelasi tip
c. Cand e necesar sa se obtina o eliberare automata a memoriei
d. Cand e necesar sa se pastreze date de tipuri diferite
e. Cand e necesara alocarea dinamica a memoriei
„să se păstreze date de același tip” – corect, un șir = date de același tip (char, în cazul stringurilor)
10) #include <stdio.h>
void func()
{ int x = 10;
int y = 10;
x++; y++;
printf( "%d -- %d ", x, y );
}
void main()
{ func();
func(); }
Care va fi rezultatul executiei:
a. 10 -- 10 10 -- 10
b. 11 -- 11 11 -- 11
c. 11 -- 11 12 -- 12
d. 10 -- 10 11 -- 11
e. 12 -- 12 12 -- 12</stdio.h>
a. 10 – 10 10 – 10
11) int x = 3;
if( x = 2 ); x = 0;
if( x = 3 ) x++; else x += 2;
Ce valoare va contine x dupa executie:
a Eroare la compilare
b 1 c 2 d 3 e 4
x =3
12) int m = 14; int n = 6; int o;
o = m % ++n;
n += m++ - o;
Care vor fi valorile lui m,n,o:
a m=15 n=21 o=0
b m=15 n=20 o=0
c m=15 n=20 o=2
d m=15 n=19 o=2
e m=15 n=7 o=2
a m=15 n=21 o=0
1)double x = 4.5e-2;
Ce valoare va contine x dupa executia codului de mai sus?
a. 4500 b. 450 c. 4.5 d. 0.045 e. 0.0045
d. 0.045
2) Daca avem date 6 variabile intregi a=1; b=2; c=3; d=4; e=5; f=6; ce se va tipari
dupa executia codului de mai jos?
a= a > b ? a : c > d ? e : f;
printf(“%d”,a);
a. 3 b. 4 c. 5 d. 6 e. niciuna de mai inainte
a = 6
3) int z; int x = 5; int y=-10; int a=4; int b=2;
z = x++ + ++y * b / a;
Ce numar va contine z dupa executia exemplului de mai sus?
a. 2 b. 1 c. 0 d. -2 e. -3
z= 1
4) Care din urmatoarele enunturi nu este adevarat:
a O functie poate fi utilizata chiar daca ea nu primeste si nu returneaza nici o valoare
b Revenirea in programul principal dintr-o functie apelata se poate realiza utilizand o
instructiune return
c Utilizand o instructiune return functia apelata poate returna programului apelant
doua sau mai multe valori
d O functie poate sa nu primeasca nici un parametru de apel
e O functie apelata poate apela la randul ei o alta functie
c) Utilizând o instrucțiune return, funcția apelată poate returna programului apelant două sau mai multe valori.
5) Daca dorim ca intr-o instructiune for in prima expresie ce se executa la inceputul
instructiunii for o singura data sa introducem mai multe expresii de initializare, le
vom desparti prin:
a Caracterul :
b Caracterul , c Caracterul ;
d Caracterul spatiu
e Oricare din caracterele de mai sus
b Caracterul ,
6) Daca un vector a fost declarat prin
float num[MAX]
care din urmatoarele exemple permite citirea de la tastatura a elementelor vectorului:
a for(j=1;j<=MAX;j++) scanf(“%f”,num[j]);
b for(j=0;j<=MAX;j++) scanf(“%f”,num[j]);
c for(j=0;j<MAX;j++) printf(“%f”,num[j]);
d for(j=0;j<MAX;j++) scanf(“%f”,&num[j]);
e for(j=1;j<=MAX;j++) scanf(“%d”,&num[j]);
d for(j=0;j<MAX;j++) scanf(“%f”,&num[j]);
7) Una din următoarele propoziţii este adevărată: Daca o functie este apelata prin
instructiunea gama(&alfa, &beta)
a Functia apelata primeste ca parametri 2 adrese iar valorile acestor variabile pot fi
modificate in cadrul functiei
b Functia apelata primeste ca parametri 2 adrese dar variabilele respective nu pot fi
modificate
c Functia apelata primeste ca parametri 2 adrese iar la revenire valorile variabilelor
raman nemodificate
d Apelul este identic cu unul de forma gama(alfa,beta)
e Eroare la compilare
a) Funcția apelată primește ca parametri 2 adrese iar valorile acestor variabile pot fi modificate în cadrul funcției
8) double z;
z = (double) (5 / 10); printf(“z = %.2f\n”, z);
Care va fi rezultatul executiei:
a z = -0.50
b z = -1.0
c z = 0.00
d z = 0.50
e z = 1.00
z = 0.00
9) Care din urmatoarele citeste un caracter si il retine in variabila c:
a c = gets();
b getchar( &c );
c c = getchar();
d getc( &c );
e c = getc();
c c = getchar();
10) char c1;
c1 = ‘A’ + 4;
printf(“c1 = %c\n”, c1);
Care din urmatoarele descriu acest cod:
a Programul va da eroare la compilare
b Va afisa un singur caracter valid
c Programul se va compila dar se va bloca la rulare
d Va afisa un caracter invalid la iesire
e Programul va afisa c1=A4.
b Va afisa un singur caracter valid
11) int i,j;
int ctr = 0;
int myArray[2][3];
for (i=0; i<3; i++)
for (j=0; j<2; j++)
{ myArray[j][i] = ctr;
++ctr; }
Care este valoarea elementului myArray[1][2]:
a 1
b 2
c 3
d 4
e 5
5
12) #include <stdio.h>
void func()
{ int x = 0;
int y = 0;
x++; y++;
printf( "%d -- %d ", x, y );
}
int main()
{ func();
func();
return 0; }
Care va fi rezultatul executiei:
a 0 -- 0 1 -- 1
b 0 -- 0 0 -- 0
c 1 -- 1 2 -- 2
d 2 -- 2 2 -- 2
e 1 -- 1 1 -- 1</stdio.h>
e) ) 1 – 1 1 – 1