Вы находитесь на странице: 1из 6

1.

Se considera programul C (versiune MinGW):


#include <stdio.h>
int main(void){
    int a[4][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 1, 2, 3}, {4, 5, 6, 7}};
    int n = 4, p=0, u=n-1, s=0;
    while(p<=u) s+=a[p][p++]+a[u][u--];
    printf("%d", s);
    return 0;
}
Ce se afiseaza in urma executarii acestui program?
R: 16

2. In secventa urmatoare, variabilele n, x si y sunt de tip intreg.


{x = 1; y = --x;
do{ y += ++x * --x; } while(x++ <= n);
}
Daca valoarea variabilei n este un numar natural nenul, de cate ori este utilizat operatorul <= in timpul executarii
secventei?
R: n+1

3. Variabila s este de tip sir de caractere, iar variabilele c1 si c2 sunt de tip char. Care expresie are valoarea 1
daca si numai daca sirul de caractere s contine caracterele memorate de variabilele c1 si c2 (in aceasta ordine)?
R: strchr(s,c1)&&strchr(s,c1)[1]==c2

4. Se considera programul C (in versiune MinGW):


#include <stdio.h>
int main(void){ int x, y=10;
   x = 7;
   y = (x = 1)? (-5) : 7;
   printf("%d\n", y), y = 8;
   return 0;
}
Care este valoarea variabilei y care este afiseaza la executarea programului:
R: -5

5. Se considera programul C (in versiune MinGW). Analizati textul si identificati rezultatele afisate in urma
executarii acestuia.
#include <stdio.h>
void mp(
int c[3][3],  int a[3][3], int b[3][3]){
int i, j, k;
for(i = 0; i < 3; ++i){
  for(j = 0; j < 3; ++j){
              c[i][j] = 0;
              for(k = 0; k < 3; ++k){
                c[i][j] += a[i][k]  * b[k][j];
               }
          }
 }
}
void pm( int m[][3]){
int i, j;
for (i = 0; i < 3; ++i){
     for (j = 0; j < 3; ++j) printf("%o \t", m[i][j]); printf("\n");
     }
}
int main(void){
  int x[3][3] = {{1, 2, 3}, {1, 4, 9}, {1, 8, 27} };
  int y[3][3] = {{1, 1, 1}, {2, 4, 8}, {3, 9, 27} };
  int z[3][3];
  mp(z, x, y);
  pm(z);
  return 0;
}
R: 16 14 142
44 142 424
142 424 1432

6. Fie expresiile
A = 18 - 3 +2;
B = 18 + 7 / 3 +2;
C = 2.3 + 3%;
D = 3 + 7.0/3;
E = 3 + 4 % 2.3;
F = 24 % (7 + 1);
Care din aceste expresii sunt corecte?
R: Nu e A,B,C,D,F

7. Se considera declararea
struct fractie {unsigned int x, y;} s, f1, f2;
in care campurile x si y reprezinta numaratorul, respectiv numitorul unei fractii. Care dintre urmatoarele variante
construieste in variabila s o fractie echivalenta cu suma fractiilor f1 si f2?
R: {s.x = f1.x * f2.y + f1.y * f2.x; s.y = f1.y * f2.y;}

8. Determinati valoarea expresiei


((int)fabs(-14.2)) % 7
R: 0

9. Determinati valoarea expresiei fabs(-11.2) + sqrt(floor(16.23)).


R: 15.2

10. Care dintre expresiile de mai jos va avea valoarea 1?


R: ‘a’ < ‘b’

11. Care va fi continutul fisierului “H.TXT” in urma executarii programului urmator?


#include <stdio.h>
FILE *f; char x, y, z;
void main(){
   f = fopen(“H.TXT”,”w”);
   fprintf(f,”Ieri  %d\n”,13);
   fprintf(f,”Azi  %d”,14);
   fprintf(f,”Maine  %d\n”,15);
   fclose(f);
}
R: Ieri 13
Azi 14 Maine 15
12. Se considera un tablou unidimensional in care elementele sunt in ordinea:
1, 3, 5, 7, 10, 16, 21.
Pentru a afla pozitia pe care se afla valoarea x = 10  se aplica metoda cautarii binare.
Care este succesiunea de elemente care asteapta sa fie comparate cu x?
R:7,16,10

13. Consideram urmatoarea declaratie:


struct produs {char denumire[10]; int pret;} p;
Cum se poate accesa prima litera a denumirii unui produs ale carui caracteristici sunt memorate in variabila p?
R: p.denumire[0]

14. Se considera secventa de instructiuni:

{
char a[]=”aabbddeff”;
char b[]=”aabbdeeff”;
if (strcmp(a, b) == 0) printf (“egalitate”); else printf(“%s “,b);
}
Care este rezultatul obtinut in urma executarii?
R: aabbdeeff

15. Considerand ca variabila f este de tip fisier (FILE *), care dintre urmatoarele instructiuni verifica daca s-a
ajuns la sfarsitul fisierului indicat de f si afiseaza mesajul “final”?
R: if(feof(f)) printf(“final”); else printf(“mai este”);

