Zadanie: Jaki bedzie wynik wykonania kodu (wartosci wszystkich podanych
zmiennych)
int i=1,j=0; for (i=0;i>0;i++);
j++;
odpowiedz: i==0. j==1;
Zadanie: Jaki bedzie wynik wykonania kodu (wartosci wszystkich podanych
zmiennych)
int i=1,j=0; if (i=0) j++;
odpowiedz: i==0. j==0;
Zadanie: Jaki bedzie wynik wykonania kodu (wartosci wszystkich podanych
zmiennych)
int i=1,j=0; if (i==0) j++;
odpowiedz: i==1. j==0;
Zadanie: Jaki bedzie wynik wykonania kodu (wartosci wszystkich podanych
zmiennych)
int i=1,j=0; if (i==0); j++;
odpowiedz: i==1. j==1;
Zadanie: Ktore z podanych zmiennych sa globalne, ktore lokalne i jakie sa
ich wartosci poczatkowe?
int i,j;
int main() { int k; }
odpowiedz: i,j globalne, wartosc poczatkowa 0, k lokalne, wartosc nieznana
Zadanie: Napisz deklaracje zapowiadajaca ponizszej funckji:
int fun(int i)
{
int i; int j;
return i+fun(i);}
odpowiedz: int fun(int);
Zadanie: Jaki jest wynik wywolania x= fun(4)
int fun(int i)
{
int i; int j;
return i+fun(i);}
odpowiedz: Nie wiadomo (tzn, przepelni sie stos - brak warunku konca rekurencji
Zadanie: Jaki jest wynik wywolania x= fun(4)
int fun(int i)
{
int i; int j; if (i<=0) return 0;
return i+fun(i);}
odpowiedz: Nie wiadomo (tzn, przepelni sie stos - i nie jest zmniejszane)
Zadanie: Jaki jest wynik wywolania x= fun(4)
int fun(int i)
{
int i; int j; if (i<=0) return 0;
return i+fun(i--);}
odpowiedz: Nie wiadomo (tzn, przepelni sie stos - i jest zmniejszane w postinkrementacji)
Zadanie: Jaki jest wynik wywolania x= fun(4)
int fun(int i)
{
int i; int j; if (i<=0) return 0;
return i+fun(--i);}
odpowiedz: Nie wiadomo (tzn, przepelni sie stos - i jest zmienna lokalna o niewiadomej wartosci, a nie parametrem )
Zadanie: Jaki jest wynik wywolania x= fun(4)
int fun(int i)
{
int j; if (i<=0) return 0;
return i+fun(--i);}
odpowiedz: x = (4--)+fun(3); x= 3+(--3)+fun(2);x
=3+2+(--2)+fun(1);x=3+2+1+(--1)+fun(0);x=3+2+1+0+0; Czyli x = 6;
Zadanie: Jak sie nazywa technika uzyta w ponizszym kodzie? Mamy dwie takie techniki, jedna na "R" :) druga na "i"
int fun(int i)
{
int j; if (i<=0) return 0;
return i+fun(--i);}
odpowiedz: Rekurencja
Zadanie: Ile wynosi x? Wszystkie te zmienne to zmienne globalne;
int x; int *i; int **j; x=(int) &i; i=*j;
odpowiedz: Nie wiadomo (do wartosci x przypisywana jest wartosc adresu i);
Zadanie: Ile wynosi x? Wszystkie te zmienne to zmienne globalne;
int x; int *i; int **j; i= &x; j=&i; x=4; x= (**j)+1;
odpowiedz: 5 (**j to wartosc x, a ta wynosi 4)
Zadanie: W jaki sposob realizowany jest podzial na zmienne statyczne i automatyczne w assemblerze w architekturze x86?
odpowiedz: Statyczne: sa to adresy obszarow w sekcji data, rodata lub bss (po prostu stale zadeklarowane w jakiejs sekcji). Automatyczne: z wykorzystaniem stosu badz rejestrow.