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
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)
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___________________
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;
}