background image

1.Jaka (w C++) jest wartość wyrażenia 7/9*9 
a) 1 
b) 0.08642 
c) 0 
d) 7 
 
2. Które deklaracje funkcji main() są poprawne ? 
a) int main() 
b) int main(int argc, char* argv[]) 
c) obie są poprawne 
d) obie są niepoprawne 
 
3. Które polecenie jest poprawne w C++ ? 
a) char* a = new char[20]; 
b) char a = new char[20]; 
c) char a = new char(20.0); 
d) żadne z powyższych 
 
4. Jaki jest wynik (w C++) wyrażenia 22%6 
a) 2 
b) 3 
c) 0 
d) żaden z powyższych 
 
5. Co wypisze polecenie std::cout<<(0==0) 
a) 0 
b) 1 
c) 2 
d) Compiler error: Lvalue required 
 
6. Jaki jest poprawny składnia oznaczająca w C++ dziedziczenie 
a) class klasadziedziczaca : public klasabazowa 
b) class klasadziedziczaca extends klasabazowa 
c) class klasadziedziczaca inherit klasa bazowa 
d) class klasadziedziczaca :: public klasa bazowa 
 
7. W C++ instrukcja for(;;); 
a) jest niepoprawna 
b) powoduje nieskończoną pętle 
c) jest poprawna, ale ignorowana przez kompilator 
d) powoduje jednokrotne wykonanie pustej instrukcji 
 
8. Jaka jest ostatnia poprawna pozycja (indeks) dla tablicy 100 
znaków 
a) 99 
b) 100 
c) 101 
d) żadna z powyższych 
 
9.Ile razy wykona się następująca pętla 
for(int i=0;i=3;++i) 
a) zero razy 
b) trzy razy 
c) cztery razy 
d) nieskończoną ilość razy 
 

background image

10.Który termin pasuje do podanego opisu: 'obiekt nie może 
zmieniać stanu wewnętrznego innych obiektów w 
nieoczekiwany sposób, tylko wewnętrzne metody są 
uprawnione do zmiany jego stanu

a) Abstrakcja 
b) Dziedziczenie 
c) Enkapsulacja 
d) Polimorfizm 
 
11. Która z nazw nie jest poprawnym identyfikatorem w C++ 
(tzn. że np. nie można zadeklarować zmiennej o takiej nazwie) 
a) var0 
b) _class 
c) $x 

d)  duza_liczba 

WSZYSTKIE SĄ OK BO STANDARD SIĘ ZMIENIŁ :P 
 
12. Dla wskaźnika zadeklarowanego następująco: 
int const *x
a) nie można modyfikować wskaźnika 
b) nie można modyfikować wskazywanej wartości 
c) nie można modyfikować ani wskaźnika ani wartości przez 
niego wskazywanej 
d) można modyfikować zarówno wskaźnik jak i wskazywaną 
przez niego wartość 
 
13. Co oznacza następująca deklaracja double (*p)[10] 
a) tablicę wskaźników do zmiennych typu double 
b) wskaźnik do tablicy zmiennych typu double 
c) tablicę wskaźników do tablicy zmiennych typu double 
d) żadne z powyższych 
 
14.Dana jest następująca deklaracja funkcji: 
double funkcja(int a, double b); 
napisać jak będzie wyglądała deklaracja wskaźnika do tej 
funkcji. Deklarowany wskaźnik powinien mieć nazwę 'p' 
 double (*p)(int a, double b) 
 
15.Które z twierdzeń dotyczących konstruktorów w C++ nie jest 
poprawne: 
a) służą do inicjalizacji tworzonego obiektu klasy 
b) nic nie zwracają (nawet void) 
c) nie mogą być przeciążone 
d) nazywają się dokładnie tak jak klasa w której są 
zadeklarowane 
 
16.Argument wzorca klasy w C++ nie może być: 
a) typem 
b) adresem obiektu 
c) adresem funkcji łączonej zewnętrznie 
d) 

wyrażeniem zmiennym (nie stałym) 

 
 
 
 
 

background image

17.(2 pkt.) Przy deklaracjach i podstawieniach: 
int *a, *b, i=4, k=1; 
a= &i; 
b=a; 
*a*= *b; 
uzupełnij jaka jest wartość zmiennej 'i' 
i = _____16__________________ 
 
 
18.(3 pkt.) 

Jakie będą wartości zmiennych x[0], x[1] w wyniku 

następującego wywołania funkcji: 
long x[2]; 
x[0]=3; x[1]=4; 
f(x, x+1); 
zdefiniowanej: 
void f( long *a , long *b ) { 
++a; 
++*a; 

x[0] = __3_____________________ 
x[1] = _____5__________________ 
 
 
19.(3 pkt.) 

Uzupełnij jakie będą wartości zmiennych i,j w 

wyniku następującego wywołania funkcji: 
long i=1,j=4; 
j= 2*f(&i, (int)j); 
zdefiniowanej: 
long f( long *a , int j ) { 
j= 2*j; 
*a=j+1; 
return j; 

i = ___9____________________ 
j = ____16___________________ 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

background image

20. (4 pkt.) Dana jest lista o elementach typu: 
struct element { 
int x,y,wiek; 
struct element *nastepny; 

Napisz funkcję zwracającą maksymalną wartość pola wiek ze 
wszystkich elementów listy. (lista identyfikowana jest przez 
wskaźnik p do pierwszego elementu). 

 
Int max (elem *p){ 
 

//zapamietaj wartość zmiennej wiek pierwszego elementu listy 

 

int tmp = p->wiek; 

 
 

//przejdz przez wszystkie elementy listy 

 

while(p = p->nastepny){ 

 

 

//porównaj wartości jak większa wartość to przypisz do tmp 

 

 

if(p->wiek > tmp) 

 

 

 

tmp = p->wiek; 

 

 

 

return tmp;