16. Stiind ca p este un vector (tablou unidimensional) cu 3 componente intregi (tabloul este declarat global), M
este multimea tuturor cifrelor nenule, iar functia tipar afiseaza valorile elementelot p[0], p[1] si p[2], se cere sa
se afle cu ce trebuie inlocuite simbolurile a, b si c in definitia functiei G astfel incat in urma apelului G(0) sa se
afiseze toate elementele produsului cartezian MxMxM?
void G(int k){
   int i;
   for (i = a; i<=b; i++) { p[k] = i; if (k == c) tipar(); else G(k+1);}
}
R:Nu este a = 0, b = 10, c = 3

17. Se considera programul C (versiune MinGW):


#include <assert.h>
#include <stdio.h>
int main(void){
  int x[100], n, i, j, t, ordo;
  printf(“n=”); scanf(“%d”, &n);
  assert(n>0 && n<=100);
  printf(“elementele sirului:”);
  for(i=0; i<n; i++) scanf(“%d”, x+i);
  do{
  ordo=1; j=1;
  for (i=0; i<n-j; i++) if (*(x+i) > *(x+i+1)) {t=x[i]; x[i]=x[i+1]; x[i+1]=t; ordo=0;}
  j++;
  }while (!ordo);
  printf(“Rezultatul:”); for(i=0; i<n; i++) printf(“%d”, x[i]);
  return 0;
}
Care este functia de terminare care se utilizeaza in demonstrarea corectitudinii secventei evidentiate prin
ingrosare:
R:Nu este t(n) = i

18. Numarul de comparatii necesar determinarii elementului maxim dintr-un sir cu n numere intregi este:
R:n-1

19. Un fisier care contine cod (definitii) C predefinit se poate utiliza in cadrul unui proiect C folosind:
R: #include <file>

20. Un bloc C (date si cod) este delimitat astfel:


R: { bloc }

21. Sortarea prin insertie directa (metoda “jucatorului de carti”) necesita, in cazul cel mai defavorabil, un numar
de operatii de comparare exprimabil prin formula:
R: n(n-1)/2

22. Se considera programul C (versiune MinGW):


/*                                               */
#include <stdio.h>
#define DEC  ;--k;
#define PT   ;
#define MAX  10;
int main(void){
    int k;
    for (k = MAX k>0  PT) {printf("Succes!\\n") DEC}
    return 0;
}
/*                                              */
R: la executare se afiseaza pe acelasi rand de 10 ori secventa Succes!\n

23. In declararea
struct punct
{
float x,y;
}P;
campurile x si y ale inregistrarii pot memora coordonatele carteziene ale unui punct din planul xOy. Care dintre
urmatoarele expresii are valoarea 1 daca si numai daca punctul P este situat pe axa Oy ?

R: P.x == 0

24. Se considera programul C (versiunea MinGW):


#include <stdio.h>
void aplic(int x, int *y){
   x+=3; (*y)-=2; printf("%d, %d", x, *y);
   }
int main(void){
  int x=12, y=20;
  aplic(x, &x); printf(",%d,",x); printf("%d,",y); aplic(y,&y);
  return 0;
}
Ce se va afisa in urma executarii acestuia:
R: 15, 10,10,20,23, 18
25. Se considera programul C (versiune MinGW):
#include <stdio.h>
#include <string.h>
int main(void){
char s[]="1223446";
int i;
i=0;
while (i<strlen(s)-1)
if (s[i]==s[i+1]) {strcpy(s+i,s+i+2); if (i>0) i--;}
                  else i++;
puts(s);
return 0;
}
Ce se afiseaza in urma executarii?
R: 136

26. Care sunt valorile finale ale variabilelor intregi x, y si z dupa executarea operatiei de decizie,
if (x>1 && y-z>0) x = y-z;
     else {y = x-1; z = y+x;}
daca initial
x = 23, y = 14 si z = 25?
R: x = 23, y = 22, z = 45

26. Stabiliti care dintre urmatoarele declaratii de variabile sunt corecte:


1) float 1t, 2t;
2) int a[1..10];
3) int x, y;
4) string s;
5) double e; v;
R: 3

27. Variabile a si b sunt declarate astfel:


char a[20], b[20];
Ce se afiseaza in urma executarii secventei urmatoare:
{
strcpy(a, “examen20”); strcpy(b, “09”);
printf(“%s%s”, strcat(a, “*”), b);
}
R: examen20*09

28. Care din operatiile urmatoare atribuie variabilei float x media aritmetica corecta a valorilor intregi a, b si c?
R: Nu e x = (a + b + c) /3;

29. Care dintre urmatoarele variante realizeaza deschiderea la citire a fisierului text “A.TXT”
R: f = fopen(“A.TXT”, “r”);

30. Stiind ca fisierul “D.TXT” are urmatorul continut:


13   45    23
32   42   234
56   78
32   23    43
32   32    32    32
ce se va afisa in urma executarii programului urmator?
#include <stdio.h>
FILE *f; int x, y, z;
void main(){
   f = fopen(“D.TXT”,”r”);
   fscanf(f, “%d %d %d\n”, &x, &y, &z);
   fscanf(f, “%d”, &z);
   printf(“%d %d %d \n”, x, y, z);
}
R: 13 45 32

31. Care dintre urmatoarele caracteristici nu reprezinta o metrica a complexitatii programelor?


R: lungimea textului sursa elaborat de catre programator

32. Valoarea zecimala a constantei numerice 040 este:


R: 32 ?

33. Care este secventa de simboluri utilizata pentru a initia introducerea de comentarii bloc in programele C
(standard ANSI)?
R: /*

34. Functia printf() are prototipul in fisierul


R: stdio.h

Вам также может понравиться