Teste de informatică pentru liceu, articole C#, C/C++, PHP
Alegeţi varianta unică de răspuns corectă:
1. Fie declaraţiile: int a[10],*p; Care din următoarele expresii nu este echivalentă cu celelalte trei:
a) p=&a[0]; b) p=&a; c) p=*a; d) p=a;
2. Ce afişează secvenţa următoare:
int a[100],*p,*q;
p=a+4; q=a+40;
cout<<(q – p);
a) 70 b) 36 c) 35 d) 72 e) secvenţa conţine erori
3. Ce afişează secvenţa:
int a[10],*p,*q=a+10;
for ( p=a; p<q; p++) *p=(q – p);
cout<<a[1];
a) 9 b) 1 c) 10 d) 0 e) secvenţa conţine erori
4. Pentru declaraţia: int *p; care din următoarele instrucţiuni afişează corect conţinutul de la adresa indicată de p:
a) cin>>*p; b) cin>>&p; c) cout<<*p; d) cout<<&(*p) ;
5. Ce valori afişează secvenţa:
int a=3,*adr=&a;
++ (*adr);
cout<<*adr<< “ ”<<a;
a) 3 3 b) 4 4 c) 3 4 d) 4 3 e) secvenţa conţine erori
6. Ce afişează secvenţa:
int a[10],*p, i;
*p=a;
for (i=0;i<10;i++) { *p=i; p++; }
cout<<*(a+3);
a) 3 b) 4 c) 5 d) 55 e) secvenţa conţine erori
7. Fie declaraţiile de variabile:
int a[10], i=1, *p, **q;
Care din următoarele atribuiri este eronată:
a) *q=p;
b) q=&p;
c) i=*(a + i);
d) *q=*a;
8. Ce afişează secvenţa următoare:
int a=10,b=20,&x=a,&y=b;
x=30;
x ++;
y ++;
cout<<a<<“ ”<<b;
a) 31 21 b) 30 20 c) 31 20 d) 30 21 e) secvenţa conţine erori
Notă: Se acordă 2 puncte din oficiu. Fiecare item se punctează cu 1 punct.
Dan Pracsiu deţinător www.dponline.ro
Profesor, Liceul Teoretic "Emil Racoviță" Vaslui
Membru în Comisia Naţională a Olimpiadelor de Informatică
Pasiuni: istoria, călătoriile, fotografia, muzica clasică