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