A lgo r i tmu l urmato r tes teaza daca s i ru l de ca rac te re s es te pa l i nd rom ( c i t i t ata t stanga de l a la dreapta, cat si de la dreapta la stanga, se obtine acelasi sir de caractere). {i=0; j=strlen(s)-1; while(i<j && s[i]==s[j]) {i=i+1; j=j-1;} if(...) printf(“palindrom”; else printf(“nu este palindrom”);
b. i>=j
} Care este expresia care poate inlocui punctele de suspensie astfel incat algoritmul sa fie corect? Care din operatiile urmatoare atribuie variabilei float x media aritmetica a valorilor intregi a, b si c? Care din urmatoarele afirmatii despre operatorii din C este falsa? Care din urmatoarele expresii are valoarea 1 daca si numai daca sirul de caractere s, de lungime 10, este obtinut prin
a. x = (a + b + c) /3 ; d. <= este operator log ic d. strcmp(s ,st rcat (s ,s+5))== 0
concatenarea Care din urmatoarele secvente de instructiuni va afisa (cu un spatiu intre ele) in ordine descrescatoare toate numerele naturale impare mai mici sau egale cu o valoare naturala data a? Care dintre expresiile C de mai jos este echivalenta cu expresia !((a<5)&&(b>7)) ? Care dintre expresiile C de mai jos, are valoarea 1 daca valoarea variabilei intregi x este un numar intreg par si strict pozitiv? Care dintre expresiile C/C++ de mai jos are valoarea 1 dupa
c . for ( i = a; i >= 1; i - - ) i f ( i % 2 != 0) pr int f (“%d ”, i); c . ! (a<5) && ! (b>7) a. ! ( (x%2!=0) | | (x<=0))
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
b. a==b
executarea secventei de instructiuni C, a=11;b=1; for(i=1;i<=5;i++) { b=b+1;
1
a=a-1 ; } i n ca re toa te var i ab i l e l e sun t i n t reg i ? Care d in t re expres i i l e de mai j o s va avea va loa rea 1? Care d in t re expres i i l e urmatoa re , sc r i se i n l imba ju l C, are
c . ‘a ’ < ‘b ’
va loa rea 1 daca s i numai daca va lo r i l e var i ab i l e l o r i n t reg i x sci . y(x%2==0) | | (y%2==0) sun t numere pare? Care d in t re i n s t ruc t i un i l e C de mai j o s dete rmina i n l ocu i rea cu c . t n=n-n%10; 0 a u l t ime i c i f re a numaru lu i natu ra l , cu ce l put in doua c i f re , memora i n var i ab i l a i n t reaga n? Care d in t re secvente le de mai j o s conduce l a memora rea i n b. for ( i=0; i
a[ i+1]) {max = var i ab i l a max a ce le i mai mar i d in t re ce le n va lo r i i n t reg i re t i nu te a[ i ] ; a[ i ] = i n tab lou l un id imens iona l a ( i n ca re a[0 ] es te pr imu l e lement )?
a[ i+1] ; a[ i+1] = max;} max = a[n-1] ;
Care d in t re urmatoa re le dec la ra t i i sun t co rec te s in tac t i c : 1) i n t ab=30 ; 2) i n t a+b;
c . 1, 3
3) f l oa t a1 ; 4) char 2ab ; 5) i n t m.n ; Care d in t re urmatoa re le expres i i are va loa rea 1 daca s i numai
c . (c%a == 0) && (c%b daca numaru l natu ra l c es te un mul t i p lu comun a l numere lo r natu ra le ==0) nenu le (uns igned i n t ) a s i b? Care d in t re urmatoa re le expres i i C are va loa rea 1 daca s i numai daca numaru l natu ra l nenu l memora t i n var i ab i l a x , de t i p i n t ,
d. x%10+x%10/10==0
es te d iv i z i b i l cu 100? Care d in t re urmatoa re le expres i i C are va loa rea 1 daca s i numai
d. x/100==0 && x/10!=0
daca numaru l natu ra l memora t de var i ab i l a x de t i p i n t are exac t doua c i f re? Care d in t re urmatoa re le expres i i C are va loa rea 1 daca s i numai daca var i ab i l e l e x s i y memoreaza doua numere natu ra le pare consecu t i ve? Care d in t re urmatoa re le expres i i C are va loa rea 1 daca s i numai
d. ( (x - y==2) | | (y - x==2)) && (x%2==0) b. (z>x) && (z
daca va loa rea rea la memora ta de var i ab i l a y nu apar t i ne i n te rva lu lu i desch i s dete rmina t de va lo r i l e rea le d i s t i nc te memora te de var i ab i l e l e
2
x s i z ( x0 numaru l rea l memora t i n var i ab i l a x se a f l a i n i n te rva lu l ( - a , a)? Care d in t re urmatoa re le expres i i C are va loa rea 1 daca var i ab i l a x a. sqrt (x) == f loor(sqrt (x) ) memoreaza un numar natu ra l pat ra t per fec t ? Care d in t re urmatoa re le expres i i C are va loa rea 1 dacanumaru l d. (n%100%4 == 0) && natu ra l memora t de var i ab i l a n es te s t r i c t mai mare decat 100 s i (n%3 == 0) d iv i z i b i l cu 12? Care d in t re urmatoa re le expres i i C es te ech iva len ta c . ( ! (x>=5)) && ( ! (x>10)) cu ! ( ( x>=5)&&(x<10) ) ? Care d in t re urmatoa re le expres i i C, are ca va loa re ce l mai mare a. (a+b+abs(a-b)) /2 d in t re numere le natu ra le nenu le memora te i n var i ab i l e l e i n t reg ia s i b? Care d in t re urmatoa re le expres i i C, are ca va loa re ce l mai mic a. (x+y-abs(x-y)) /2 d in t re numere le natu ra le nenu le , cu ce l mul t 4 c i f re f i eca re , memora te i n var i ab i l e l e i n t reg i x s i y? Care d in t re urmatoa re le i n s t ruc t i un i C at r i bu ie var i ab i l e i i n t reg i t va loa rea - 1 daca s i numai daca var i ab i l e l e i n t reg i a s i b sun t nenu c .le i fs i (a*b<0) t=-1; au semne d i fe r i te? Care d in t re urmatoa re le i n s t ruc t i un i C dete rmina e l im ina rea c i f re i d in mi j l oc a unu i numar natu ra l , cu exac t 5 c i f re ,
a. x=x/1000*100+x%100;
memora t i n var i ab i l a x? Care d in t re următoa re le i n s t ruc ţ i un i C dete rmina i n se ra rea
a. x=(x /10*10+7)*10+x %10; c i f re i 7 î n f a ta u l t ime i c i f re a unu i numar natu ra l , cu mai mul t de 2 c i f re , memora t i n var i ab i l a x? Care d in t re urmatoa re le i n s t ruc t i un i C es te ech iva len ta cu x =(x+y+z) /2 ; s t i i nd ca var i ab i l e l e x , y s i z sun t rea le? Care d in t re urmatoa re le i n s t ruc t i un i C sun t co rec te s in tac t i c daca x s i y sun t doua var i ab i l e de t i p i n t reg?
b. x = x/2 + y/2 + z /2 ;
a. i f (x < 2) && (x > - 5) {x=x+1; y=y-1;}
a) #include <stdio.h>
Care dintre urmatoarele programe afiseaza diferenta perechilor de elemente din orice tablou initializabil tab cu maximum 12 componente?
static int tab[12]={1, 2, 4, 3, 5, 6, 9, 7, 10, 8, 0, 0}; static int dif[6]; void main(void){ int i=0, id=0; while (tab[i] != 0) dif[id++] = tab[i++]-
3
tab[i++]; for(id = 0; id<6; id++) printf("dif[ %d ] = %d\n", id, dif[id]); } Care dintre urmatoarele reprezinta o declaratie corecta pentru o variabila x care memoreaza simultan numele si media a maximum 30 de studenti? Care dintre urmatoarele secvente au ca efect citirea unui caracter din fisierul “C.TXT”?
d. struct {char nume[30]; double media;} x[30]; c. f = fopen(“C.TXT”, “r”); fscanf ( f , “%c”, &x) ; fc lose( f ) ;
Care dintre urmatoarele secvente calculeaza suma elementelor de pe linia k a unei matrice a, cu m linii (numerotate de la 1 la m; linia de indice 0 este utilizata in alte scopuri) si n coloane
d. s = 0; i=1; while(i<=n) {s+=a[k][i]; i++;}
(numerotate de la 1 la n; coloana de indice 0 este utilizata in alte scopuri)? Care dintre urmatoarele secvente de instructiuni determina, in mod corect maximul a trei numere? 1) if (a>b && a >c) max = a; else i f (b > a && b > c ) max = b ; e l se max = c;
b. 1, 3
2) if (a>b) if (a>c) max = a; else max = c; else max = b; 3) if (a>b) if (a>c) max = a; else if (b>c) max = b; else max =c; 4) if (a>b) if (b>c) max = b; else max = c; else max = a; Care dintre urmatoarele variabile nu isi modifica valoarea in urma executarii secventei de instructiuni: c=2*a-b;
b. doar c
a=a-b; a=c-a; b=2*a-c; oricare ar fi valorile lor initiale? (a,b,c sunt variabile de tip int). Care dintre urmatoarele variante realizeaza deschiderea la citire a fisierului text “A.TXT” Care dintre urmatoarele variante realizeaza deschiderea la scriere a fisierului text “B.TXT”? Care dintre urmatoarele variante reprezinta o declarare corecta pentru o variabila x care memoreaza simultan varsta in ani impliniti si media la licenta a unui absolvent? Care dintre urmatoarele variante reprezinta o declarare corecta pentru o variabila x care memoreaza simultan codul de identificare
4
c. f = fopen(“A.TXT”, “r”); b. f = fopen(“B.TXT”,”w”);
a. struct {float media; b. struct { int cod; float media;} x;
al unui candidat la un examen, exprimat ca un numar natural de cel mult 4 cifre si media obtinuta de acesta la examen, exprimata ca un număr real? Care dintre urmatoarele variante reprezinta o declarare corecta pentru o variabila x care memoreaza simultan coordonatele reale (abscisa si ordonata) ale unui punct in planul xOy? Care dintre urmatoarele variante reprezinta o declarare corecta pentru o variabila x care memoreaza simultan partea reala si partea imaginara a unui numar complex? Care dintre urmatoarele variante reprezinta o declarare corecta pentru o variabila x care memoreaza simultan numaratorul si
a. struct punct {float ox,oy;} x; c. struct complex{ float im, re;} x;
a. struct fractie{int n1,n2;} x;
numitorul unei fractii ireductibile: Care dintre variabilele intregi x, y si z vor avea la finalul executarii secventei de instructiuni, x = y + z; z = x – z;
b. numai y şi z
y = z; z = x - y; aceeasi valoare ca inainte de executare? Care dintre variantele de mai jos declara constanta x astfel incat aceasta sa memoreze corect numarul real 3,14? Care este cea mai mica valoare pe care o poate avea expresia C: x/7-x%7 daca variabila x, de tip int, memoreaza un numar natural cu o singură cifra? Care este instructiunea prin care variabilei x i se atribuie valoarea sumei cifrelor numarului natural format din exact trei
d. const float x=3.14;
a. 0
a. x=y/100+y/10%10+y%10;
cifre, memorat de variabila y? Care este instructiunea prin care variabilei x i se atribuie valoarea cifrei sutelor numarului natural cu cel putin 4 cifre memorat in variabila y? Care este instructiunea prin care variabilei x i se atribuie numarul obtinut prin inversarea ordinii cifrelor numarului natural
a. x=y/100%10;
a. x=y%10*10+y/10;
format din exact 2 cifre, memorat in variabila y? Care este ordinea de executare a instructiunilor urmatoare pentru ca in b. 3, 4, 2, final var i ab i l e l e i n t reg i x , y s i z sa a iba va lo r i ega le , i nd i fe ren t de va lo r i l e l o r i n i t i a l e : { /* 1 */ x = x / 10; /* 2 */ z = x / y;
5
/* 3 */ x = 100; /* 4 */ y = x / 10; } Care este valoarea expresiei 20 / 10 * 2 + 30 / 15 * 2 Care este valoarea expresiei C: (a/b%c<=b)||!(b==a) daca variabilele intregi a, b, c au valorile a=20, b=3, c=5? Care este valoarea expresiei C: 50-(100–300/2/(2+3))? Care este valoarea expresiei C: 9/2*2-5 Care este valoarea expresiei strlen(s) pentru variabila s de tip sir de caractere, declarata si initializata astfel: char s[15]=”Proba_1”; Care este valoarea expresiei: 4000/10/10*2+4*10*10 / 2 Care este valoarea pe care trebuie să o aiba initial
c. 8 b. 1 c. - 20 a. 3 a. 7
b. 280
variabila intreaga x pentru ca, in urma executarii secventei while (x!=3){
c. 6
x=x-1; printf(”HH”); } sa se afiseze sirul HHHHHH? Care este valoarea tiparita de secventa de program C: x=30; y=5; z=(x+y)/6.0;
c. 5.83
z=(int)(z*100); z=z/100; printf(“%0.2f”,z); stiind ca x si y sunt variabile intregi, iar z este o variabila reala? 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;
c. x = 23, y = 22, z = 45
else {y = x-1; z = y+x;} daca initial x = 23, y = 14 si z = 25? Care sunt valorile variabilelor intregi a si b dupa executarea instructiunilor urmatoare: { a = 1235; b = a % 10; if ((a-b) % 10 == 0) { a = a / 100; b = a % 100;} if (a == b) a = a *100;
6
d. a = 1200 si b = 12
} Care sunt valorile variabilelor intregi x si y dupa executarea in ordine a urmatoarelor trei instructiuni: { x = 0x3;
d. x= 0 si y = 6
y = x + 0x3; x = x - 3; } Care va fi continutul fisierului “H.TXT” in urma executarii programului urmator? #include <stdio.h> FILE *f; char x, y, z; void main(){
b. Ieri 13
f = fopen(“H.TXT”,”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 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);
7
b. 4
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 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 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 instructiunii de mai jos? s=strstr(strnset("Olimpiada",'#',strlen("2009")),"ad"); Ce valoare are variabila s de tip sir de caractere dupa executarea instructiunilor de mai jos?
a. amen
b. forma
b. ada
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 instructiunii de mai jos? s=strcat(strncpy(s,"informatica",strlen("2008")),"LIC"); Consideram ca variabila s memoreaza sirul de caractere examen.
8
b. infoLIC
c. ExAMeN
Care va fi valoarea lui s dupa executarea instrus[0]= ‘E’;s[strlen(s)-1]= ‘N’;s[strlen(s)/2-1]= ‘A’;s[strlen(s)/ 2]= ‘M’. Consideram ca variabila s memoreaza sirul de caractere mama. Care va fi valoarea lui s dupa executarea instructiunilor de mai jos?
a. MAma
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. p.nume[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; Cum se poate accesa prima litera a denumirii unui produs ale carui
c. p.denumire[0]
caracteristici sunt memorate in variabila p? Consideram variabila x care memoreaza sirul de caractere a. printf("%c",x[strlen(x)3]);
ABAC. Care dintre urmatoarele instructiuni conduc la afisarea caracterului B? Consideram variabilele intregi i si j. Care dintre urmatoarele secvente de instructiuni C determina afisarea pe ecran , in urma
9
a. 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 dintre urmatoarele instructiuni verifica daca s-a ajuns la sfarsitul fisierului indicat de f? Considerand declararea
b. if (feof(f)) printf(“final”); else printf(“mai este”);
struct { c. scanf(”%d %d”, &x.a,&x.b)
int a, b; } x; care dintre urmatoarele secvente de instructiuni realizeaza in mod corect citirea de la tastatura a valorilor celor doua campuri ale variabilei x? Considerand declararea struct { int a, b;
a. printf(”%d %d”, x.a,x.b);
} x; 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 ?
10
Considerand variabila x de tip float si variabila de tip int a, care va fi secventa de caractere afisate in urma executarii secventei de instructiuni(s inseamna un spatiu): x = -4.3; Cum se poate accesa prima litera a denumirii unui material ale
d. 4s4.30s0
carui caracteristici sunt memorate în variabila m, declarată prin: struct material{
d. m.denumire[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. p.denumire[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. p.nume[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. e.nume[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 INFORMATICA atunci strlen(s) are valoarea? Determinati valoarea expresiei ((int)fabs(-14.2)) % 7
d. 11 c. 0
11
Determinati va loa rea expres ie i f abs ( - 11 .2 sqrt(floor(16.23)). ) + Dintre tipurile simple de date face parte tipul: Elementele tabloului bidimensional
d. 15.2 a. double
1234 12 13 14 5 11 16 15 6 10 9 8 7 cu 4 linii si 4 coloane, sunt toate numerele naturale cuprinse
d. 22
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“,x.nume[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
d. 9
expresiei? Fie expresia C: ((a rel="nofollow">3) && (a<15)) || (a!=b) Care dintre
b. !((a<=3) || (a>=15)) ||
12
expresiile C de mai jos ii este echivalentă? 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
(a!=b) 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; O secventa de instructiuni echivalenta cu aceasta, dar care
d. if(x>y && y>z) p = 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: #include <stdio.h> void main(void){ int a=0, b=0; /* definire cu initializare */ int s = 6; a = 5, /* incarca a
b) 0
b=2; incarca b */ s = (a*b)/2; printf("s= %d\n", s); } Care este valoarea variabilei s la incheierea executarii programului: Fie programul:
c) 0.00000
#include <stdio.h> void main(void){ int a=1, b=3; double f = 0.6; f = a/b; printf("f= %7.5lf\n", f); }
13
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 executarii secventei de instructiuni date, daca la finalul executarii x are valoarea 2007 iar y are valoarea 2009. Fie secventa: a = 99; while (a >=1) {printf(“%d\n”, a); a=a-2;} Prin executarea acesteia se afiseaza: Fie secventa:
c. x = 1004 si y = 3
b. numerele naturale impare mai mici ca 100
b. numerele naturale din intervalul [65, 90]
{char c; for c=’A’; c <=’Z’; c++) printf(“%d”, c);} 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 Fie tabloul unidimensional v si secventa for (j = k; j>=q; j--) v[...] = v[j];
43456
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;
14
b. n ori
while (i
c. {p = 0; for(k=1; k<=n; k++) if (v[k]>0 && !p) p = v[k];}
v, daca exista o astfel de valoare, sau 0 in caz contrar? Fie v un tablou unidimensional format din n numere intregi (n >=2). Stiind ca primul element din tablou se afla pe pozitia 1 (pozitia 0 este utilizata in alte scopuri), indicati care dintre urmatoarele secvente atribuie variabilei intregi max cea mai mare valoare din tabloul v: Fie x o variabila care memoreaza un numar natural. Care dintre 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 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
b. for(int i=2; i<=n; i++)if(v[i-1]>v[i]) v[i] = v[i-1]; max = v[n];
c. (1-x%3)*(2-x%3)
d. x=x/1000*100+x%100;
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
b. (t>=x) && (t<=y)
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
15
a. (t<=x) || (t>=y)
d. 210
c. mod b. revers(v, p, q); revers(v, p+1, q-1);
(se presupune ca p <= q). Care dintre urmatoarele secvente de program inverseaza doar prdinea elementelor v[p] si v[q]: Functia s (scrisa in limbajul C, standard) este utilizata pentru interschimbarea valorilor a doua numere intregi, pozitive.
c. void s(unsigned int *, 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 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. Aceasta expresie: In functia recursiva de mai jos se considera ca tabloul
b. P.y==0
a. are valoarea 1 pentru orice numar natural x.
unidimensional v este declarat global. void star(int i){ if(i<10) { a. int v[] = {1, 4, 3, 2, 1, 6, 5, 4, 3, 10};
printf(“*”); 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
a. eliminarea liniei k din matrice
for ( i=k+1; i<=n; i++)
16
for (j=1; j<=n; j++) v[i-1][j] = v[i][j]; 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
a. s1, s2, s3 retin siruri identice de caractere
else 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. 28
a[i][j] = (i+j)%8; 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
d. 56
a[i][j] = (i+j)%n; 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
17
a. 24
for(i=0; i=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: x=20; y=5; x=x+y;
d. 40
y=x-2*y; x=y+x; 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,
d. k=0; i=5; j=5
if (k>0) if (i!=j) x=0; else x=1; else x=2; if (i!=j) if (k>0) y=0;
18
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;
19
a. de n2 ori
x++; }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: p=1; for(i=1;i<=4;i++) .... variabila a memoreaza un tablou bidimensional cu 4 linii si 4
a. p=p*a[5-i][i]*a[i][5-i];
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 jos determina interschimbarea valorilor memorate de variabilele Parametrii utilizati la apelul unei functii, se numesc: Pentru a memora simultan numele şi media la ‚Programare Procedurala’ a unui student in variabila e, se poate utiliza declararea; Pentru care dintre perechile de valori de mai jos expresia C:
b. a=a+b; b=a-b; a=a-b; c. parametri actuali d. struct {char a[40]; float b;} e; 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(), stab i l i t i ce se a f i seaza l a ape lu lex(120)? void ex(int x){ if (x != 0){ c. 021
printf(“%d”, x %10); ex(x/10); } }
20
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 secundara
for(i=0;i<8;i++) 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 coloane, stabiliti ce calculeaza secventa de program urmatoare, in variabila
c. Suma elementelor situate deasupra diagonalei principale, inclusiv diagonala principala
s: 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, stabiliti care sunt valorile memorate de componentele tabloului x in urma apelului ex(0, 9), daca functia ex este definita astfel: void ex(int i, int j){
c. (1, 9, 3, 7, 5, 6, 4, 8, 2, 10)
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];} } } Prototipul corect al unei functii care primeste doua numere intregi ca primi doi parametri (de intrare) si determina media aritmetica si produsul celor doua numere, pe care le transmite apelantului prin urmatorii doi parametri este: Se considera algoritmul:
c. void calcul (int, int, double *, int *); c. 0, 1, 1, 2, 3, 5, 8
21
1. citeste n; a = 0; b = 1; k = 2; 2. Cat timp k
c. p.aria = p.latura * p.latura;
urmatoarele expresii atribuie campului aria al variabilei p valoarea ariei patratului respectiv? Se considera declararea struct fractie {unsigned int x, y;} s, f1, f2; in care campurile x si y reprezinta numaratorul, respectiv numitorul
c. {s.x = f1.x * f2.y + f1.y * 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
a.3
long f(int n, int k){ if (n == k || k == 1) return 1; if (n < k) return 0; long s=0, i;
22
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 MAIN.CPP al carui continut este: #include <stdio.h> extern char *a; void main(void){
a) Se afiseaza: Programare procedurala
printf("%s\n", *a); } si fisierul F1.CPP 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, functia f se apeleaza in timpul executarii secventei: for (i=0; ia[j][3]) f(a, n, m, i, j);
23
c. n
de un numar de ori egal cu: Se considera programul #include <stdio.h> void main(void){ int s;
b) intotdeauna 55
int k; 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,
24
b. 15,10,10,20,23,18
*y);} 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: #include <stdio.h>
b)
int f(void){ int i = 0; return (i++); }
F0
int g(void){static int x = 0; return (x++); }
F0
void main(void){ int k;
F0
for (k = 0; k < 3; k++) printf("F %d\n", f());
G0
for (k = 0; k < 3; k++) printf("G %d\n", g());
G1
}
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:
d) 8
#include <stdio.h> void main(void){ int x, y=10; x = 1; y = x << 2 + 1; printf("%d\n", y); y = 7; }
25
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 secventa Succes!
#include <stdio.h>
26
#define MAX 10; 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 putin un numar este zero\n"
int k1 = 12, k2 = 3; if (k1 & k2) printf("Ambele numere sint nenule\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 memoria volatila din afara spatiului
void main(void){ printf("Elementul de pe rindul cu indicele 1\n"), printf(" si coloana cu indicele 2 este %d\n", a[1,2]); } La executarea programului, valoarea afisata este: Se considera programul C:
b) ---------------- (16 simboluri)
#include <stdio.h> #include void bit(const unsigned short int k){ unsigned short int x = (1 << 16); int i; for(i = 0; i<16; i++) { if ((x & k) != 0) printf("%c", '*'); else printf("%c",'-'); x >>= 1; } printf("\n"); }
27
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]; }} }} 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){
28
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:
a. aabbdeeff
{char a[]=”aabbddeff”;
29
char b[] =”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
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: { int a =82, b = 24; a = a % 2 + b / 2 / 2; b = 2 * a % 2;
d. a = 6, b = 0
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: p=0;
a. cel mai mare element de pe linia n-1
for (i=1;i<m;i++) if (a[n-1][p]
30
d. 1361015
si secventa de instructiuni for(i=0; i<5; i++) {s=0; for(j=0; j<=i; j++) s+=a[j]; printf(“%d”,s);} Care va fi rezultatul afisat in urma executarii secventei de mai sus? Se considera textul C: #include <stdio.h rel="nofollow"> static int div(int *x){ int k = 5; k = k/*x; a) Programul afiseaza valoarea 1
return k; } 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 pe diagonala pr inc ipa lă a tab loulu i a
x=0; for(i=1;i<=n; i++) 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 pe diagonala secundară a tabloului a
for(i=n;i>=1;i--) if (x
31
b. 7, 16, 10
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 a%b;}
if (a
b. 5
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 numarul format din cele doua cifre din mijloc ale valorii memorate in a? Se presupune ca lucrati pentru o casa de software americana si vi se cere sa afisati 'un milion' in scrierea americana , adica 1,000, 0000.
b. a/100%100
d) {char a[]="1,000,000"; puts(a);}
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 si numai daca numarul intreg memorat in variabila x nu apartine intervalului (-a,-b)u[c,d], unde a, b, c si d sunt numere reale pozitive.
32
a. (x<=-a) || ((x=b)) || (x>d)
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 numai daca numarul intreg x, nu apartine intervalului A=(- 10 , - 2)u [50 ,100]? Stabiliti ce se afiseaza in urma executarii secventei de instructiuni C
a. (x<=-10) || (x<50 && x>=-2) || (x>100)
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. m=(var1.nota+var2.nota)/ 2;
{ char nume[30]; float nota; }var1,var2; Indicati care dintre urmatoarele expresii atribuie variabilei reale m media aritmetica a notelor celor doi studenti. 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);
33
d. 13 45 32
} Stiind ca fisierul “E.TXT” 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(“E.TXT”, “r”); fscanf(f, “%d %d”,&x, &y); fscanf(f, “%d\n”,&z); printf(“%d %d %d \n”, x, y, z); } Stiind ca fisierul “F.TXT” 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(“F.TXT”, “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 “G.TXT” are urmatorul continut:
a. I S -
34
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; void main(){ f = fopen(“G.TXT”,”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); a. EAENMX
for (i=0;i<x/2;i++) printf(“%c%c”,s[i],s[x-i-1]); 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 x=1, y=2 respectiv z=3, in ce ordine trebuie scrise atribuirile urmatoare
d. I III II
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) sa se afiseze toate elementele produsului cartezian MxMxM? void G(int k){
35
a. a = 0, b = 10, c = 3
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 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 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 if (a>b) { aux=a;a=b; b=aux;}
c. x=y%10;
a. x=y/10%10;
b. Secventa contine o instructiune alternativa urmata de o instructiune repetitiva.
for(i=a;i<=b;i++) printf(“%d”,i); 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 caractere, este palindrom?
c. s[0]==s[2]
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 urmatoarele expresii C are valoarea 1?
36
b. !(!(a%2) || b%2);
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 struct dreptunghi { float a,b,aria;
d. d.aria=d.a*d.b;
}d; memoreaza in campurile a si b latimea si, respectiv, lungimea unui dreptunghi. Care dintre urmatoarele instructiuni atribuie campului aria al variabilei d valoarea ariei dreptunghiului respectiv? Variabila intreaga a memoreaza un numar natural format din exact trei cifre, toate cifrele fiind nenule si distincte. Care dintre urmatoarele instructiuni C atribuie variabilei e suma cifrelor lui a? Variabila întreaga n memoreaza un numar natural cu exact 4 cifre. Care dintre expresiile C de mai jos este echivalenta cu expresia n/100%10%2==0 ? Variabila intreaga n memoreaza un numar natural de exact 5 cifre. Instructiunea care determina eliminarea din numarul n a primei si ultimei cifre este: Variabila intreaga n memoreaza un numar natural de exact 7 cifre. Instructiunea care determina eliminarea din numarul n a celor 3 cifre din mijlocul lui este: Variabila intreaga n memoreaza un numar natural format din exact doua cifre nenule. Care dintre urmatoarele instructiuni C determina memorarea in variabila intreaga t a numarului care are aceleasi cifre ca si n, dar in ordine inversa? Variabila intreaga n memoreaza un numar natural impar. Care dintre urmatoarele expresii C are valoarea 1? Variabila intreaga x memoreaza o valoare mai mare ca 1000, formata doar din cifre distincte. Care dintre urmatoarele instructiuni C afisează o singura cifra? Variabila intreaga x retine un numar natural cu cel putin doua cifre. Care dintre urmatoarele expresii C are valoarea egala cu cifra zecilornumarului natural memorat in variabila x? Variabila p este declarata astfel: int *p;
37
c. e=a*10/1000+a/10%10+a %10;
b. n%1000%2==0
b. n=n/10%1000;
a. n=n/100000*100+n%100;
a. t=n%10*10+n/10;
c. n%2!=0 d. printf("%d",x%10/1);
c. x / 10 % 10 b. printf(“%d”,*p);
Stiind ca p retine adresa unei variabile de tip int, care dintre urmatoarele instructiuni afiseaza valoarea respectivei variabile intregi? Variabila reala x memoreaza numarul 2.682. Care dintre urmatoarele instructiuni C va atribui variabilei intregi y valoarea 10? 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? Variabila s memoreaza un sir de caractere. Care dintre urmatoarele expresii C este nenula daca si numai daca lungimea sirului este un numar par? Variabila s memoreaza un sir de caractere. Care dintre urmatoarele expresii C este nenula daca si numai daca lungimea sirului este strict mai mică decat 10? Variabila t este utilizata pentru a memora numarul de exemplare disponibile intr-o biblioteca si titlul unei carti. Numarul de exemplare este un numar natural de cel mult 2 cifre, iar titlul nu poate avea mai mult de 20 de litere. Care dintre urmatoarele declarari este corecta? Variabila t este utilizata pentru a memora pretul (val) si numele autorului unei carti. Pretul cartii este un numar natural de
b. y = (floor)(x*100)/100 + (floor)(x*100%100/10); a. strstr(s,c1+c2)!=0
d. strlen(s)%2==0
a. strlen(s)<10
b. struct carte{ int nr; char titlu[21]; } t; c. struct carte{ int val;char nume[21];} t;
cel mult 3 cifre, iar numele autorului nu poate avea mai mult de 20 de litere. Care dintre urmatoarele declarari este corecta? Variabila t memoreaza o matrice cu 5 linii si 5 coloane, numerotate de la 0 la 4, cu elemente numere intregi, iar celelalte variabile sunt intregi. Secventa de program x=0;
b. strict deasupra diagonalei principale
for(i=0;i<5;i++) for(j=i+1;j<5;j++) x=x+t[i][j]; determina memorarea in variabila x a sumei 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; for(i=0;i<8;i++) for(j=0;j<8-i;j++)
38
d. strict deasupra diagonalei secundare
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 principala
for(j=0;j
a. sub diagonala secundara, inclusiv diagonala secundara
for(j=7-i;j<8;j++) 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 salariul unei persoane. Numele si prenumele pot avea cel mult 20 de litere fiecare, iar salariul este un numar natural nenul mai mic decat 30000 . Care dintre urmatoarele declarari este corecta? Variabile a si b sunt declarate astfel: char a[20,b[20]; Ce se
c. struct persoana{ char nume[21],prenume[21]; int sal;} x;
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?
39
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; Care dintre urmatoarele instructiuni este corecta din punct de
a. a = i;
vedere sintactic? Variabilele a, b si c, de tip int, pot fi initializate cu oricare numere naturale impare distincte. Stiind ca c este divizor al lui a, iar b nu este multiplu al lui c, care dintre urmatoarele expresii scrise in C are valoare 1? Variabilele a, b si z sunt reale, iar a ≤ b. Care dintre expresiile C urmatoare are valoarea 1 daca si numai daca valoarea variabilei z nu apartine intervalului inchis determinat de valorile variabilelor a si b ? Variabilele a, b, c si d memoreaza valori reale astfel incat a
a. !((a % c!=0) || !(b % c!=0))
b. (zb) a. (d
numai daca intersectia intervalelor inchise [a,b] si [c,d] este vida?
Variabilele intregi a si b memoreaza numere naturale. Care dintre expre Variabilele intregi a si b memoreaza numere naturale. Care dintre expresiile C de mai jos este echivalenta cu expresia (a+b)%2==1 ? Variabilele intregi n si m memoreaza numere naturale nenule pare, iar n<m. Care dintre expresiile C de mai jos are valoarea
b. (a%2!=0) && (b%2!=0) && (a%2==1) && (b%2==1) a. (a%2==0) && (b%2==1)|| (a%2==1) && (b%2==0)
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 numarul memorat in y daca si numai daca urmatoarea
d. x%y==0
expresie C are o valoare nenula: Variabilele intregi x si y memoreaza doua numere naturale cu cel mult 4 cifre fiecare. Care dintre expresiile de mai jos are valoarea 1, daca si numai daca valoarea memorata de x
c. (x<=100 && x rel="nofollow">=10)|| (y>=5 && y<=30)
apartine intervalului [10,100] si valoarea memorata de y apartine intervalului [5,30]? Variabilele intregi x si y memoreaza numere naturale nenule.
40
d. (x%10+y%10)%10==0
Care dintre urmatoarele expresii C este nenula daca si numai daca 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 natural cu cel putin 2 cifre. Secventa C care determina interschimbarea ultimelor doua cifre din scrierea numarului memorat de n este: Variabilele x si s memoreaza siruri cu cel mult 20 de
b. u=n%10; z=n/100%10; n=n/100+u*10+z;
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, 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, 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 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
41
d. !(x==2*y)
c. !(x/2+2==y) c. (x<=y) || (y<=x)
a. (z>=x) && (z<=y)
b. 28
c. (z<=w) && (x>0) || (y>=x)