2005
♣ Pewien student umieścił w swoim programie poniższy fragment kodu. Jakie mogą być _______________________________________________________ ____________
XI-29
potencjalne skutki wykonania tego programu? (scanf() wczytuje ciąg znaków ze standardowego Imię i Nazwisko
Nr albumu
INF1
/46
Założenia wstępne { składnia: C++; środowisko docelowe: 32-bitowe }
wejścia).
♣
char t[10];
Jaka będzie wartość sizeof(t), gdy char t[] = {‘N’, ‘a’, ‘p’, ‘i’, ‘s’}; ? Odp.: _______________
♣
scanf("%s", t);
Jakie są jest wartości tych zmiennych?
int a = 0123;
a ==
♣ Projekt zawiera pliki x.cpp oraz y.cpp. Chcemy umieścić w obu tych plikach zmienne int a; w int b = 1, 2, 3;
b ==
taki sposób, aby program prawidłowo się kompilował oraz aby mogły być one używane static int c = 123;
c ==
niezależnie (tzn. modyfikacja zmiennej a w pliku x.cpp nie może wpłynąć na wartość zmiennej a
♣
znajdującej się w pliku y.cpp)
char t[] = {"abcdef”}; char *x = t; x++; Jaką wartość ma x[1] ? Odp.: ________
♣
x.cpp
y.cpp
Do pustego stosu dodano elementy „A”, „B”, „C”. Naszkicuj, jak wygląda stos oraz na co wskazuje wierzchołek stosu (zmienna top). Rysunek może być „poziomy” ☺
♣ Jaką rolę pełni preprocesor w środowisku C/C++?
♣
Niech char s[10]; Czy można wykonać s++? [ Tak / Nie ] A s+=1; [ Tak / Nie ]
♣
♣
Jakich potencjalnych problemów można się spodziewać w poniższym przypadku: Na czym polega normalizacja liczby zmiennoprzecinkowej (a właściwie jakie może mieć char s[5]; sprintf(s, "Ala ma kota");
negatywne skutki uboczne – przykład z epsilon+1>1)?
Odp.: _________________________________________________________________________
♣
Dana jest struktura x. Jakie wartości może mieć sizeof(x)? _______Wyjaśnij, od czego to zależy.
♣ Naszkicuj listę: lista1423NULL przed oraz po usunięciu elementu ‘1’.
struct x {
Odp.:
short s; char c; int i;
};
♣
♣ void f(int &x) { x++; } int y = 5; f(y); Ile wynosi y? Odp.:________
Które wiersze nie powinny znaleźć się w pliku naglowek.h?
1.
unsigned short int x;
2.
♣
extern int p;
Liczbę 0700 zapisz w systemie dwójkowym. Odp.: ______________
3.
♣
void f() {}
Wskaźnik funkcyjny f zdefiniowano następująco: double (*f)(double); Podaj przykład nagłówka 4. #define n 1000
funkcji, której wskaźnik może być podstawiony pod zmienną f.
♣
Podaj przykład przeciążenia funkcji double f(double x);
♣ Podaj przykład rzutowania typów w języku C.
♣
Kedy stosujemy tablicę wskaźników funkcyjnych? (przykładowo; bez kodów źródłowych)
♣ Podaj przykład struktury mogącej być elementem listy jednokierunkowej przechowującej liczby
♣
zmiennoprzecinkowe.
Popraw poniższy kod w taki sposób, aby poprawnie wyświetlona została wartość zmiennej i: int i = 12345; printf("%g", i);
struct LIST {
Po poprawce: _______________________________________________________________
♣
};
Jakie wartości zostaną wyświetlone? (cout << d; wyświetla wartość d na standardowym wyjściu) double d = 0.0;
♣ Przekształć nieokreślony wskaźnik void * v; tak, aby stał się wskaźnikiem na liczby double: for(; d<3.0;d+=1.0) cout << d; Odp.: _____________________________________________
double *d = _________________________
2005
♣ Pewien student umieścił w swoim programie poniższy fragment kodu. Jakie mogą być _______________________________________________________ ____________
XI-29
potencjalne skutki wykonania tego programu? (scanf() wczytuje ciąg znaków ze standardowego Imię i Nazwisko
Nr albumu
INF1
/46
Założenia wstępne [ składnia: C++; środowisko docelowe: 32-bitowe ]
wejścia).
♣
char t[10];
Jaka będzie wartość sizeof(t), gdy char t[] = {"Napis"}; ? Odp.: _______________
♣
scanf("%s", t);
Jakie są jest wartości tych zmiennych?
int a = 0x123;
a ==
♣ Ile bajtów zajmuje zmienna typu char? Odp.: _______
int b = 123;
b ==
♣ Plik nagłówkowy "naglowek.h" jest dołączany w plikach "a.cpp" oraz "b.cpp" będących static int c = 123;
c ==
składnikami pewnego projektu. W pliku "naglowek.h" umieść deklarację zmiennej x będącej
♣ char t[] = {"qwerty”}; char *x =t+6; x- ; Jaką wartość ma x[0] ? Odp.: ________
liczbą typu double tak, aby była widoczna w obu plikach CPP.
♣ Do pustej listy uporządkowanej dodano elementy „Q”, „W”, „E”. Naszkicuj, jak wygląda lista oraz naglowek.h
na co wskazuje początek listy (zmienna start).
♣ Jaką rolę pełni linker w środowisku C/C++?
♣ Niech int v[] = {1,2,3}; Czy można wykonać v++? [ Tak / Nie ] A int x = *(s+1); [ Tak / Nie ]
♣
Jakich potencjalnych problemów można się spodziewać w poniższym przypadku: char s[5]; s[5]=’X’;
Odp.: _________________________________________________________________________
♣
♣
Dana jest struktura x. Jakie wartości może mieć sizeof(x)? _______Wyjaśnij, od czego to Na czym polega normalizacja liczby zmiennoprzecinkowej? (a właściwie jakie może mieć zależy.
negatywne skutki uboczne – przykład z epsilon+1>1)
struct x {
Odp.:
char c; int i; char c2;
};
♣
Które wiersze mogą znaleźć się w pliku naglowek.h? Zaznacz właściwe odpowiedzi.
1.
♣ Naszkicuj listę: lista1423NULL przed oraz po usunięciu elementu ‘2’.
const int c = 7;
2.
char t[10];
3.
void f();
4.
#pragma once
♣
♣ void f(int *x) { ++(*x); } int y = 0; f(&y); Ile wynosi y? Odp.:________
Co to jest przeciążanie funkcji w języku C?
♣ Liczbę 0x23F zapisz w systemie dwójkowym. Odp.: _________________________________
♣
♣
Kiedy stosujemy wskaźnik funkcyjny? (przykład; bez kodów źródłowych) Dane są zmienne int a oraz int b. Zapisz fragment kodu, który zamieni je miejscami (tzn. w a znajdzie się wartość z b, a w b znajdzie się dotychczasowa wartość z a).
♣
♣
Popraw poniższy kod w taki sposób, aby poprawnie wyświetlona została wartość zmiennej i: Podaj przykład struktury mogącej być elementem stosu przechowującego liczby całkowite.
double x = 12345; printf("%d", x);
struct STACK {
Po poprawce: _______________________________________________________________
♣
Jakie wartości zostaną wyświetlone? (cout << i; wyświetla wartość i na standardowym wyjściu)
};
for(int i=10; i>=5; i- ) cout << i; Odp.: _____________________________________________
♣ Przekształć nieokreślony wskaźnik void * v; tak, aby stał się wskaźnikiem na liczby int: int *p = _________________________