Zaliczenie z podstaw programowania - Test 1, 1


1. Zadeklarowano zmienne: double *p, i = 235; double t[12];

a) podaj adres zmiennej i: &i

b) podaj adres zmiennej p: &p

c) przypisz zmiennej p adres zmiennej i: p = &i

d) przypisz zmiennej p adres tablicy t[]: p = t

e) przypisz zmiennej p adres 2 elementu tablicy t: p = &t[1]

2. Zdefiniowano funkcję:

float *fun (float, int*) {...}

a) zdefiniuj wskaźnik do tej funkcji: float *(*chuj)(float, int*)

b) wywołaj funkcję wykorzystując wskaźnik, dokonaj deklaracji niezbędnych do jej wywołania:

float *(*chuj)(float, int*);

chuj = fun;

int param = 666;

chuj(666.666, &param);

3. Zadeklaruj zmienną typu osoba i nadaj wartości polom: rok, imię_nazwisko, pensja:

struct data{int dzień, miesiąc, rok;};

struct dane{char imię_nazwisko[40]; struct data ur;};

struct osoba{struct dane pracownik; long pensja;};

struct osoba chuj;

strcopy(chuj.pracownik.imię_nazwisko, "Chuj ci w dupe");

chuj.pracownik.ur.dzień = 01;

chuj.pracownik.ur.miesiąc = 01;

chuj.pracownik.ur.rok = 1999;

chuj.pensja = 666666;

4. Podaj 3 sposoby przekazywania argumentów do funkcji:

przez wartość, wskaźnik i referencję.

5. Jeżeli argumentem funkcji jest tablica to w jaki sposób jest ona przekazywana do funkcji.

przekazywany jest adres pierwszego elementu.

6. Jakie funkcje nazywamy przeciążonymi.

o takiej samej nazwie i różnej ilości argumentów oraz ich różnicy ich typów.

7. Podczas deklaracji inicjalizowano tablicę. Zakreśl poprawne deklaracje:

1. int tab[][] = {0, 1, 10, 11, 20, 21, 30, 31};

spox 2. int tab[][2] = {1, 9};

spox 3. int tab[2][3] = {2, 1};

4. int tab[3][] = {0, 1, 10, 11, 20, 21};

spox 5. int tab[][2] = {0, 1, 10, 11, 20, 21};

8. Jakie wartości może przyjąć zmienna a, w zależności od wartości zmiennej b po wykonaniu instrukcji a=!(b);

a = 0 lub a = 1.

9. Podać deklarację zmiennej dla x, dla której poprawna jest instrukcja:

a = *x + 5;

int *x;

10. Ustal wartość zmiennej x i y dla których pętla się wukonuje?

while (!(x) || (y-5)) {...}

x = 0 lub y != 5.

11. Zdefiniowano typ:

struct data {

int miesiąc, dzień, rok;

};

Zadeklaruj wskaźnik do struktury data i napisz fragment programu który przypisze składowej miesiąc wartość 12.

data *chuj;

chuj = new data;

chuj->miesiąc = 12;

12. Opisz deklarację:

const char *const c;

stały wskaźnik do stałej zmiennej typu char. deklaracja nie jest poprawna. zminne typu const musza zostać zainicjowane przy deklaracji. prawidłowy fragment kodu powinien wyglądać tak:

const char chuj= "c";

const char *const c = &chuj;

Które z poniższych instrukcji dla tej deklaracji nie są poprawne:

a) c++; b) int d = *c++; d) c = c + 1; d) *c = 10;

wszystkie. nie można zmieniać wzkaźnika typu const, co jest robione w a, b i c oraz zmieniać wartości wskazywanej zmiennej typu const jak w przykładzie d (przynajmniej w tym przypadku).

13. Wyjaśnij zapis: *wsk++ przy deklaracji char * wsk;

wskazanie na następny bajt w pamięci (następną literę w stringu).

14. Zdefiniuj funkcję która będzie przechowywać ilość swoich wywołań

void chuj() {

static int dupa = 1;

dupa++;

};

15. Opisz deklaracje:

char (*chuj)[12] wskaznik do tablicy 12 elementów typu char

char *chuj[12] tablica 12 wskaznikow do elementów typu char

char (*chuj[5])() tablica 5 wskazników do funkcji zwracającej char

char *chuj() funkcja zwracająca wskaźnik do char

char (*chuj)() wskaźnik do funkcji zwracającej char

char (*chuj)[5] wskaźnik do tablicy 5 elementów typu char

16. Jaki jest błąd w definicji funkcji f().

int *f(float a, float b) {

int iloraz;

iloraz = a / b;

return &iloraz;

};

nie można zwracać adresu zmiennej lokalnej, niszczonej po wyjściu z funkcji.

17. Czy poniższy fragment programu spowoduje wydruk teksty "warunek spełniony". Uzasadnij odpowiedź.

int z = -1, d = 0;

if (z < 0 || z++ || ++d) printf("\nwarunek spełniony");

prawdziwe są warunki z < 0 (-1 < 0) i ++d (1), co wystarczy do wykonania instrukcji printf.

Jakie są wartości zmiennych: z = 0 d = 1.

18. Napisz fragment programu, który wykorzysta funkcję o prototypie:

void strcpy(char *dest, const char *src); - funkcja kopiuje z src do dest kolejne znaki wraz ze znakiem '\0'.

char dest[20];

char src[] = "Chuj ci w dupę";

strcpy (dest, src);



Wyszukiwarka

Podobne podstrony:
Zaliczenie z podstaw programowania - Test 2, 1
zasady zaliczeń PP IG, Politechnika Białostocka, ZiIP (PB), Semestr 1, Podstawy programowania, Progr
TEST KOLOWIUM ZALICZENIE PODSTAWY ZARZĄDZANIA WSZIB KRAKÓW(1)
TEST KOLOWIUM ZALICZENIE PODSTAWY ZARZĄDZANIA WSZIB KRAKÓW Gr 3
zasady zaliczeń PP IG, Politechnika Białostocka, ZiIP (PB), Semestr 1, Podstawy programowania, Progr
Nowa podstawa programowa WF (1)
Podstawy Oceanotechniki Test 03
1 Podstawy programowania dialogowego
nowa podstawa programowa sp
11-nkb~1, wisisz, wydzial informatyki, studia zaoczne inzynierskie, podstawy programowania, l2
2-eukl~1, wisisz, wydzial informatyki, studia zaoczne inzynierskie, podstawy programowania, l2
Zmiany w podstawie programowej w zakresie edukcji matematycznej, Wczesna edukacja, Materiały do prac
1-algo~1, wisisz, wydzial informatyki, studia zaoczne inzynierskie, podstawy programowania, l2
c-zadania-w3, wisisz, wydzial informatyki, studia zaoczne inzynierskie, podstawy programowania, kol
Wychowanie w nowej podstawie programowej katechezy, szkoła, Rady Pedagogiczne, wychowanie, profilakt
PP temat6, Podstawy programowania

więcej podobnych podstron