PO.pdf
(
2175 KB
)
Pobierz
115439870 UNPDF
e-Katedra Systemw i Sieci Komputerowych
http://trinh.pl/xxx/
Programowanie obiektowe
Test 1 Remik miszcz
1
Dopasuj określenia
WyraŜenie zakończone średnikiem
Realizuje skok do instrukcji poprzedzonej wybraną etykietą
case
lub
default
zaleŜnie od wartości całkowitej
Pętla, która musi co najmniej jeden raz wykonać powtarzaną
instrukcję
ZaleŜnie od warunku wykonuje jedną z dwóch instrukcji
Średnik, którego nie poprzedza wyraŜenie
2
Zdefiniowano strukturę
Osoba
, zmienną
A
i wskaźnik
p
na tę zmienną:
struct Osoba {
. . . // tu jakieś dane
Data d;
// gdzie
struct Data { short d, m, r; };
Osoba *ojciec, *matka;
} A, *p=&A;
W zmiennej
A
zawarto Twoje dane osobowe. Które instrukcje wyznaczą poprawnie
rok urodzenia Twojego ojca?
Wybierz co najmniej jedną odpowiedź
a. R = A . ojciec . d . r
b. R = p > ojciec > d . r
Tak
c. R = p > ojciec > d > r
d. R = A . ojciec > d . r
Tak
3
Dopasuj, jakie wyraŜenia dają w wyniku opisane wartości, jeśli zdefiniowano:
double A[10][8], (*p)[4], B[]={2,3,5,7,9,4,1};
Rozmiar tablicy 4 zmiennych typu double.
Rozmiar tablicy w bajtach.
Rozmiar zmiennej wskaźnikowej
Liczba elementów tablicy.
Rozmiar 8 zmiennych typu double
4
Dopasuj słowa kluczowe i operatory do wyjaśnień.
Lewym argumentem tego operatora jest wskaźnik na zmienną
strukturową.
Umieszcza w pamięci wszystkie swoje zmienne jedna na drugiej w
tym samym obszarze pamięci.
Lewym argumentem tego operatora jest zmienna strukturowa.
Umieszcza w pamięci wszystkie swoje zmienne jedna po drugiej.
5
1 of 32
2009-06-18 20:47
e-Katedra Systemw i Sieci Komputerowych
http://trinh.pl/xxx/
Dopasuj nazwy strumieni i obiektów strumieniowych do opisów.
Strumień wejściowy skojarzony domyślnie z klawiaturą
Strumień wyjściowy skojarzony domyślnie z ekranem
Obiekt strumieniowy wprowadzający dane ze strumienia stdin
Strumień wyjściowy skojarzony na stałe z ekranem
Obiekt strumieniowy wyprowadzający dane do strumienia stderr
Obiekt strumieniowy wyprowadzający dane do strumienia stdout
6
Jeśli
P
i
S
są wskaźnikami, to kiedy relacja
P<S
ma sens i co daje w wyniku?
Wybierz co najmniej jedną odpowiedź
a. P i S muszą wskazywać na
dowolne obiekty tego samego typu
b. P<S, gdy P wskazuje na element o
mniejszym indeksie niŜ S
Tak chodzi o porównanie połoŜenia
wskazywanych elementów w tablicy.
c. P<S, gdy P wskazuje na zmienną
zajmującą mniej bajtów niŜ S
d. P<S, gdy P wskazuje na mniej
zmiennych niŜ S
e. P i S muszą wskazywać na
elementy tej samej tablicy
Tak
7
Jeśli
P
i
S
są wskaźnikami, to kiedy róŜnica
PS
ma sens i co daje w wyniku?
Wybierz co najmniej jedną odpowiedź
a. PS = ile bajtów dalej wskazuje P niŜ S
b. PS = wskazanie na obszar od P do S
c. P i S muszą wskazywać dowolne obiekty tego samego
typu
d. P i S muszą wskazywać elementy tej samej tablicy
Tak
e. PS = ile elementów dalej wskazuje P niŜ S
Tak wynik jest typu
int
8
Zdefiniowano wskaźnik uniwersalny
void *P;
Które operacje na wskaźniku
P
są dozwolone i
nie
wygenerują błędu kompilatora?
Wybierz co najmniej jedną odpowiedź
a. P ==NULL (przyrównanie do wskaźnika
zerowego)
Operacja dozwolona.
b. P+1 (dodanie liczby całkowitej)
c. (double*)P (rzutowanie na typ double*)
Jest to wskazanie zmiennej typu
double.
d. P[2] (indeksacja elementu tablicy)
e. *P (wyłuskanie wskazywanej zmiennej)
9
Otwarto plik tekstowy zawierający tylko poprawnie zapisane liczby rzeczywiste.
Jaki będzie efekt wykonania instrukcji
for(n=0; fscanf(fp, "%lf", &x)==1; n++);
2 of 32
2009-06-18 20:47
e-Katedra Systemw i Sieci Komputerowych
http://trinh.pl/xxx/
jeŜeli zmienne
n, fp, x
są kolejno typu int, FILE*, double?
Wybierz co najmniej jedną odpowiedź
a. Do zmiennej
x
zostanie wczytana
tylko pierwsza liczba
b. Wartość
n
mówi, ile liczb jest w pliku.
Tak, kaŜdy udany odczyt liczby
zwiększa wartość n o 1.
c. Plik ustawi się w pozycji końcowej.
Tak, czytany jest do końca
d. Wartość
n
mówi, ile razy w pliku
występuje liczba 1
10
Połącz instrukcje w języku C z interpretacją wyniku
S
.
S=0; for(i=0; i<n; i++) if(A[i]>0)
S+=A[i];
S=0; for(i=0; i<n; i++) S+=A[i];
S=A[0]; for(i=1; i<n; i++)
if(S<A[i])S=A[i];
S=A[0]; for(i=1; i<n; i++)
if(S>A[i])S=A[i];
11
Aby funkcja
qsort
mogła sortować teksty, naleŜy sortować tablicę wskaźników na
początkowe znaki tych tekstów. Argument
s
funkcji porównującej jest typu
const
void *s
i wskazuje na element sortowanej tablicy wskaźników. Jak naleŜy
zainicjować wskaźnik
ps
, aby wskazywał na początkowy znak rozwaŜanego
tekstu?
Wybierz odpowiedź
a. char *ps=*s;
b. char *ps=*(char**)s; Tak,
s
powinno być typu char**.
c. char *ps=**(char**)s;
d. char *ps=(char*)s;
12
Drugim argumentem funkcji
fopen
jest tekst, który określa tryb otwarcia pliku.
Dopasuj teksty do podanych warunków otwarcia.
Otwierany plik musi istnieć.
Otwierany plik jest kasowany, jeśli istnieje, a następnie jest kreowany
jako pusty.
Otwierany jest plik do dopisywania danych binarnych.
Otwierany jest plik do edycji (odczytu i zapisu) danych binarnych.
Otwierany plik jest przewijany na koniec (gdy istnieje) lub jest
kreowany.
13
Uniwersalny wskaźnik
p
zdefiniowany
const void *p;
przechowuje wskazanie zmiennej całkowitej typu
int
. Jak za pomocą tego
wskaźnika zainicjować definiowaną zmienną całkowitą?
Wybierz odpowiedź
a. int k = *(int*)p;
Dobrze
b. int k = (int)p;
3 of 32
2009-06-18 20:47
e-Katedra Systemw i Sieci Komputerowych
http://trinh.pl/xxx/
c. int k = *p;
d. int k = (int*)p;
14
Dopasuj definicje wskaźników do definicji tablic tak, aby arytmetyka na wskaźniku
była zgodna z arytmetyką na nazwie tablicy (aby wskaźnik wskazywał na taki sam
typ, na jaki wskazuje nazwa tablicy).
double **q;
double (*r)[8];
double (*s)[40];
double *p;
15
Dopasuj definicje parametru
k
funkcji
Fun
W instrukcji
Fun( n );
funkcja posługuje się zmienną
k
tak jak
nazwą tablicy
W instrukcji
Fun( n );
funkcja posługuje się zmienną
n
uŜywając
do niej nazwy
k
, ale nie wolno jej zmieniać wartości tej zmiennej
W instrukcji
Fun(n+5);
funkcja przypisuje własnej lokalnej
zmiennej
k
wartość
n+5
W instrukcji
Fun( n );
funkcja posługuje się zmienną
n
uŜywając
do niej nazwy
k
16
W programie zdefiniowano
int n;
i wczytano wartość do zmiennej
n
. Jak
poprawnie przydzielić programowi pamięć na tablicę zmiennych typu
double
ułoŜonych w
n
wierszach i 4 kolumnach?
Wybierz co najmniej jedną odpowiedź
a. double (*A)[4]; A=(double(*)[4])calloc(n, sizeof(*A));
Dobrze
b. double (*A)[4]; A=new double[n][4];
Dobrze
c. double *A; A=(double*)calloc(4*n, sizeof(*A));
d. double *A[4]; A=(double*)calloc(4*n, sizeof(*A));
17
Czym są nazwy A i B, jeŜeli zdefiniowano
double A[50], B[8][4];
Wybierz co najmniej jedną odpowiedź
a. A stała wskazująca na pierwszy
element tablicy A[0].
Tak, nazwa tablicy wskazuje jej
początkowy element.
b. B stała wskazująca na
pierwszy bajt tablicy B.
c. B stała wskazująca na zmienną
typu double B[0][0].
d. B stała wskazująca pierwszy
wiersz tablicy (4 zmienne)
Tak, elementami tej tablicy są wiersze B
wskazuje na 4 zmienne typu double
e. A stała wskazująca na pierwszy
bajt tablicy A.
18
Co obliczą następujące instrukcje?
S=A[0];
4 of 32
2009-06-18 20:47
e-Katedra Systemw i Sieci Komputerowych
http://trinh.pl/xxx/
for(i=1; i<n; i++)
if(S>A[i]) S=A[i];
S=0;
for(i=0; i<n; i++) S=x*S+A[i];
S=A[0];
for(i=1; i<n; i++)
if(S<A[i]) S=A[i];
S=0;
for(i=0; i<n; i++) S+=A[i];
19
JeŜeli zdefiniowano
double A[100], *p, B[20][4], (*s)[4];
i przypisano
p=A;
s=B;
to na co wskazują
p+1
oraz
s+1
?
Wybierz co najmniej jedną odpowiedź
a. s+1 wskazuje na B[0][1]
b. s+1 wskazuje 1 bajt dalej niŜ
s
c. p+1 wskazuje na A[1]
Tak, dodanie 1 przesuwa wskazanie do
następnego obiektu.
d. p+1 wskazuje 1 bajt dalej
niŜ p
e. s+1 wskazuje na wiersz
B[1][0], ..., B[1][3]
Tak, s wskazuje na początkowy wiersz, to s+1
wskazuje następny wiersz
20
UłóŜ elementy definicji funkcji w kolejności takiej, w jakiej występują one w tej
definicji.
Pozycja 1
Pozycja 2
Pozycja 4
Pozycja 3
21
Dopasuj wyraŜenia do określeń zakładając, Ŝe
x
,
y
są zmiennymi typu
double
.
Maksimum z {x, y}
Wartość bezwzględna z x
Minimum z {x, y}
Odległość (nieujemna róŜnica) między x a y
22
Dopasuj wyraŜenia do opisów warunków logicznych
0 < x < 80
x równe zeru lub równe 80
x róŜne od zera i róŜne od 80
x < 0 lub x > 80
5 of 32
2009-06-18 20:47
Plik z chomika:
EIT_PWR
Inne pliki z tego folderu:
obiektowka Zofia kruczkiewicz.rar
(5062 KB)
PO.pdf
(2175 KB)
7Wyjatki.pdf
(94 KB)
Diagramy UML.pdf
(454 KB)
Niezbędnik made by Siuda.doc
(115 KB)
Inne foldery tego chomika:
Algerba
Analiza matematyczna
Aspekty prawne
Dla wybranych
Eksploatacja systemów
Zgłoś jeśli
naruszono regulamin