Wstęp do programowania Flashcards

1
Q

Wstęp do programowania

Jakie są wbudowane typy danych w C/C++ i czym się różnią?

P235

A

Dla C:
* int
* char
* float
* double
* void

Dla C++ również:
* bool
* wchar_t (przechowywanie znaków większych niż ASCII)
* short
* long
* long long
* long double

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Wstęp do programowania

Jakie instrukcje pętli są zdefiniowane w języku C/C++ i czym się różnią?

P236

A

Pętla for - gdy znana jest liczba iteracji
Pętla while - dopóki spełniony jest warunek to pętla wykonuje działania
Pętla do … while - wykonuje przynajmniej jedną iterację i dopiero weryfikuje warunek

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Wstęp do programowania

Jaka jest różnica między zmienną globalną, zmienną lokalną a zmienną lokalną statyczną w C/C++?

P237

A

Zmienna globalna - definiowana poza funkcjami, dostępna w każdej funkcji w pliku (jeśli będzie extern to również w innych plikach źródłowych); aktywna przez cały czas działania programu; domyślnie inicjalizowana zerem

Zmienna lokalna - definiowana w obrębie funkcji; używana w obrębie bloku kodu, aktywna tylko w trakcie wykonywania danego bloku kodu; musi być zainicjowana przez programistę

Zmienna lokalna statyczna - ograniczona do bloku kodu, ale żywotność jak cały program - wartość jest przechowywana między wywołaniami funkcji; domyślnie inicjowana zerem

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Wstęp do programowania

Jakie są metody przekazywania argumentów do funkcji w C/C++ i jakie są między nimi różnice?

P238

A

Przekazywanie przez wartość - argument kopiowany do zmiennej lokalnej (zmiany nie wpływają na oryginał); domyślna metoda przekazywania argumentów

Przekazywanie przez referencję - referencje do oryginalnej zmiennej, co umożliwia jej edycję

Przekazywanie przez wskaźnik - wskaźnik do oryginalnej zmiennej, co umożliwia pośredni dostęp do wartości i adresu zmiennej. Większa kontrola nad pamięcią;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Wstęp do programowania

Wyjaśnij, co to jest wywołanie funkcji rekurencyjnej w C/C++ i jakie są korzyści i koszty na przykładzie.

P239

A

Rekurencja to technika programowania, w której funkcja wywołuje samą siebie. Funkcja rekurencyjna musi zawierać warunek brzegowy, który powoduje zakończenie rekursji.
Korzyści:
* Zwięzłość kodu
* Naturalność rozwiązań dla pewnych problemów (np. liczenie silnii)

Koszty:
* Złożoność pamięciowa - każde wywołanie to nowa ramka stosu
* Złożoność czasu - powtarzanie cały czas tych samych instrukcji

How well did you know this?
1
Not at all
2
3
4
5
Perfectly