Sunteți pe pagina 1din 5

Test sem 2 cl 12 FR

1. Ce se va afisa in urma executarii programului urmator:


#include <iostream>
using namespace std;
int main()
{ cout<<"ora de"<<endl<<"informatica";
return 0;
}
a) ora deinformatica
b) ora de
informatica
d) informatica
informatica

c) ora de

2. In timpul executarii programului urmator, se introduc


succesiv valorile 9 si 5. Ce valori se vor afisa dupa
executare?
#include <iostream>
using namespace std;
int main()
{ int a; cin>>a; cout<<a<<" ";
cout<<a<<endl; cin>>a; cout<<a; }
a) 9 9
5

b) 5 5
9

c) 9 9 5

d) 5 5
5

e) 9
5

3. Ce valori au fost introduse de la tastatura in timpul


executarii programului urmator, daca valorile afisate, la
final, sunt: 20 5 4?
#include <iostream>
using namespace std;
int main()
{ int a,b; cin>>a>>a>>b;
cout<<b*a<<" "<<b<<" "<<a; }
a) 4 3 5

b) 5 4 4

c) 4 5 5

d) 3 4 5

4. Ce valoare se afiseaza in urma executarii programului


urmator, daca se introduce de la tastatura 806 si apoi se
apasa tasta Enter?
#include <iostream>
using namespace std;
int main()
{ char a; cin>>a; cout<<a }

a) 0

b) 806

c) 8

d) 6

5. Se considera urmatoarea secventa repetitiva:


i=0;
while (i+j<=10) {
i=i+1;
j=j-2;
}
Valoarea minima posibila pentru care variabila j astfel incat instructiunea
repetitiva de mai sus sa nu se execute la infinit(necontrolat) este:
a) 1
2

b) 5

c) 6

d) 17

e) 10

f)

6. Ce se va afisa pe ecran in urma executarii urmatoarei


secvente de instructiuni, stiind ca pentru variabila x au fost
citite valorile 23, 25, 345, 892 si 3456 ?
for (i=1; i<=5; i++) {
cin>>x;
if (i%2==0) cout<<x%10;
else cout<<(x/10)%10;
}
a) 3 2 5 9 5
b) 3 5 5 9 2
e) 2 5 4 2 5

c) 2 5 5 9 5

d) 2 5 5 2 5

7. Ce se va afisa la executarea urmatoarelor instructiuni?


p=1;
do {
p*=2;
cout<<p;
} while (p%10!=6);
a) 2 4 8 6

b) 2486

c) 2 4 8 16

d) 24816

Teza sem 2 cl 12 FR
1. S se determine ce tiprete urmtoarea instruciune :
unsigned n=100; printf("%04x",n);
a) 0100
b) 100
c) 0064
c) A10
2. Ce face secvena ?
float n=16;
printf("%x",n+1);
a) afieaz numrul n baza 16
b) d eroare de compilare deoarece nu am folosit o variabil la scriere
c) chiar dac nu este semnalat nici o eroare la compilare, nu se afieaz valoarea dorit, deoarece nu am folosit
un specificator de format adecvat
3. Fie declaraiile :int n;long double x;char s[100];
Care din secvenele urmtoare sunt corecte pentru citirea variabilelor ?
a) scanf("%i %s %lg",&n,&s,&x);
b) scanf("%d %s %Lg",&n,&s,&x);
c) scanf("%d %s %Lg",&n,s,&x);
d) scanf("%d %c %lf",&n,&s,&x);
e)
scanf("%d %",&n,&s,&x);
4. Fie declaraia : char s [20];
Care din secvenele de mai jos citesc corect un ir de caractere s ?
a) scanf("%c",s);
b) scanf("%c",&s);
c) scanf("%s",s);
d) scanf("%s",&s);
e) scanf("%",s);
f)
scanf("",s);
5. Fie declaraia : char str[80];
Care din urmtoarele secvene vor face citirea unui ir de maxim 80 caractere care s nu conin caracterul "." ?
a) scanf("%[.]s",str);
b) scanf("%[A.]s",str);
c) scanf("%80[A.]s",str);
d) scanf("%80[A.]c",str);
e) scanf("%80[.A]s",str);
6. Fie expresia a<b&&a<c. S se verificeafirmaiile urmtoare :
a) expre sia
este
incorect sintactic
b) este corect i este echivalent
cu : (a<b)&&(a<c)
c) este corect i este echivalent
cu expresia : a<(b&&a)<c
7. S se verifice utilizarea cror operaii estepermis :
a) a-=b;
b) -a=b;
c) -a=-b;
d) a<<=2;
8. Fie o expresie care conine operatoriaritmetici, relaionali i de atribuire i nu conineparanteze. S se
precizeze, care va fi ordineade evaluare a operatorilor ?
a) de atribuire, relaionali, aritmetici
b) aritmetici,relaionali, de atribuire
c) de atribuire, aritmetici, relaionali
9. Care din urmtoarele afirmaii sunt adevrate ?
a) operatorii pe bii au ordinea de evaluare naintea operatorilor logici
b) operatorii de atribuire compus au o precedena mai mic dect operatorul de atribuire simpl
c) operatorii relaionali au o preceden mai mare dect operatorii logici
d) toi operatorii relaionali au acelai nivel de prioritate
10.
Fie declaraia : int i,x,y; S se verifice care expresii sunt corecte :
a) (i+1)++ b) i+++ 1 c) --x+y d) ++i++
e) &x+1
f) &(x+1) g) -x&1
11.Precizai de cte ori se va afia valoarea 1 n timpul execuiei programului urmtor, dac a=3,b=4 i x=5.
#include<stdio.h> void main()
{
int a,b,x;
scanf("%d%d%d",7a,&b,&x); if(!((x<=a)&&(x>=b)))
putchar('1');
if(!(x<=a||x>=b))
putchar('1');
if(!(x<=a)&&!(x>=b))
putchar('1');
if(!(x<=a)||!(x>=b))
putchar('1');
}
a) nici o dat
b) o dat
c) de dou ori
d) de trei ori
e) de patru ori

