Documente Academic
Documente Profesional
Documente Cultură
Funcii
I.
II.
Instruciuni decizionale
2. Sunt corecte urmtoarele secvene de instruciuni? Dac da, care este efectul
acestora?
int a=1,b=5;
int max = b;
if (a > b) max = a;
int a = 1,b = 5,max;
if (a > b) max = a;
else max = b;
int a = 1, b = 5, max;
(a > b) ? max = a : max = b;
3. Ce se va afia n urma execuiei secvenei urmtoare pentru c=1? Dar pentru
c=d?
if (('a'<=c) && ('z'>=c ))
printf("%c",c-'a'+'A');
4. Care sunt valorile lui a i b n urma execuiei secvenei urmtoare pentru i = 12?
int i = 12, a,b;
if (1 < i < 10)
{
a = !i & 0xA + 'x';
b = i >> 3 * 4 || a;
}
else
{
a = i++;
b = ~ a & 0x20;
}
5. Este corect urmtoarea secven de instruciuni? Dac da, care este efectul
acesteia? Ce se afieaz pentru b = 10, a = 17? Dar pentru b = 7, a = 3?
int a,b;
printf("b = ");
scanf("%d",&b);
printf("a = ");
fflush(stdout);
switch(b)
{
case 16: {scanf("%x",&a); printf("a = %o \t %d", a, a); break;}
case 10: {scanf("%d",&a); printf("a = %o \t %x", a, a); break;}
case 8: {scanf("%o",&a); printf("a = %d \t %x", a, a); break;}}
III.
Instruciuni repetitive
6. Care este semnificaia variabilei nr_biti din secvena urmtoare? Care este
valoarea sa dup execuie dac x = 11?
int nr_biti,x;
for (nr_biti=0;x;x&=(x-1))
nr_biti++;
7. Se dau urmtoarele secvene pentru calculul factorialului unui numr n. Care
sunt corecte?
for (f=i=1; i<=n; i++) f*=i;
for (f=1, i=2; i<=n; f*=i++);
for (f=1, i=n; i; i--) f*=i;
for (f=1, i=n; i; ){f*=i; i--;}
f=i=1; for (;i<=n;)f*=i++;
f=i=1;
do
f*=i++;
while (i<n);
f=i=1;
while(i<=n)
f*=i++;
IV.
Instructiuni de salt
8. Se d urmtoarea secven. Este corect? Dac da, ce valoare va conine
variabila f la finalul execuiei?
int i=1,f=1,n=10;
for(;;)
{
f*=i++;
if (i>n) break;
}
9. Care este valoarea lui p4 dup execuia secvenei urmtoare?
int n = 20, p4 = 1,i;
for (i=1; i<=n; i+=1)
{
if ((i%5) != 0) continue;
p4*=i;
}
10. Ce se afieaz n urma execuiei secvenei urmtoare pentru val = 10? Dar
pentru val = 11? Corectai secvena folosind o instruciune goto.
switch(val%4)
{
case 0: goto nr_par;
case 1: goto nr_impar;
case 2: goto nr_par;
V.
Funcii
11. Ce reprezint funcia main? Pot exista mai multe funcii main n cadrul aceluiai
program? Dar dac programul este organizat n mai multe fiiere surs?
12. Ce reprezint parametrii formali? Ce reprezint parametrii actuali (efectivi)?
13. Care dintre urmtoarele definiii de funcii sunt corecte?
void func1(void){}
double func2(int i, double x){}
double func3(int i, double x)
{double s=1;
return s;}
double func4(i,x)
int i; double x;
{double s=1;
return s;}
14. Ce reprezint prototipul unei funcii? Care dintre urmtoarele prototipuri sunt
corecte pentru funcia dat?
double suma(int n,double x[100]);
double suma(int n);
double suma(int,double[100]);
double suma(int nr, double);
double suma(int nr, double[100]);
double suma(int nr, double[70]);
suma(int n,double x[100]);
double suma(n,x);
double suma(int n, double x[100])
{
double s=0;
int i;
for(i=1;i<=n;i++)
s+=x[i];
return s;
}
15. Care dintre urmtoarele apeluri ale funciei v este corect?
v(int i){printf("%d\n",i);};
int n=5; float b=10.2; char c='A';
v(n);
v(b);
v(c);