hcg
1. Dwa sąsiadujące operatory o tym samym priorytecie wykonują się w kolejności: (str 50; I)
A. najpierw lewy a potem prawy
B. najpierw prawy a potem lewy
C. jeśli operatory mają wiązanie lewe, to najpierw lewy a potem prawy
D. o kolejności decyduje wiązanie operatorów
2. Następnikowe i poprzednikowe operatory inkrementacji (k++ oraz ++k) dają w wyniku: (str 55; I)
A. te same wartości o jeden większe od początkowego k
B. k++ wartość k przed inkrementacją, natomiast ++k wartość k po inkrementacji
C. k++ wartość k po inkrementacji, natomiast ++k wartość k przed inkrementacją
D. te same wartości równe początkowemu k
3. Wynikiem wyrażenia 5?2:3.4 jest: (str 59, 65 ; I)
A. 2 typu int
B. 3,4 typu double
C. 2,0 typu double
D. 5 typu int
4. Wyrażenie (fp=fopen(T,"r"))&&(fscan(fp, "%d", &n)==1);
A. zawsze otworzy plik T i wczyta z niego wartość całkowitą do zmiennej n
B. w sytuacji gdy plik nie zostanie otwarty, wykona nielegalną próbę odczytu z pliku
C. wczyta z pliku T wartość całkowitą do zmiennej n, tylko gdy uda się ten plik otworzyć
D. jest prawdziwe gdy funkcja fopen da w wyniku wartość równą fp i plik zawiera dane
5. Jeśli k jest typu całkowitego oraz n<8*sizeof(k) to wyrażanie k^=lu<<n
A. zaneguje n-ty bit w słowie k
B ustawi n-ty bit w słowie k
C. wyzeruje n-ty bit w słowie k
D. da w wyniku jeden gdy n-ty bit w słowie k jest jedynką
6. Wskaźnik A zdefiniowany jest double (*A)[4] wskazuje na obszar pamięci to może być używany tak jak: (str 93, I)
A. nazwa tablicy 4 wskaźników na zmienne typu double
B. nazwa tablicy o 4 elementach typu double
C. nazwa tablicy elementów typu double o 4 kolumnach i pewnej liczbie wierszy
D. nazwa tablicy elementów typu double o 4 wierszach i pewnej liczbie kolumn
7. Jeśli zdefiniowano double (A*)[4], B[50][4] oraz przypisano A=B to A+1 wskazuje na (str. 97; I)
A. element B[0][1]
B. element B[1][0]
C. następny bajt po tablicy B (po elemencie B[49][3])
D. wiersz z elementami od B[1][0] do B[1][3]
8. Stwierdzenie ze zapętlona instrukcja musi zostać wykonana co najmniej jeden raz dotyczy pętli:
A. for
B. while
C. do
D. while oraz do
9. Które stwierdzenia są prawdziwe?
A. komponentami unii mogą być zmienne strukturowe
B. komponentem struktury może być zmienna strukturowa innego typu
C. komponentami struktury mogą być zmienna oraz wskaźnik tego samego typu strukturowego
D. komponentami struktury mogą być wskaźniki tego samego typu strukturowego
10. Jeśli zdefiniowano double (*F)(double); oraz przypisano F=sin to suma F+1:
A. jest niepoprawna bo do wskaźnika F nie można dodać liczby całkowitej
B. wskazuje na następną funkcję czyli na funkcję cos
C. dalej wskazuje na funkcję sin bo dodawanie liczby całkowitej do wskaźnika F nie ma efektu
D. wskazuje na drugi bajt kodu funkcji sin
11. X do potęgi N (P=X^N)dla nieujemnego całkowitego N obliczy
instrukcje:
A. for(P=1; i=0; i<N; i++) P*=X;
B. for(P=i=0; i<N; i++) P*=X;
C. for (P=1; i=0; i<N; i++) P*=P;
D. for (P=1l i=0; i<=N; i++) P*=X;
12. Zaproszenie do wprowadzania danych (np. "Podaj N=" ) należy wyprowadzić:
A. do cout bo jest to obiekt wyjściowy związany z ekranem
B. do cout lub cerr - bez różnicy bo oba te obiekty są wyjściowe
C. do cerr aby zawsze pojawiało się na ekranie
D. do cin bo jest to obiekt przeznaczony do wprowadzania danych
13. Które stwierdzenia są prawdziwe?
A. aktywując destruktor na rzecz obiektu klasy usuwa się ten obiekt
B. w każdej klasie musi istnieć konstruktor kopiujący (zdefiniowany jako domyślny)
C. wywołanie funkcji konstruktora zawsze tworzy obiekt jego klasy
D. tworzeniu obiektu klasy nie zawsze towarzyszy wykonanie się funkcji konstruktora
14. Prywatne komponenty klasy KKK mogą być używane wewnątrz:
A. funkcji klasy KKK i funkcji innych klas
B. funkcji klasy KKK i funkcji klas pochodnych od klasy KKK
C. funkcji klasy KKK i funkcji zaprzyjaźnionych z klasą KKK
D. funkcji klasy KKK i funkcji main
Komponenty prywatne i zabezpieczone są dostępne jedynie w funkcjach swojej klasy oraz w funkcjach zaprzyjaźnionych z tą klasą (funkcjach nie należących do klasy, ale zadeklarowanych w tej klasie z atrybutem friend).
15. Referencyjnym wynikiem funkcji może być
A. lokalna zmienna statyczna
B. wynik dowolnego wyrażenia skalarnego
C. każda zmienna zdefiniowana w tej funkcji
D. referencyjny argument funkcji
16. Wyrażenia new double(n) oraz new double*[n] przydzielają pamięć kolejno na:
A. jedną zmienną typu double oraz n zmiennych typu double
B. jedną zmienną typu double o wartości n oraz n wskaźników na zmienne typu double
C. jedną zmienną typu double o wartości n, a drugie wyrażenie nie jest poprawne
D. n zmiennych typu double oraz jedną zmienną typu double pomnożoną przez n
17. Obiekt cout można sformatować do wyprowadzania liczb całkowitych w systemie szesnastkowym: (str 33-35 ; II)
A. instrukcją cout.setf(ios::hex);
B. instrukcją cout<<hex;
C. instrukcją cout.setf(ios::hex, ios::basefield);
D. instrukcja (cout<<hex).setf(ios::showbase);
18. Które pary funkcji są przeciążone?
A. double Max(double x,double y); oraz double max(double x, double y, double z);
B. double max(float x,double y); oraz float max(float x, double y);
C. double max(double x, double y); oraz double max(double x, double y, double z);
D. double max(float x, double y); oraz double max (double x, float y);
19. Konstruktor kopiujący aktywuje się gdy: (str 51)
A. argument funkcji jest przekazywany przez wartość
B. argument funkcji jest przekazywany przez referencję
C. definiowana zmienna obiektowa jest inicjowana obiektem swojej klasy
D. zwartość obiektu przypisujemy do zmiennej tej samej klasy
20. Definiując klasę należy podać definicję destruktora gdy:
A. zachodzi potrzeba wykonania określonych instrukcji przed usunięciem obiekty tej klasy
B. usuwa się obiekt tej klasy operatorem delete
C. definiowana klasa jest klasą pochodną
D. obiekty klasy tworzy się wywołując konstruktory
21. Konstruktor jednoargumentowy
A. definiuje konwersję z typu swojej klasy do typu swojego argumentu
B. może być konstruktorem kopiującym, jeśli jego argument jest referencją do swojej klasy
C. może być konstruktorem kopiującym, jeśli jego argument jest zmienną swojej klasy
D. definiuje konwersję z typu swojego argumentu do typu swojej klasy
22. zaprzyjaźnienie (np. funkcji z klasą) można definiować w:
A. tylko w sekcji publicznej
B. tylko w sekcji prywatnej
C. tylko w sekcji publicznej lub zabezpieczonej
D. w dowolnej sekcji
23. Operator przypisania należy zdefiniować w tworzonej klasie gdy:
A. obiekt klasy zawiera więcej niż jedną zmienną
B. kopiowaniu nie podlegają wszystkie zmienne zawarte w obiekcie klasy
C. nie wszystkie zmienne zawarte w obiekcie klasy są kopiowane w sposób standardowy
D. obiekt klasy zawiera zmienne obiektowe innych klas
24. Statyczne (static) zmienne klasy to zmienne:
A. których wartość nie może być zmieniona
B. wspólne wszystkim obiektom tej klasy
C. które nie są zawarte w obiekcie klasy
D. których nie można przekazywać do funkcji przez referencję
25. Które z funkcji klasy KK moga być aktywowane na rzecz obiektu ustalonego?
A. const KK funkcja (const KK&)const
B. const KK& funkcja(const KK&)
C. KK funkcja(KK&)const
D. KK& funkcja(const KK&)