12. Dac n timpul execuiei programului de mai jos n va primi valoarea 232213, care vor fi n final valorile
variabilelor f1 , f2 i f3 ?
#include<stdio.h> void main()
{
long n;
unsigned int f1,f2,f3,c; scanf("%ld",&n);
f1=f2=f3=0; do{
c=n%10; n=n/10;
switch(c) {
case 1: { f1++; break; } case 2: { f2++; break; } case 3: { f3++; break; }
}
}while(n!=0);
printf("%u %u %u",f1,f2,f3);
}
a) f1=1,f2=1,f3=1 b) f1=1,f2=2,f3=2
c) f1=1,f2=2,f3=3 d) f1=2,f2=1,f3=3 e) f1=3,f2=2,f3=1
13.Pentru n=7, care dintre secvenele de program de mai jos trebuie executat astfel nct, la finele execuiei,
valoarea variabilei p s fie 48 ?
a) p=1; i=2;
while(i<=n) { p*=i;i+=2;}
b) p=1; i=1;
while(i<n/2){i++;p=p*(2*i+1); }
c) p=1; i=1;
while(i<=n/2) {p=p*(2*i);i++; }
d) p=1; i=0;
while(i<n) { i+=2;p*=i; }
e) nici
una
dintre
secvenele
anterioare
14. Precizai care dintre urmtoarele secvene de instruciuni atribuie variabilei ntregi x valoarea n2, cu n numr
natural.
a) x=1;
for(j=1;j<3;j++) x*=n;
b) x=1;
for(j=1;j<=n;j++) x*=2;
c) x=1; j=0;
while(j<2) x*=n;
d) x=1; j=0;
do{
x*=n;}while(j<2);
e) x=n*n;
15. Precizai care dintre urmtoarele secvene de instruciuni atribuie variabilei ntregi x valoarea 10n, cu n numr
natural.
a) x=10; for(j=1;j<=n;j++)x*=i;
b) x=1;
for(j=n;j>0;j--) x*=10;
c) x=1; j=1;
do{ x*=10;
}while(j<n);
d) x=1; j=0;
while(j<=n) {
x*=i;}
e) nici
una
dintre
variantele
anterioare
16 Deducei ce valoare se va afia n urma execuiei secvenei de program de mai jos, dac valorile variabilei x
citite de la tastatur sunt n ordine 3,2,4,3,5,10,20,0.
scanf("%d",&x);
nr=0;
do{
scanf("%d",&x);
if(x==2*y) nr++; }while(x!=0); printf("%d",nr);
a) 0 b) 1 c) 2 d) 3 e) 4
17. Care dintre urmtoarele secvene de nstruciuni atribuie variabilei ntregi u valoarea primei cifre a numrului
natural reprezentat de variabila x ?
a) u=x; while(u>=10) u=u%10;
b) while(x>=10) x=x/10; u=x;
c) u=x/10;
d) u=x%10;
e) nici
una
din
variantele anterioare
18. Care dintre urmtoarele secvene deinstruciuni atribuie variabilei ntregi u valoarea ultimei cifre a numrului
natural reprezentat devariabila x ?
a) while(x>=10) x=x/10; u=x;
b) u=x; while(u>=10) u=u%10;
c) u=x%10;
d) u=x/10;
e) toate variantele anterioare
19. Fie secvena de program urmtoare, ncare ok este o variabil de tipul int, iar x esteun numr natural.
ok=0;
for(j=2;j<x;j++)
if(x%j==0) ok=1; printf("%d",ok);
Secvena afieaz 1 dac:
a) numrul x are cel puin un divizor propriu

b)

numrul x nu are nici-un divizor propriu

c)

toate numerele naturale mai mici ca n, fr 0 i 1, sunt divizori proprii ai lui x