Prog Proced
Prog Proced
Care din urmatoarele secvente de instructiuni va afisa (cu un c. for (i = a; i >= 1; i--) if
spatiu intre ele) in ordine descrescatoare toate numerele naturale (i % 2 != 0) printf(“%d ”,
impare mai mici sau egale cu o valoare naturala data a? i);
Care dintre expresiile C de mai jos este echivalenta cu
c. !(a<5) && !(b>7)
expresia !((a<5)&&(b>7)) ?
Care dintre expresiile C de mai jos, are valoarea 1 daca valoarea
a. !((x%2!=0)||(x<=0))
variabilei intregi x este un numar intreg par si strict pozitiv?
Care dintre expresiile C/C++ de mai jos are valoarea 1 dupa
executarea secventei de instrucţiuni C:
v1=0; v2=0;
for(i=1;i<=3;i++)
{ for (j=1;j<=i;j++) c. v1==v2
v1=v1+1;
for (k=i;k<=3;k++)
v2=v2+1;
}
in care toate variabilele sunt intregi?
Care dintre expresiile de mai jos are valoarea 1 dupa
executarea secventei de instructiuni C, a=11;b=1;
for(i=1;i<=5;i++)
b. a==b
{ b=b+1;
a=a-1;
}
in care toate variabilele sunt intregi?
Care dintre expresiile de mai jos va avea valoarea 1? c. ‘a’ < ‘b’
Care dintre expresiile urmatoare, scrise in limbajul C, are
valoarea 1 daca si numai daca valorile variabilelor intregi x si y c. (x%2==0) || (y%2==0)
sunt numere pare?
Care dintre instructiunile C de mai jos determina inlocuirea cu
0 a ultimei cifre a numarului natural, cu cel putin doua cifre, memorat c. n=n-n%10;
in variabila intreaga n?
Care dintre secventele de mai jos conduce la memorarea in b. for(i=0; i<n-1; i++) if
variabila max a celei mai mari dintre cele n valori intregi retinute (a[i] > a[i+1]) {max =
in tabloul unidimensional a (in care a[0] este primul element)? a[i]; a[i] =
a[i+1]; a[i+1] = max;}
max = a[n-1];
Care dintre urmatoarele declaratii sunt corecte sintactic:
1) int ab=30;
2) int a+b;
c. 1, 3
3) float a1;
4) char 2ab;
5) int m.n;
Care dintre urmatoarele expresii are valoarea 1 daca si numai c. (c%a == 0) && (c%b
1
daca numarul natural c este un multiplu comun al numerelor naturale
==0)
nenule (unsigned int) a si b?
Care dintre urmatoarele expresii C are valoarea 1 daca si
numai
daca numarul natural nenul memorat in variabila x, de tip int, d. x%10+x%10/10==0
este
divizibil cu 100?
Care dintre urmatoarele expresii C are valoarea 1 daca si
numai d. x/100==0 && x/10!=0
daca numarul natural memorat de variabila x de tip int are exact
doua cifre?
Care dintre urmatoarele expresii C are valoarea 1 daca si numai
d. ((x-y==2) || (y-x==2))
daca variabilele x si y memoreaza doua numere naturale pare
&& (x%2==0)
consecutive?
Care dintre urmatoarele expresii C are valoarea 1 daca si numai
daca valoarea reala memorata de variabila y nu apartine intervalului
b. (z>x) && (z<y)
deschis determinat de valorile reale distincte memorate de variabilele
x si z (x<z)?
Care dintre urmatoarele expresii C are valoarea 1 daca si numai daca b. a*a-x*x>0
numarul real memorat in variabila x se afla in intervalul (-a, a)?
Care dintre urmatoarele expresii C are valoarea 1 daca variabila x
a. sqrt(x) == floor(sqrt(x))
memoreaza un numar natural patrat perfect?
Care dintre urmatoarele expresii C are valoarea 1 dacanumarul
d. (n%100%4 == 0) &&
natural memorat de variabila n este strict mai mare decat 100 si
(n%3 == 0)
divizibil cu 12?
Care dintre urmatoarele expresii C este echivalenta
c. (!(x>=5)) && (!(x>10))
cu !((x>=5)&&(x<10)) ?
Care dintre urmatoarele expresii C, are ca valoare cel mai mare a. (a+b+abs(a-b))/2
dintre numerele naturale nenule memorate in variabilele intregia si b?
Care dintre urmatoarele expresii C, are ca valoare cel mai mic
a. (x+y-abs(x-y))/2
dintre numerele naturale nenule, cu cel mult 4 cifre fiecare,
memorate in variabilele intregi x si y?
Care dintre urmatoarele instructiuni C atribuie variabilei intregi t
valoarea -1 daca si numai daca variabilele intregi a si b sunt nenule si c. if (a*b<0) t=-1;
au semne diferite?
Care dintre urmatoarele instructiuni C determina eliminarea
cifrei din mijloc a unui numar natural, cu exact 5 cifre, a. x=x/1000*100+x%100;
memorat in
variabila x?
Care dintre următoarele instrucţiuni C determina inserarea a.
cifrei 7 în fata ultimei cifre a unui numar natural, cu mai mult de x=(x/10*10+7)*10+x%10;
2 cifre, memorat in variabila x?
Care dintre urmatoarele instructiuni C este echivalenta cu
b. x = x/2 + y/2 + z/2;
x
=(x+y+z)/2; stiind ca variabilele x, y si z sunt reale?
Care dintre urmatoarele instructiuni C sunt corecte sintactic a.
daca x si y sunt doua variabile de tip intreg? if (x < 2) && (x > - 5)
{x=x+1; y=y-1;}
Care dintre urmatoarele programe afiseaza diferenta a) #include <stdio.h>
perechilor static int tab[12]={1, 2,
de elemente din orice tablou initializabil tab cu maximum 12 4, 3, 5, 6, 9, 7, 10, 8, 0,
componente? 0};
static int dif[6];
void main(void){
int i=0, id=0;
while (tab[i] != 0)
dif[id++] = tab[i++]-
tab[i++];
for(id = 0; id<6; id++)
2
printf("dif[ %d ] =
%d\n", id, dif[id]);
}
4
x = x - 3;
}
Care va fi continutul fisierului “[Link]” in urma executarii programului
urmator?
#include <stdio.h>
FILE *f; char x, y, z;
void main(){ b. Ieri 13
f = fopen(“[Link]”,”w”); Azi 14 Maine 15
fprintf(f,”Ieri %d\n”,13);
fprintf(f,”Azi %d”,14);
fprintf(f,”Maine %d\n”,15);
fclose(f);
}
Care vor fi valorile afisate dupa executarea secventei
char s1[20]=”variabila”, s2[20]=”varianta”;
if(strcmp(s1,s2)<0 && strlen(s1)<strlen(s2))
c. varianta variabila
printf(”%s %s”,s1,s2);
else
printf(”%s %s”,s2,s1);
daca variabilele s1 si s2 sunt de tip sir de caractere?
Care vor fi valorile variabilelor intregi a si b dupa executarea
urmatoarelor instructiuni: b. a = 120, b = 12
{if (a = 10, b = a+1, a != b) b++; else a++; a*=b;}
Cate valori distincte, numere naturale, poate primi
variabila x
b. 4
pentru ca valoarea expresiei x/2/2 scrisa in C sa fie egala cu
1?
Ce se va afisa in urma executarii secventei de instructiuni
char a[10]="Examen";
n=strlen(a);
a. En
strcpy(a+1,a+n-1);
printf("%s",a);
considerand ca s este o variabila sir de caractere, iar n o
variabila de tip intreg?
Ce se va afisa în urma executarii secventei de program
if(strcmp(x, y) > 0) printf(“%s”,x);
else
if(strcmp(x,y) < 0) printf(“%s”,y); b. examen
else
printf(“imposibil”);
daca variabila x memoreaza cuvantul examen, iar variabila y
memoreaza cuvantul banal?
Ce se va afisa in urma executarii secventei de program:
for(i = 0; i < strlen(x); i++)
if(x[i] >= ‘A’ && x[i] <=’N’)
d. examene
x[i] = x[i] + ‘a’-‘A’;
printf("%s", x);
stiind ca i este o variabila de tip intreg, iar variabila x
memoreaza initial sirul de caractere ExAMeNe?
Ce va fi afisat pe ecran in urma instructiunii
printf(“%6.3f\n”, b. 45.230
45.23); ?
Ce valoare are variabila s de tip sir de caractere dupa executarea
a. amen
instructiunilor de mai jos?
strncpy(s,strstr(″examen″,″am″),4); s[4]='\0'; (4p.)
Ce valoare are variabila s de tip sir de caractere dupa executarea
b. forma
instructiunilor de mai jos?
strncpy(s,strstr("Informatica","form"),strlen("EXA09")); s[5]='\ 0';
Ce valoare are variabila s de tip sir de caractere dupa executarea b. ada
instructiunii de mai jos?
5
s=strstr(strnset("Olimpiada",'#',strlen("2009")),"ad");
Ce valoare are variabila s de tip sir de caractere dupa executarea
instructiunilor de mai jos? a. format
s=strncpy(s,strstr("informatica","form"),strlen("LIC009"));
s[6]='\0';
Ce valoare are variabila s de tip sir de caractere dupa executarea
b. infoLIC
instructiunii de mai jos?
s=strcat(strncpy(s,"informatica",strlen("2008")),"LIC");
Consideram ca variabila s memoreaza sirul de caractere examen.
Care va fi valoarea lui s dupa executarea instrus[0]= ‘E’;s[strlen(s)-1]=
c. ExAMeN
‘N’;s[strlen(s)/2-1]= ‘A’;s[strlen(s)/
2]=
‘M’.
Consideram ca variabila s memoreaza sirul de caractere mama.
a. MAma
Care va fi valoarea lui s dupa executarea instructiunilor de mai jos?
s[0]=′M′; s[strlen(s)-3]= ′A′;
Consideram declararea
struct student{
char nume[10], prenume[20];
float nota1,nota2;
a. m=(x.nota1+x.nota2)/2;
} x;
Folosita pentru a memora numele, prenumele si cele 2 note ale unui
student (verificare, laborator). Care dintre instructiunile de mai
jos calculeaza in variabila reala m media aritmetica a notelor
studentului ale carui informatii sunt memorate in variabila x?
Consideram declararea struct student{
char nume[10],prenume[20];
float medie;
a. [Link][0]
}p;
folosita pentru a memora numele, prenumele si media unui student.
Care dintre expresiile de mai jos are ca valoare prima litera a
numelui unui student ale carui informatii sunt memorate invariabila p?
Consideram declararea: struct punct{
int x,y;
c. p.x=7;
} p;
Care dintre urmatoarele instructiuni este corecta din punct de vedere
sintactic?
Consideram urmatoarea declaratie:
struct produs {char denumire[10]; int pret;} p;
c. [Link][0]
Cum se poate accesa prima litera a denumirii unui produs ale carui
caracteristici sunt memorate in variabila p?
Consideram variabila x care memoreaza sirul de caractere
a. printf("%c",x[strlen(x)-
ABAC.
3]);
Care dintre urmatoarele instructiuni conduc la afisarea caracterului B?
Consideram variabilele intregi i si j. Care dintre urmatoarele a.
secvente de instructiuni C determina afisarea pe ecran , in urma i=5; j=6;
executarii, a succesiunii de cifre 55? while(j>4){
printf(”%d”,i);
j--;
}
Considerand ca variabila f este de tip fisier (FILE *), care b. if (feof(f))
dintre urmatoarele instructiuni verifica daca s-a ajuns la sfarsitul printf(“final”); else
fisierului indicat de f? printf(“mai este”);
Considerand declararea
struct {
int a, b; c. scanf(”%d %d”,
} x; &x.a,&x.b)
care dintre urmatoarele secvente de instructiuni realizeaza in mod
corect citirea de la tastatura a valorilor celor doua campuri ale
variabilei x?
6
Considerand declararea
struct {
int a, b; a. printf(”%d %d”,
} x; x.a,x.b);
care dintre urmatoarele secvente de instructiuni afiseaza valorile
memorate in cele doua campuri ale variabilei x, separate printr –un
spatiu?
Considerand declararile
struct cerc
{float raza;
b. c.x
int x,y;};
cerc c;
care dintre urmatoarele referiri este corecta din punct de vedere
sintactic
Considerand declararile
struct punct{float x,y;};
struct fig
{ char tip; d. e.a.x
punct a,b,c;}
fig e;
care dintre urmatoarele referiri este corecta din punct de
vedere
sintactic ?
Considerand variabila x de tip float si variabila de tip int a,
care va fi secventa de caractere afisate in urma executarii secventei de d. 4s4.30s0
instructiuni(s inseamna un spatiu): x = -4.3;
Cum se poate accesa prima litera a denumirii unui material ale
carui caracteristici sunt memorate în variabila m, declarată prin:
struct material{ d. [Link][0]
char denumire[20];
int pret;} m;
Cum se poate accesa prima litera a denumirii unui produs ale
carui caracteristici sunt memorate in variabila p, declarata prin:
struct produs{ c. [Link][0]
char denumire[15];
int pret;}p;
Cum se poate accesa prima litera a numelui unei persoane ale
carei date de identificare sunt memorate in variabila p, declarata prin:
struct persoana{ a. [Link][0]
char nume[20],prenume[20];
int varsta;} p;
Cum se poate accesa prima literă a numelui unui student ale carui date
de identificare sunt memorate in variabila e,declarata prin:
b. [Link][0]
struct student{
char nume[20],prenume[20];
int varsta;}e;
Daca a, b sunt variabile de tip int, iar x si y sunt variabile de tip float,
stabiliti care dintre urmatoarele secvente de atribuiri sunt incorecte:
1) b = 2; a = b/2;
c. 2, 3, 4, 5
2) x = 8; y = 10; a == x+y;
3) x = 4; b = 2; y = x/b;
4) x == 20; y == 10; x =(x+y)/2;
5) a = b = 5; x = a+b;
Daca n este un numar natural (intreg pozitiv), ce realizeaza
urmatoarea secventa?
c. Calculeaza in variabila p
{p=1;
valoarea lui n!
while(n) p *= (n--);
}
Daca variabila s de tip sir de caractere memoreaza sirul
d. 11
INFORMATICA atunci strlen(s) are valoarea?
7
Determinati valoarea expresiei ((int)fabs(-14.2)) % 7 c. 0
Determinati valoarea expresiei fabs(-11.2) + sqrt(floor(16.23)). d. 15.2
Dintre tipurile simple de date face parte tipul: a. double
Elementele tabloului bidimensional
1234
12 13 14 5
11 16 15 6
10 9 8 7
d. 22
cu 4 linii si 4 coloane, sunt toate numerele naturale cuprinse
intre 1 si 16 asezate in spirala, incepand cu primul element al primei
linii si continuand in sens invers trigonometric. Care este cel mai
mare numar situat in zona triunghiulara de sub diagonala secundara
(exclusiv diagonala secundara), in cazul unui tablou bidimensional
cu 5 linii si 5 coloane generat dupa aceeasi regulă?
Fie declararile:
struct student{
char nume[30];
b. printf(“%c“,[Link][0]);
float nota;};
student x;
Dacă variabila x retine informatii despre un student, precizati care
este varianta corecta ce afisează prima litera din numele acestuia?
Fie declaratiile:
int a[5] = {1, 2,4, 3, 5};
c. 5
int b[4] = {4, 2, 1, 3};
atunci a[b[0]] este:
Fie definitia:
int a = 5, b = 3, c = 1, d = 3;
Care dintre urmatoarele expresii logice au valoarea 1
(adevarat):
1) a < b || c) d. 1, 2, 4
2) (b == d && c || a >= b)
3) (c && d > b)
4) a > b || !(d<a)
5) (a == b) && c
Fie expresia C 10*2/3*3/2. Care este rezultatul evaluarii d. 9
expresiei?
Fie expresia C: ((a>3) && (a<15)) || (a!=b) Care dintre b. !((a<=3) || (a>=15)) ||
expresiile C de mai jos ii este echivalentă? (a!=b)
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 b. A, B, D, F
expresii sunt corecte?
Fie instructiunea:
if (x>y) if (y>z) if(z>x) s = x+y+z; else p = x*y*z; d. if(x>y && y>z) p =
O secventa de instructiuni echivalenta cu aceasta, dar care x*y*z;
foloseste o singura data cavantul cheie if, este:
Fie programul C:
#include <stdio.h>
void main(void){
b) Mesajul "Nu"
int a = 7, b=5, c = 2;
if(a > b > c) printf("Da!"); else printf("Nu!");
}
Care este rezultatul acestuia (ce se afiseaza)?
Fie programul: b) 0
#include <stdio.h>
void main(void){
int a=0, b=0; /* definire cu initializare */
int s = 6;
a = 5, /* incarca a
b=2; incarca b */
s = (a*b)/2;
8
printf("s= %d\n", s);
}
Care este valoarea variabilei s la incheierea executarii
programului:
Fie programul:
#include <stdio.h>
void main(void){
int a=1, b=3;
double f = 0.6; c) 0.00000
f = a/b;
printf("f= %7.5lf\n", f);
}
Care este valoarea variabilei f afisata in urma executarii
programului:
Fie secventa C:
p=1; n=279;
while (n>=100)
{ p=p*10;
a. 4
n=n-100;
}
Cate atribuiri se executa, in total, in secventa alaturata, daca n si p
sunt variabile de tip intreg?
Fie secventa de instructiuni C:
x=4; y=6;
while (y==6) y=y+1;
c. 2
if (x==y) x=x+1;
Care este numarul total de atribuiri efectuate la executarea
secventei de instructiuni?
Fie secventa de instructiuni:
{x=x-1; y=2*x+y; x=2*x+1;}
Care au fost valorile variabilelor x si y, de tip int, la inceputul c. x = 1004 si y = 3
executarii secventei de instructiuni date, daca la finalul executarii x are
valoarea 2007 iar y are valoarea 2009.
Fie secventa: b. numerele naturale
a = 99; while (a >=1) {printf(“%d\n”, a); a=a-2;} impare mai mici ca 100
Prin executarea acesteia se afiseaza:
Fie secventa: b. numerele naturale din
{char c; for c=’A’; c <=’Z’; c++) printf(“%d”, c);} intervalul [65, 90]
Prin executarea acesteia se obtin:
Fie secventa: d. 2 3 4 5 6
for(j=1; j<=5; j++) for (i=1; i<=3; i++) a[i][j] = i+j; 32345
Prin executarea acesteia, tabloul a va avea urmatorul continut 43456
Fie tabloul unidimensional v si secventa for (j = k; j>=q; j--) v[...] =
v[j];
Cu ce expresie trebuie inlocuite punctele de suspensie astfel incat c. p-1+j
in urma executarii secventei elementele v[q], v[q+1], ..., v[k] sa
se deplaseze cu p-1 vpozitii spre dreapta?
Fie v un tablou unidimensional cu n elemente de tip intreg, iar
n un numar natural nenul (n <=100) si secventa urmatoare:
{i=0;
while (i<n) {v[i] = i*i; i++;} b. n ori
}
De cate ori se repeta instructiunea i++; in timpul executarii secventei
date
Fie v un tablou unidimensional format din n componente
intregi, numerotate de la 1 la n (pozitia 0 are alta semnificatie), iar p si c. {p = 0; for(k=1; k<=n;
k doua variabile de tip intreg. In care dintre urmatoarele secvente k++) if (v[k]>0 && !p) p =
variabilei p i se atribuie prima valoare strict pozitiva din tabloul v[k];}
v, daca exista o astfel de valoare, sau 0 in caz contrar?
Fie v un tablou unidimensional format din n numere intregi b. for(int i=2; i<=n;
9
(n
>=2). Stiind ca primul element din tablou se afla pe pozitia 1 i++)if(v[i-1]>v[i]) v[i] =
(pozitia 0 este utilizata in alte scopuri), indicati care dintre v[i-1]; max =
urmatoarele secvente atribuie variabilei intregi max cea mai mare v[n];
valoare din tabloul v:
Fie x o variabila care memoreaza un numar natural. Care dintre
c. (1-x%3)*(2-x%3)
urmatoarele expresii C are valoarea 0 daca si numai daca numarul
memorat de x nu este divizibil cu 3?
Fie x un număr natu ra l cu exact 4 cifre. Care dintre urmatoarele
instructiuni C/C++ determina, in urma executarii, eliminarea cifrei d. x=x/1000*100+x%100;
sutelor numarului memorat de variabila x?
Fiecare dintre variabilele intregi x si y memoreaz cate un numar
natural. Care dintre expresiile C de mai jos are valoarea 1 daca si c. x*(y-5)>=0
numai daca numarul memorat in x este strict mai mare decat 0 si
numarul memorat in y este strict mai mare decat 5?
Fiecare dintre variabilele intregi x, y si t memoreaza cate un
numar natural de cel mult 4 cifre. Stiind ca x<y, care dintre
b. (t>=x) && (t<=y)
urmatoarele expresii C este egala cu 1 daca si numai daca numarul
memorat de variabila t apartine intervalului inchis [x,y]?
Fiecare dintre variabilele intregi x, y si t memoreaza cate un
numar natural de cel mult 4 cifre. Stiind ca x<y, care dintre a. (t<=x) || (t>=y)
urmatoarele expresii C este egala cu 1 daca si numai daca numarul
memorat de variabila t nu apartine intervalului deschis (x,y)?
Fiind dat un tablou bidimensional cu 20 linii şi 20 coloane,
d. 210
cate elemente se gasesc strict deasupra diagonalei secundare a
tabloului?
Functia predefinita care returneaza modulul unui numar
c. mod
intreg este:
Functia revers(v, p, q) inverseaza ordinea elementelor din
tabloul unidimensional v aflate pe pozitiile p, p+1, ..., q-1, q b. revers(v, p, q);
(se presupune ca p <= q). Care dintre urmatoarele secvente de revers(v, p+1, q-1);
program inverseaza doar prdinea elementelor v[p] si v[q]:
Functia s (scrisa in limbajul C, standard) este utilizata
c. void s(unsigned int *,
pentru interschimbarea valorilor a doua numere intregi, pozitive.
unsigned int *) { ... }
Definitia corecta (in antet) a acesteia trebuie sa fie:
In declararea
struct p{
int a,b;} x,y;
int t;
a. t=x.b; x.b=y.b; y.b=t;
campul a al structurii memoreaza numaratorul, iar campul b
memoreaza
numitorul unei fractii. Care dintre urmatoarele secvente de
instructiuni determina, in urma executarii, interschimbarea
numitorului fractiei x cu numitorul fractiei y?
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 b. P.y==0
expresii are valoarea 1 daca si numai daca punctul P este situat pe axa
Ox ?
In expresia C: x%2+(x+1)%2 variabila x este de tip intreg. a. are valoarea 1 pentru
Aceasta expresie: orice numar natural x.
In functia recursiva de mai jos se considera ca tabloul a. int v[] = {1, 4, 3, 2, 1,
unidimensional v este declarat global. 6, 5, 4, 3, 10};
void star(int i){
if(i<10) {
printf(“*”);
10
if (v[i] == i+1) star(i+2); else star(i+1);
}}
Pentru care dintre declaratiile urmatoare, apelul star(0) produce 7
asteriscuri (stelute)?
In secventa
for ( i=k+1; i<=n; i++)
for (j=1; j<=n; j++)
a. eliminarea liniei k din
v[i-1][j] = v[i][j];
matrice
n=n-1;
variabila v memoreaza elementele unei matrice cu liniile si
coloanele numerotate de la 1 la n, iar toate celelalte variabile
sunt intregi. Daca 1<=k<n, atunci executarea secventei determina:
In secventa
if(!(strcmp(s1,s2) || strcmp(s1,s3)))
val=1; a. s1, s2, s3 retin siruri
else identice de caractere
val=2;
variabilele s1, s2 si s3 retin siruri de caractere. Dupa executarea
acesteia, variabila intreaga val primeste valoarea 1 daca
In secventa
for(i=0;i<=strlen(x)-1;i=i+3) printf(“%c”,x[i]);
variabila x memoreaza un sir cu cel mult 100 de caractere, iar
a. 7
variabila i este de tip intreg. Care este numarul maxim de
caractere
pe care il poate avea sirul x astfel încat secventa alaturata sa afiseze
exact 3 caractere ale acestuia?
In secventa
for(i=0; i<8; i++)
for(j=0; j<8; j++)
a[i][j] = (i+j)%8; a. 28
i, j si n sunt variabile intregi, iar a este o matrice formata din 8
linii şi 8 coloane, numerotate de la 0 la 7. Care este suma
elementelor de pe ultima linie a matricei, in urma executării acestei
secvenţe?
In secventa
for(i=0; i<n; i++)
for(j=0; j<n; j++)
a[i][j] = (i+j)%n; d. 56
i, j si n sunt variabile intregi, iar a este o matrice patratica formata din
n linii si n coloane numerotate de la 0 la n-1. Care este suma
elementelor de pe diagonala secundara din matricea a, in urma
executarii acestei secvente, daca n=8?
In secventa
for(i=0; i<n; i++)
for(j=0; j<n; j++)
a[i][j] = (i+j)%n; a. 24
i, j si n sunt variabile intregi, iar a este o matrice patratica formata din
n linii si n coloane, numerotate de la 0 la n-1. Care este suma
elementelor de pe diagonala principala din matricea a, in urma
executarii acestei secvente, daca n=8?
In secventa alaturata de program:
for (i=1;i<=3;i++)
for (j=10;j>=i+1;j--)
a. 24
printf(”%d”,j);
instructiunea de afisare se va executa de un numar de ori egal
cu:
In secventa de instructiuni C: d. 40
x=20; y=5;
x=x+y;
y=x-2*y;
x=y+x;
11
variabilele x si y sunt intregi. Ce valoare va retine variabila x dupa
executarea acesteia?
In secventa de instructiuni,
y=1;
if (k>0)
if (i!=j)
a. k=0; i=5; j=5
y=0;
else y=2;
variabilele i, j, k si y sunt de tip intreg. Pentru care dintre
urmatoarele seturi de valori ale variabilelor i,j si k variabila y
va avea valoarea 1 in urma executarii secventei?
In secventa de instructiuni,
if (k>0)
if (i!=j) x=0;
else x=1;
else x=2;
if (i!=j)
d. k=0; i=5; j=5
if (k>0) y=0;
else y=2;
else y=1;
variabilele i, j, k, x si y sunt de tip intreg. Pentru care
dintre urmatoarele seturi de valori ale variabilelor i, j si k
variabilele x si y vor primi valori diferite intre ele in urma
executarii acestei secvente?
In secventa de instructiuni,
if (k>0)
if (i!=j) y=0;
else y=1;
c. k=10; i=5; j=5
else y=2;
variabilele i, j, k si y sunt de tip intreg. Pentru care dintre
urmatoarele seturi de valori ale variabilelor i, j si k variabila y
va avea valoarea 1 in urma executarii secventei?
In secventa de instructiuni:
y=x;
while(x<=3)
{
printf("*");
a.0
y=y+1; x=x+y;
}
variabilele x si y sunt de tip int. Care este valoarea pe care
trebuie să o aiba initial variabila x daca la finalul executarii
secventei s-a afisat un singur caracter asterisc (*)?
In secventa urmatoare de instructiuni, n si y sunt variabile
intregi.
{n=156; y = 770;
c. 2
while(n*y > 0) if (n >y) n = n%y; else y = y%n;
y = y+n;
}
Valoarea variabilei y la finalul executarii secventei este:
In secventa urmatoare, variabilele n, x si y sunt de tip intreg.
{x = 1; y = x-1;
do{
y=x*(x-1)+y;
x++; a. de n2 ori
}while(x <=n);
} Daca valoarea variabilei n este un numar naural nenul, de cate ori
este evaluata expresia logica x <= n in timpul executarii
secventei?
În secvenţa: a. p=p*a[5-i][i]*a[i][5-i];
p=1;
for(i=1;i<=4;i++)
12
....
variabila a memoreaza un tablou bidimensional cu 4 linii si 4
coloane, numerotate de la 1 la 4, cu elementele reale. Variabila p
este reală, iar i este de tip întreg.
Care dintre instructiunile de mai jos poate inlocui punctele de
suspensie astfel incat secventa sa determine memorarea in variabila
p a valorii produsului celor 8 elemente aflate pe diagonalele matricei
In secventele C urmatoare toate variabilele sunt de tip intreg si
memoreaza numere cu cel mult 3 cifre. Care dintre variantele de mai b. a=a+b; b=a-b; a=a-b;
jos determina interschimbarea valorilor memorate de variabilele
Parametrii utilizati la apelul unei functii, se numesc: c. parametri actuali
Pentru a memora simultan numele şi media la ‚Programare
d. struct {char a[40]; float
Procedurala’ a unui student in variabila e, se poate utiliza
b;} e;
declararea;
Pentru care dintre perechile de valori de mai jos expresia C: a. a=1003 şi b=3
(a%100==b%100) && (a>99) || (b>99) are valoarea 1?
Pentru declararea struct student
{char nume[20]; a. e1=e2+1;
int nota;} e1,e2;
precizati care dintre instructiunile de atribuire este gresita:
Pentru declararea unei variabile care memoreaza un cuvant avand c. char c[26];
maximum 25 caractere, putem utiliza sintaxa:
Pentru definitia alaturata a functiei ex(), stabiliti ce se afiseaza la
apelul ex(120)?
void ex(int x){
if (x != 0){
c. 021
printf(“%d”, x %10);
ex(x/10);
}
}
Pentru o matrice t cu 8 linii si 8 coloane, numerotate de la 0 la 7, cu
elemente numere intregi, secventa de program
z=0;
d. strict sub diagonala
for(i=0;i<8;i++)
secundara
for(j=8-i;j<8;j++)
z=z+t[i][j];
determina memorarea in variabila intreaga z a sumei tuturor
elementelor situate:
Pentru o valoare naturala mai mare decat 1 memorata in
variabila globala n, subprogramul urmator afiseaza cel mai mare
divizor al lui n, mai mic decat n, la apelul divi(n).
void divi(long i){ a. n % i si i
if ( ... == 0) printf(“%ld”, ...); else divi(i-1);
}
Cu ce expresii trebuie completate punctele de suspensie?
Pentru un tablou bidimensional a cu 10 randuri si 10
c. Suma elementelor
coloane,
situate deasupra
stabiliti ce calculeaza secventa de program urmatoare, in
diagonalei principale,
variabila
inclusiv diagonala
s:
principala
s = 0;
for (i = 0; i<10; i++) for (j = i; j <10; j++) s+=a[i][j];
Pentru un tablou x declarat global, cu 10 componenteintregi, c. (1, 9, 3, 7, 5, 6, 4, 8, 2,
stabiliti care sunt valorile memorate de componentele tabloului x in 10)
urma apelului ex(0, 9), daca functia ex este definita astfel:
void ex(int i, int j){
if(i <= j) {
x[i] = i; x[j] = j; ex(i+1, j-1);
if (i % 2 != 0) {x[i]=j; x[j]=9-x[i];}
}
13
}
Prototipul corect al unei functii care primeste doua numere
intregi ca primi doi parametri (de intrare) si determina media c. void calcul (int, int,
aritmetica si produsul celor doua numere, pe care le transmite double *, int *);
apelantului prin urmatorii doi parametri este:
Se considera algoritmul:
1. citeste n; a = 0; b = 1; k = 2;
2. Cat timp k<n executa { scrie a, b; a = a+b; b = a+b; k = k+2;} c. 0, 1, 1, 2, 3, 5, 8
3. Daca k = n atunci scrie a, b; altfel scrie a.
Ce sir va calcula algoritmul pentru n = 7?
Se considera ca declaratia
struct patrat { float latura, aria;} p;
c. [Link] = [Link] *
defineste in C patrate caracterizate prin latura si arie. Care din
[Link];
urmatoarele expresii atribuie campului aria al variabilei p valoarea
ariei patratului respectiv?
Se considera declararea
struct fractie {unsigned int x, y;} s, f1, f2;
c. {s.x = f1.x * f2.y + f1.y
in care campurile x si y reprezinta numaratorul, respectiv numitorul
* f2.x; s.y = f1.y * f2.y;}
unei fractii. Care dintre urmatoarele variante construieste in
variabila s o fractie echivalenta cu suma fractiilor f1 si f2?
Se considera declararile:
struct A {
int x;
char y;
float z;}; d. char
struct B {
struct A x;
long y;};
B x, y;.
Care este tipul expresiei x.x.y
Se considera definitia
void f(int n){
int j;
d. 1121
if (n>0) for (j=1; j<=n; j++) {printf(“%d”,j); f(n-1);}
}
Ce se afiseaza ca urmare a apelului f(2)?
Se considera definitia
long f(int n, int k){
if (n == k || k == 1) return 1;
if (n < k) return 0;
long s=0, i; a.3
for (i=1; i<=k; i++) s+=f(n-k,i);
return s;
}
Stabiliti ce valoare returneaza apelul f(6,3).
Se considera definitia:
long f(int n){
if (n == 0) return 1;
d. 4
else if (n == 1) return 4;
else return f(n-1) - f(n-2);
}
Stabiliti ce valoasre returneaza apelul f(7).
Se considera definitia:
long f(int x, int y){
if (x == y || x == 0) return 1; b. 45
else return f(x,y-1)+f(x-1,y-1);
}
Ce valoare returneaza apelul f(8,10)?
Se considera fisierul [Link] al carui continut este: a) Se afiseaza:
#include <stdio.h> Programare procedurala
14
extern char *a;
void main(void){
printf("%s\n", *a);
}
si fisierul [Link] al carui continut este:
char a[] = "Programare procedurala\n";
Prin analiza programului se constata:
Se considera functia f al acarui prototip/antet este bazat pe:
void f(int a[100][100], int n, int m, int i, intj);
Functia precizata realizeaza interschimbarea liniilor i si j ale
tabloului transmis prin parametrul a, care are n linii si m coloane.
Pentru a ordona crescator numerele de pe coloana a 3-a a tabloului a,
c. n
functia f se apeleaza in timpul executarii secventei:
for (i=0; i<n-1;i++)
for(j = i+1; j<n; j++)
if(a[i][3] >a[j][3]) f(a, n, m, i, j);
de un numar de ori egal cu:
Se considera programul
#include <stdio.h>
void main(void){
int s;
int k; b) intotdeauna 55
for (k = 1; k <= 10; ++k) s += k;
printf("Suma primelor 10 de numere naturale nenule este %d\n",
s);
}
Ce afiseaza programul:
Se considera programul
#include <stdio.h>
void main(void){
int s=0;
int k; b) intotdeauna 11
for (k = 1; k <= 10; ++k); s += k;
printf("Suma primelor 10 de numere naturale nenule este %d\n",
s);
}
Ce afiseaza programul:
Se considera programul
#include <stdio.h>
void main(void){
int s=0;
int n, k;
d) 65
printf("N = "); scanf("%d", &n);
for (k = 1; k <= n; s+=++k);
printf("Suma primelor %d numere naturale nenule este %d\n", n,
s);
}
Valoarea variabilei s pentru n = 10 este:
Se considera programul
#include <stdio.h>
void aplic(int x, int *y){x+=3; (*y)-=2; printf(“%d, %d”, x,
*y);} b. 15,10,10,20,23,18
void main(void){int x=12, y=20; aplic(x, &x); printf(“,%d,”,x);
printf(“%d,”,y);aplic(y,&y); }
Ce se va afisa in urma executarii acestuia:
Se considera programul C: b)
#include <stdio.h> F0
int f(void){ int i = 0; return (i++); } F0
int g(void){static int x = 0; return (x++); } F0
void main(void){ int k; G0
for (k = 0; k < 3; k++) printf("F %d\n", f()); G1
15
for (k = 0; k < 3; k++) printf("G %d\n", g());
} G2
Analizati modul de functionare si precizati care este iesirea
acestui program
Se considera programul C:
#include <stdio.h>
void main(void){
d) 2, 3, 4, 5, 7
int k[5] = {1, 2, 3, 4, 5}, i=7;
for(i = 1; i<= 5; i++) printf("%d, ", k[i]);
printf("\n");
}Care este rezultatul obtinut in urma executarii programului:
Se considera programul C:
#include <stdio.h>
void main(void){ char c;
b) Nu
c = 0xFF;
if(c == 0xFF) printf("Da\n"); else printf("Nu\n");
}
Ce se afiseaza?
Se considera programul C:
#include <stdio.h>
void main(void){ int x, y=10;
x = 1; y = x << 2 + 1;
d) 8
printf("%d\n", y);
y = 7;
}
Care este valoarea variabilei y ce se afiseaza prin executarea
programului?
Se considera programul C:
#include <stdio.h>
void main(void){ int x, y=10;
x = 7;
a) -5
y = (x = 1)? (-5) : 7;
printf("%d\n", y), y = 8;
}
Care este valoarea variabilei y ce se afiseaza prin executarea
programului:
Se considera programul C:
#include <stdio.h>
void main(void){ int k; a)
clrscr(); k = 2, Da
for(k = 2; k<=10; ++k){ k = 3, Da
switch(k){ k = 4, Nu
case 2: k = 5, Da
case 3: k = 6, Nu
case 5: k = 7, Da
case 7: printf("k = %d, Da\n", k); break; k = 8, Nu
defualt: printf("k = %d, Nu\n", k); break; k = 9, Nu
} k = 10, Nu
}
}
Ce afiseaza programul in urma executarii?
Se considera programul C:
#include <stdio.h>
void main(void){ int k;
b) k = 11, sqr(k) = 121
for (k = 1; k<= 10; k++);
printf("k = %d , sqr(k) = %d\n", k, k*k);
}
In urma executarii acestuia se afiseaza:
Se considera programul C: b) Afiseaza pe 10 rinduri
#include <stdio.h> secventa Succes!
#define MAX 10;
16
void main(void){
int k;
for (k=MAX k>0; --k) printf("Succes!\n");
}
Atunci:
Se considera programul C:
#include <stdio.h>
void main(void){ a) Mesajul redat prin "Cel
int k1 = 12, k2 = 3; putin un numar este
if (k1 & k2) printf("Ambele numere sint nenule\n"); zero\n"
else printf("Cel putin un numar este zero\n");
}
Prin executarea acestui program se obtine:
Se considera programul C:
#include <stdio.h>
int a[3][3]={{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; d) O valoare din
void main(void){ memoria volatila din
printf("Elementul de pe rindul cu indicele 1\n"), afara spatiului
printf(" si coloana cu indicele 2 este %d\n", a[1,2]);
}
La executarea programului, valoarea afisata este:
Se considera programul C:
#include <stdio.h>
#include <conio.h>
void bit(const unsigned short int k){
unsigned short int x = (1 << 16);
int i;
for(i = 0; i<16; i++) {
b) ---------------- (16
if ((x & k) != 0) printf("%c", '*'); else printf("%c",'-');
x >>= 1; simboluri)
}
printf("\n");
}
void main(void){
bit(0x55AF);
}
La executare acesta afiseaza:
Se considera programul C:
#include <stdio.h>
void F(int *a, int b){
b +=*a; (*a)*=b;
printf(“%d %d “, *a, b);
c. 60 12 60 7
}
void main(void){
int x = 5, y = 7; F(&x, y);
printf(“%d %d“, x, y);
}
Ce se va afisa in urma executarii?
Se considera programul. Analizati textul si identificati a)
rezultatele obtinute in urma executarii acestuia. 40 18 42
#include <stdio.h> 14 13 20
static void mp( 52 34 62
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){
result[i][j] += a[i][k] * b[k][j];
}}
}}
17
static void pm( int m[3][3]){
int i, j;
for (i = 0; i < 3; ++i){
for (j = 0; j < 3; ++j) printf("%o \t", m[i][j]); printf("\n");
}}
void main(void){
int x[3][3] = {{4, 8, 2}, {3, 1, 1}, {8, 8, 2} };
int y[3][3] = {{3, 4, 5}, {3, 0, 2}, {2, 1, 3} };
int z[3][3];
mp(z, x, y);
pm(z);
}
Se considera programul:
#include <stdio.h>
void main(void){
int n1, n2;
printf("n1 = "), scanf("%d", &n1); b) n1/n2 = 8
printf("n2 = "), scanf("%d", &n2);
if (n2 =! 0) printf("n1/n2 = %d\n", n1/n2);
else printf("Impartire prin ZERO\n");
}
Ce se afiseaza pentru n1 = 8 si n2 = 16?
Se considera programul:
#include <stdio.h>
void main(void){
float treime = 1.0/3.0; c) Afiseaza "Nu!"
float unu = 1.0;
if ((treime+treime+treime) == unu) printf("Da!\n"); else
printf("Nu\n");
}
Se considera secventa C:
y=0;
do{
x=x/10;
b. 5000
y++;
} while(x%100==0);
Care este valoarea pe care poate sa o aiba initial variabila
intreaga x daca, la sfarsitul executării secventei, variabila
intreaga y are valoarea 2?
Se considera secventa de instructiuni:
{char a[]=”aabbddeff”;
char b[] =”aabbdeeff”’
a. aabbdeeff
if (strcmp(a, b) == 0) printf (“egalitate”); else printf(“%s “,b);
}
Care este rezultatul obtinut in urma executarii?
Se considera secventa:
{int i, j;
for (i = 1; i<n; i++) for(j = i; j < n; j++) if (j%i == 0)
printf(“%d%d”, i, j);
d. 28
}
De cate ori se va executa instructiunea de decizie (marcata ingrosat:
j%i == 0) din secventa de program de mai sus daca valoarea initiala
a variabilei intregi n este 8?
Se considera secventa:
{int a = 5, b = 0;
do {
a--; b +=a*a; d. a = 0 si b = 30
}while(a!=0);
}
Ce valori vor avea variabilele a si b la finalul executarii secventei?
Se considera secventa: d. a = 6, b = 0
18
{ int a =82, b = 24;
a = a % 2 + b / 2 / 2;
b = 2 * a % 2;
a = a + b;
b = a % 2 + b + 10 % 2;
}
Care sunt valorile finale ale variabilelor a si b?
Se considera tabloul bidimensional a cu n linii numerotate de
la 0 la n-1 si m coloane numerotate de la 0 la m-1. Ce reprezinta
elementul a[n-1][p] dupa executarea secventei de program: a. cel mai mare element
p=0; de pe linia n-1
for (i=1;i<m;i++)
if (a[n-1][p]<a[n-1][i])
p=i
Se considera tabloul unidimensional int a[5]={1, 2, 3, 4, 5};
si secventa de instructiuni
for(i=0; i<5; i++) {s=0; for(j=0; j<=i; j++) s+=a[j];
d. 1361015
printf(“%d”,s);}
Care va fi rezultatul afisat in urma executarii secventei de mai
sus?
Se considera textul C:
#include <stdio.h>
static int div(int *x){
int k = 5;
k = k/*x;
a) Programul afiseaza
return k;
valoarea 1
}
void main(void){
int n = 5;
printf("%d\n", div(&n));
}
Atunci:
Se considera un tablou bidimensional a cu n linii si n coloane,
numerotate de la 1 la n, cu elemente numere intregi. Ce reprezinta
valoarea variabilei intregi x, dupa executarea secventei de
program: a. Suma elementelor de
x=0; pe diagonala principală a
for(i=1;i<=n; i++) tabloului a
x=x+a[i][i];
Se considera un tablou bidimensional a, format din numere
naturale, cu n linii si n coloane, numerotate de la 1 la n. Ce
reprezinta valoarea variabilei x, dupa executarea secventei de
program:
x=a[n][1]; b. cel mai mare număr de
for(i=n;i>=1;i--) pe diagonala secundară a
if (x<a[i][n-i+1]) tabloului a
x=a[i][n-i+1];
Se considera un tablul unidimensional in care elementele sunt
in ordinea: 1, 3, 5, 7, 10, 16, [Link] a afla pozitia pe care se
b. 7, 16, 10
afla valoarea x = 10 se aplica metoda cautarii binare. Care este
succesiunea de elemente care astepau valoarea lui x:
Se considera urmatoarea functie recursiva apelata numai pentru
numere naturale nenule:
int f(int a, int b){ c. int f(int a, int b){return
if (a<b) return a; else return f(a-b, b); a%b;}
}
Care dintre urmatoarele functii este echivalenta cu functia data?
Se considera urmatoarele declaratii: b. 5
int x[5] = {0, 1, 5, 3, 4};
int y, i;
si secventa de instructiuni:
19
{
y = x[1];
for (i = 0; i<=4; i++) if (y < x[i]) y = x[i];
printf(“%d”, y);
}
Ce se va afisa in urma executarii acestei secvente?
Se considera variabila a care memoreaza un numar cu exact 6
cifre. Care dintre expresiile C de mai jos are ca valoare
b. a/100%100
numarul
format din cele doua cifre din mijloc ale valorii memorate in a?
Se presupune ca lucrati pentru o casa de software americana si
d) {char a[]="1,000,000";
vi se cere sa afisati 'un milion' in scrierea americana , adica 1,000,
puts(a);}
0000.
Secventa de cod potrivita este:
Stabiliti care dintre urmatoarele declaratii de variabile sunt corecte:
1) float 1t, 2t;
2) int a[1..10];
d. 2, 3, 4
3) int x, y;
4) string s;
5 ) double e; v;
Stabiliti care dintre urmatoarele expresii C are valoarea 1
daca
a. (x<=-a) || ((x<c)|| (x>=-
si numai daca numarul intreg memorat in variabila x nu apartine
b)) || (x>d)
intervalului (-a,-b)u[c,d], unde a, b, c si d sunt numere reale
pozitive.
Stabiliti care dintre urmatoarele expresii C are valoarea 1
daca
si numai daca numarul intreg memorat in variabila x nu apartine d. (x<=-a) && (x>b)
intervalului (-a,-b], unde a si b sunt valori reale pozitive
astfel
incit b < a.
Stabiliti care dintre urmatoarele expresii C are valoarea 1 daca si
a. (x<=-10) || (x<50 &&
numai daca numarul intreg x, nu apartine intervalului
x>=-2) || (x>100)
A=(- 10,-2)u[50,100]?
Stabiliti ce se afiseaza in urma executarii secventei de instructiuni C
y=10.1234;
x=(int)(y*100)/100; d. 10
printf(”%d”,x);
daca y este o variabila reala, iar x o variabila intreaga.
Stiind ca fiecare dintre variabilele var1, var2 memoreaza
numele si nota unui student in forma data de declararea:
struct student
a.
{ char nume[30];
m=([Link]+[Link])/
float nota;
2;
}var1,var2;
Indicati care dintre urmatoarele expresii atribuie variabilei reale m
media aritmetica a notelor celor doi studenti.
Stiind ca fisierul “[Link]” are urmatorul continut: d. 13 45 32
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(“[Link]”,”r”);
fscanf(f, “%d %d %d\n”, &x, &y, &z);
fscanf(f, “%d”, &z);
20
printf(“%d %d %d \n”, x, y, z);
}
Stiind ca fisierul “[Link]” are urmatorul continut:
1234
67 34 23
567 546 677
1234 3234 4565 6564
12345 12445 12223
ce se va afisa in urma executarii programului urmator?
#include <stdio.h> a. 1 2 3
FILE *f, int x, y, z;
void main(){
f = fopen(“[Link]”, “r”);
fscanf(f, “%d %d”,&x, &y);
fscanf(f, “%d\n”,&z);
printf(“%d %d %d \n”, x, y, z);
}
Stiind ca fisierul “[Link]” are urmatorul continut:
12345 12
93 16 32
8.023 322 21
0.823 21
0.21 213.12
ce se va afisa in urma executarii programului urmator?
#include <stdio.h>
a. 1 2 3
FILE *f, char x, y, z;
void main(){
f = fopen(“[Link]”, “r”);
fscanf(f, “%c”, &x);
fscanf(f,” %c”, &y);
while(getc(f) != ‘\n’);
fscanf(f, “%c”, &z);
printf(“%c %c %c \n”, x,y,z);
}
Stiind ca fisierul “[Link]” are urmatorul continut:
IaEaws
S,a.d sdll
-dsa
Xda dsa asd
da
sda sad
ce se va afisa in urma executarii programului urmator?
#include <stdio.h>
FILE *f; char x, y, z; a. I S -
void main(){
f = fopen(“[Link]”,”r”);
while(getc(f) != ‘\n’);
fscanf(f,”%c”, &x);
while(getc(f) != ‘\n’);
fscanf(f,”%c”, &y);
while(getc(f) != ‘\n’);
fscanf(f,”%c”, &z);
printf(“%c %c %c \n”, x, y, z);
}
Stiind ca in urma executarii secventei x=strlen(s);
for (i=0;i<x/2;i++) printf(“%c%c”,s[i],s[x-i-1]); a. EAENMX
s-a afisat succesiunea de caractere EXAMEN, care este sirul de
caractere memorat de variabila s?
Stiind ca initial variabilele intregi x, y si z au valorile d. I III II
x=1,
y=2 respectiv z=3, in ce ordine trebuie scrise atribuirile urmatoare
21
astfel incat, in final, expresia x+y+z sa aiba valoarea maxima?
I) x=x+y-z; II) y=x-y+z; III) z=z-x+y;
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], cu ce trebuie inlocuite simbolurile
a, b si c in definitia functiei G astfel incat in urma apelului G(0)
a. a = 0, b = 10, c = 3
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);}
}
Stiind ca variabila intreaga n memoreaza un numar natural cu
cel putin 3 cifre, care dintre urmatoarele expresii C are ca valoare c. n/100
numarul obtinut dupa eliminarea ultimelor 2 cifre ale lui n?
Stiind ca variabila intreaga nr memoreaza valoarea 5, stabiliti ce mesaj
se va afisa in urma executarii secventei de instructiuni C urmatoare.
if (nr<7) if (nr>3)
d. Bine
printf(”Bine”);
else printf(”Foarte bine”);
else printf(”Rau”);
Stiind ca variabilele x si y sunt de tip intreg, care este
c. x=y%10;
instrucţiunea prin care variabilei x i se atribuie ultima cifra a
numarului natural memorat in variabila y?
Stiind ca variabilele x si y sunt de tip intreg, care este
a. x=y/10%10;
instructiunea prin care variabilei x i se atribuie cifra zecilor
numarului natural cu cel putin doua cifre memorat de variabila y?
Toate variabilele din secventa de instructiuni C b. Secventa contine o
if (a>b) instructiune alternativa
{ aux=a;a=b; b=aux;} urmata de o
for(i=a;i<=b;i++) printf(“%d”,i); instructiune repetitiva.
sunt intregi. Care dintre urmatoarele afirmatii este adevarata?
Un sir de caractere se numeste palindrom daca sirul citit de la
stanga la dreapta este identic cu sirul citit de la dreapta spre
stanga. Care dintre urmatoarele expresii C are valoarea 1 daca si
numai daca sirul de caractere memorat în variabila s, avand exact 3 c. s[0]==s[2]
caractere, este palindrom?
Variabila a memoreaza un numar natural care are exact 3
cifre.
Care dintre expresiile C de mai jos are ca valoare numarul c. a/100*10+a%10
format
din prima si ultima cifra a numarului memorat de a?
Variabila a, de tip int, memoreaza un numar natural impar, iar
variabila b, de tip int, memoreaza un numar natural par. Care dintre b. !(!(a%2) || b%2);
urmatoarele expresii C are valoarea 1?
Variabila d, declarata prin
struct dreptunghi
{
float a,b,p; c. d.p=2*d.a+2*d.b;
}d;
memoreaza in campurile a si b latimea si, respectiv, lungimea unui
dreptunghi. Care dintre urmatoarele instructiuni atribuie campului p
Variabila d, declarata prin d. [Link]=d.a*d.b;
struct dreptunghi
{
float a,b,aria;
}d;
memoreaza in campurile a si b latimea si, respectiv, lungimea unui
dreptunghi. Care dintre urmatoarele instructiuni atribuie campului
22
aria al variabilei d valoarea ariei dreptunghiului respectiv?
Variabila intreaga a memoreaza un numar natural format din exact trei c.
cifre, toate cifrele fiind nenule si distincte. Care dintre urmatoarele e=a*10/1000+a/10%10+a
instructiuni C atribuie variabilei e suma cifrelor lui a? %10;
23
Variabila t memoreaza o matrice cu 8 linii si 8 coloane,
numerotate de la 0 la 7, cu elemente numere intregi, iar
celelalte
variabile sunt intregi. Secventa de program z=0; d. strict deasupra
for(i=0;i<8;i++) diagonalei secundare
for(j=0;j<8-i;j++)
z=z+t[i][j];
determina memorarea in variabila intreaga z a sumei tuturor
elementelor situate:
Variabila t memoreaza o matrice cu 8 linii si 8 coloane, numerotate de
la 0 la 7, cu elemente numere intregi, iar variabilele
i si j sunt intregi. Secventa de program
z=0;
for(i=0;i<8;i++) a. strict sub diagonala
for(j=0;j<i;j++) principala
z=z+t[i][j];
determina memorarea in variabila intreaga z a sumei tuturor
elementelor situate:
Variabila t memoreaza o matrice cu 8 linii si 8 coloane, numerotate de
la 0 la 7, cu elemente numere intregi, iar celelalte variabile sunt
intregi. Secventa de program z=0;
a. sub diagonala
for(i=0;i<8;i++)
secundara, inclusiv
for(j=7-i;j<8;j++)
diagonala secundara
z=z+t[i][j];
determina memorarea in variabila intreaga z a sumei tuturor
elementelor situate:
Variabila x es te de t idouble.
p Care dintre urmatoarele expresii
C are valoarea 1 daca si numai daca numarul real memorat in
d. (x<=b) && (x>a)
variabila x apartine intervalului (a,b], unde a si b sunt numere in
virgula mobila date (initializate, citite sau rezultat al unor operatii
preliminare)?
Variabila x este utilizata pentru a memora numele, prenumele si c. struct persoana{
salariul unei persoane. Numele si prenumele pot avea cel mult 20 de char
litere fiecare, iar salariul este un numar natural nenul mai mic nume[21],prenume[21];
decat 30000 . Care dintre urmatoarele declarari este corecta? int sal;} x;
Variabile a si b sunt declarate astfel: char a[20,b[20]; Ce se
afiseaza in urma executarii secventei urmatoare:
{
a. examen20*08
strcpy(a, “examen20”); strcpy(b, “08”);
printf(“%s%s”, strcat(a, “*”), b);
}
Variabile intregi x si y memoreaza cate un numar natural, cu
exact doua cifre. Care este valoarea expresiei x-y stiind fiecare
dintre expresiile C alaturate are valoarea 1? c. 1
x/10==y%10
y/10==x%10
x/10==x%10+1
Variabilele a si b sunt de tip int, iar variabilele c si d sunt
de tip double. Care dintre urmatoarele instructiuni de atribuire nu d. b=(d<=c);
este corecta din punct de vedere sintactic?
Variabilele a si i sunt declarate astfel:
int a[100], i;
a. a = i;
Care dintre urmatoarele instructiuni este corecta din punct de
vedere sintactic?
Variabilele a, b si c, de tip int, pot fi initializate cu
oricare numere naturale impare distincte. Stiind ca c este divizor a. !((a % c!=0) || !(b %
al lui a, iar b nu este multiplu al lui c, care dintre urmatoarele c!=0))
expresii scrise in C are valoare 1?
Variabilele a, b si z sunt reale, iar a ≤ b. Care dintre expresiile C b. (z<a)||(z>b)
urmatoare are valoarea 1 daca si numai daca valoarea variabilei z nu
24
apartine intervalului inchis determinat de valorile variabilelor a si b ?
Variabilele a, b, c si d memoreaza valori reale astfel incat
a. (d<a) || (b<c)
a<b si c<d. Care dintre expresiile C de mai jos are valoarea 1 daca si
numai daca intersectia intervalelor inchise [a,b] si [c,d] este vida?
Variabilele intregi a si b memoreaza numere naturale. Care b. (a%2!=0) &&
dintre expre (b%2!=0) && (a%2==1)
&& (b%2==1)
Variabilele intregi a si b memoreaza numere naturale. Care a. (a%2==0) &&
dintre expresiile C de mai jos este echivalenta cu expresia (b%2==1)|| (a%2==1) &&
(a+b)%2==1 ? (b%2==0)
Variabilele intregi n si m memoreaza numere naturale nenule
pare, iar n<m. Care dintre expresiile C de mai jos are valoarea b. m/2-n/2
egala cu numarul de valori impare din intervalul inchis [n,m] ?
Variabilele intregi x si y memoreaza cate un numar natural
nenul. Cel mai mic multiplu comun al valorilor lor este egal cu
d. x%y==0
numarul memorat in y daca si numai daca urmatoarea
expresie C are o valoare nenula:
Variabilele intregi x si y memoreaza doua numere naturale cu cel mult
4 cifre fiecare. Care
c. (x<=100 && x>=10)||
dintre expresiile de mai jos are valoarea 1, daca si numai daca
(y>=5 && y<=30)
valoarea memorata de x
apartine intervalului [10,100] si valoarea memorata de y apartine
intervalului [5,30]?
Variabilele intregi x si y memoreaza numere naturale nenule.
Care dintre urmatoarele expresii C este nenula daca si numai daca
d. (x%10+y%10)%10==0
numarul obtinut prin insumarea valorilor variabilelor x si y are ultima
cifra 0?
Variabilele n, z si u sunt intregi, iar n memoreaza un numar b. u=n%10;
natural cu cel putin 2 cifre. Secventa C care determina
z=n/100%10;
interschimbarea ultimelor doua cifre din scrierea numarului memorat
de n este: n=n/100+u*10+z;
Variabilele x si s memoreaza siruri cu cel mult 20 de
caractere:
x memoreaza sirul primavara, iar variabila s memoraza sirul a. anotimpprima
anotimp.
Ce se va memora in variabila s în urma executării instrucţiunii:
strncat(s, x, 5);
Variabilele x si y sunt de tip intreg, x memorand valoarea 4, d. !(x==2*y)
iar y valoarea 2. Care dintre expresiile C de mai jos are valoarea 0?
Variabilele x si y sunt de tip intreg, x memorand valoarea 8,
c. !(x/2+2==y)
iar y valoarea 6. Care dintre expresiile C de mai jos are valoarea 0?
Variabilele x s i y sunt tip int. Care dintre expresiile C de mai
c. (x<=y) || (y<=x)
jos are valoarea 1 daca si numai daca valorile intregi nenule
memorate in variabilele x si y sunt egale?
Variabilele x, y si z memoreaza valori reale, iar x<y. Care dintre
expresiile de mai jos, scrise in limbajul C, are valoarea 1 daca valoarea
a. (z>=x) && (z<=y)
variabilei z este situata in intervalul inchis determinat de valorile
memorate in variabilele x si y?
Variabilele x, y si z sunt intregi, x memoreaza valoarea 7, y
memoreaza valoarea 20, iar z memoreaza valoarea 5. Care este b. 28
rezultatul evaluarii expresiei aritmetice C: x+y+x*z/y ?
Variabilele x, y, z si w sunt intregi, x memoreaza valoarea 2, y
memoreaza valoarea 3, z memoreaza valoarea 5, iar w memoreaza c. (z<=w) && (x>0) ||
valoarea 7. Care dintre urmatoarele expresii, scrise în limbajul C, are (y>=x)
valoarea 1?
25