Przejdź do treści głównej
INF.04Pytanie #272 z 856struktury-danych-liniowe

Stosując jeden z dwóch przedstawionych zapisów inkrementacji w językach rodziny C lub Java, można stwierdzić, że

Opcje odpowiedzi:
A
wartość zmiennej b będzie wyższa po wykonaniu zapisu drugiego w porównaniu z pierwszym
Prawidłowa
B
zapis drugi jest niezgodny ze składnią, co spowoduje błędy kompilacji
C
niezależnie od zapisu, w zmiennej b zawsze będzie ten sam wynik
D
jedynie stosując zapis pierwszy, zmienna a zostanie zwiększona o 1
Reklama

Wyjaśnienie i uzasadnienie dydaktyczne

Poprawna odpowiedź: A

Uzasadnienie i szersze wyjaśnienie:

Przedstawione zapisy demonstrują różnicę między post-inkrementacją a pre-inkrementacją, która ma kluczowe znaczenie w operacji przypisania.

  • Zapis pierwszy: b = a++; (post-inkrementacja)

    1. Najpierw do zmiennej b przypisywana jest aktualna, niezmieniona wartość zmiennej a.
    2. Dopiero po tej operacji wartość zmiennej a jest zwiększana o 1.
  • Zapis drugi: b = ++a; (pre-inkrementacja)

    1. Najpierw wartość zmiennej a jest zwiększana o 1.
    2. Następnie nowa, już zwiększona wartość a jest przypisywana do zmiennej b.

Przykład: Zakładając, że a ma początkową wartość 5:

  • Po wykonaniu b = a++;, zmienna b będzie miała wartość 5, a a zmieni się na 6.
  • Po wykonaniu b = ++a;, zmienna a najpierw zmieni się na 6, a następnie ta wartość zostanie przypisana do b. Obie zmienne będą miały wartość 6.

Zatem wartość zmiennej b po wykonaniu zapisu drugiego będzie o 1 wyższa niż po wykonaniu zapisu pierwszego.

Dlaczego pozostałe odpowiedzi są nieprawidłowe?

  • B: Oba zapisy są w pełni poprawne składniowo.
  • C: Jak pokazano w przykładzie, wyniki dla zmiennej b są różne.
  • D: W obu przypadkach zmienna a jest ostatecznie zwiększana o 1.

Chcesz poćwiczyć całą kwalifikację INF.04?

Egzamin próbny na czas, nauka działami, losowe pytanie albo przegląd całej bazy — wszystko w przeglądarce i bez zakładania konta.

Rozwiąż w Quizie

Pojęcia z tego pytania

Cały słownik INF04
Reklama

Podobne pytania z działu „Struktury danych liniowe”

Ten sam obszar materiału z kwalifikacji INF.04. W całej bazie znajdziesz 15 pytań z tego działu.