Вы находитесь на странице: 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

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