Skocz do zawartości
Cro

[c] Potrzebna Pomoc Z Pytaniami Egzaminacyjnymi ;)

Rekomendowane odpowiedzi

Witam,

Potrzebuję małej pomocy przy rozwiązaniu kilkudziesięciu zadań testowych na egzamin z programowania. Jest to część z puli pytań jakie mi się wylosują, bo zdaję via net. Problem jest taki, że na ćwiczeniach bierzemy javę a na wykładach pobieżnie i ogólnikowo C/C++. Niby nic trudnego, ale zwątpiłem jak zobaczyłem pytania :P

Gdyby ktoś miał chwilkę:

Pogrubione to pytania, które sam robiłem i wydaja mi się ok. W większości to pytania jednokrotnego wyboru, chyba, że treść sugeruje inaczej.

1

Punkty: 1

Przykładem wyrażenia jest napis:

Wymierz odpowiedź

 

a. if (x>y)

b. printf("foo")

c. a = b*c;

d. 1024

 

2

Punkty: 1

Pętla

for(int k=0; k

ulega zatrzymaniu:

Wymierz odpowiedź

 

a. przed iteracją, po zakończeniu której k wynosiłoby num-1

b. przed iteracją, po zakończeniu której k wynosiłoby num+1

c. po iteracji, po zakończeniu której k wynosi num

d. po iteracji, po zakończeniu której k wynosi num-1

 

3

Punkty: 1

Operator ! należy do grupy:

Wybierz co najmniej jedną odpowiedź

 

a. unary operators

b. bitwise operators

c. binary operators

 

4

Punkty: 1

Inicjalizacja zmiennej polega na nadaniu jej:

Wymierz odpowiedź

 

a. typu

b. zasięgu

c. wartości

d. nazwy

 

 

5

Punkty: 1

Operator [] należy do grupy:

Wymierz odpowiedź

 

a. ternary operators

b. binary operators

c. quaternary operators

d. unary operators

 

6

Punkty: 1

Zmienne X, Y i Z są liczbami typu double. Spośród poniższych wyrażeń wartość niezerową zwróci zawsze:

Wymierz odpowiedź

 

a. Y + Z + X == Z + Y + X

b. Z + Y + X == X + Y + Z

c. X + Y + Z == Z + X + Y

d. X + Z + Y == Y + Z + X

 

7

Punkty: 1

Które z poniższych wyrażeń jest L-wartością?

Wymierz odpowiedź

 

a. A

b. A+B

c. A||B

d. A*B

 

8

Punkty: 1

Wyczerpujące rozważenie rozłącznych wariantów wzajemnego położenia dwóch liczb na osi liczb rzeczywistych wymaga:

Wymierz odpowiedź

 

a. trzech słów if i dwóch else

b. dwóch słów if i trzech else

c. dwóch słów if i dwóch else

d. trzech słów if i trzech else

 

 

9

Punkty: 1

Wskaż błędy (jeden lub kilka), jakie popełniono w poniższym fragmencie kodu funkcji, której zadaniem jest skopiowanie bloku danych pomiędzy plikami (obsługę błędów pominięto dla przejrzystości):

void copyBlock(char* srcFilename, char* dstFilename, int blockSize)

{

FILE* file = fopen(srcFilename, "rb");

char* buffer = new char[blockSize];

fread(buffer, 1, blockSize, file);

file = fopen(dstFilename, "wb");

fwrite(buffer, 1, blockSize, file);

fclose(file);

delete[] buffer;

}

Wybierz co najmniej jedną odpowiedź

 

a. błąd składniowy

b. przeciek lub korupcja pamięci

c. użycie nieprawidłowego wskaźnika

d. nieprawidłowa praca z plikiem

e. porzucenie otwartego pliku

 

10

Punkty: 1

Wartość wpisana bezpośrednio do tekstu źródłowego programu jest:

Wymierz odpowiedź

 

a. liczbą

b. identyfikatorem

c. stałą

d. literałem

 

 

Wyrażenia logiczne:

 

!(i%2) && (i--)

 

oraz

 

!(!(i%2) || (i--))

 

są równoważne pod względem wyniku i zachodzących skutków ubocznych i mogą się wzajemnie zastępować.

Odpowiedź:

Prawda Fałsz

 

 

12

Punkty: 1

We współczesnych językach programowania wysokiego poziomu zbędna jest:

Wymierz odpowiedź

 

a. instrukcja wyboru

b. instrukcja iteracji

c. instrukcja złożona

d. instrukcja skoku

 

13

Punkty: 1

Który z poniższych literałów reprezentuje liczbę nieparzystą?

Wymierz odpowiedź

 

a. 0xDEC0

b. 0xF00D

c. 0xD1CE

d. 0xCODA

 

14

Punkty: 1

Czas życia obiektów deklarowanych jako zmienne jest wyznaczany przez:

Wymierz odpowiedź

 

a. wywołania funkcji

b. granice bloków

c. system operacyjny

d. instrukcje skoku

 

15

Punkty: 1

Wartość fałszu ma wyrażenie:

Wymierz odpowiedź

 

a. false()

b. 100 * 0.2

c. x & ~x

d. -1

 

 

16

Punkty: 1

Skutkiem ubocznym działania operatora () jest:

Wymierz odpowiedź

 

a. obliczenie wartości argumentów

b. wykonanie ciała funkcji

c. położenie argumentów na stosie

d. zwrócenie wartości funkcji

 

17

Punkty: 1

Liczba dziesiętna 537072256 jest zapisana w pamięci operacyjnej w standardzie little-endian. Kolejne bajty o rosnących adresach to (w zapisie szesnastkowym):

Wymierz odpowiedź

 

a. 08 21 30 02

b. 02 30 21 08

c. 20 03 12 80

d. 80 12 03 20

 

18

Punkty: 1

Wskaż błędy (jeden lub kilka), jakie popełniono w poniższym fragmencie kodu funkcji, której zadaniem jest wymnożenie wszystkich elementów tablicy poczynając od ostatniego:

double multiplyReverse(double* array, int elementsNum)

{

int product = 1;

for (int i=elementsNum-1; i>=0; i--)

product *= array;

return product;

}

Wybierz co najmniej jedną odpowiedź

 

a. błąd składniowy

b. przekroczenie zakresu tablicy

c. prowadzenie obliczeń z niedostateczną precyzją

d. użycie niezainicjowanej zmiennej

e. pominięcie elementu tablicy

 

 

19

Punkty: 1

Struktura różni się od tablicy tym, że może zawierać:

Wymierz odpowiedź

 

a. inne struktury

b. nie znaną z góry ilość elementów

c. zagnieżdżone tablice

d. elemety różnych typów

 

20

Punkty: 1

Napis

 

int (*sort)(int*, int) = 0;

 

jest przykładem:

Wymierz odpowiedź

 

a. instrukcji

b. wyrażenia

c. wartości

d. definicji

 

 

21

Punkty: 1

Zadeklarowano:

 

double factor = exp(2);

int sumDigits(int num);

int x = 3;

int y = sumDigits(11);

 

W której z poniższych instrukcji dojdzie do konwersji powodującej utratę precyzji danych liczbowych?

Wymierz odpowiedź

 

a. y = x / sumDigits(x);

b. factor *= x + y;

c. x = sumDigits(factor);

d. factor = x * 0.3;

 

 

22

Punkty: 1

Użycie wskaźnika jest jedyną metodą przekazania jako argumentu do funkcji:

Wymierz odpowiedź

 

a. pliku

b. stałej

c. struktury

d. tablicy

 

23

Punkty: 1

Liczba dziesiętna 4265237520 rezyduje w pamięci operacyjnej w postaci sekwencji bajtów (w kolejności rosnących adresów):

 

10 5C 3A FE

 

Jest to kolejność zapisu określana jako:

Wymierz odpowiedź

 

a. big-endian

b. little-endian

24

Punkty: 1

Które z poniższych wyrażeń nie ma semantycznego uzasadnienia?

Wymierz odpowiedź

 

a. A&&B

b. A>>B

c. A++B

d. A**B

 

25

Punkty: 1

Na etapie kompilacji kodu programu kompilator musi znać:

Wymierz odpowiedź

 

a. rozmiary tablic

b. adresy zmiennych

c. rozmiary typów

d. wartości zmiennych

 

 

26

Punkty: 1

Z punktu widzenia przebiegu pracy z plikiem dyskowym jego dobrą analogią może być:

Wymierz odpowiedź

 

a. taśma magnetofonowa

b. skoroszyt

c. plik kartek

d. tablica suchościeralna

 

27

Punkty: 1

Warunek logiczny "x jest równe 1 lub x należy do (1,2]" będzie miał postać:

Wymierz odpowiedź

 

a. 1 <= x && x <= 2

b. x == 1 || 1 < x <= 2

c. 1 <= x || x <= 2 ?

d. x == 1 && 1 < x <= 2

 

28

Punkty: 1

Instrukcje sterujące służą do:

Wymierz odpowiedź

 

a. rozgałęziania i zapętlania ścieżki wykonania programu

b. sterowania elementami hardware'u komputera

c. przerywania, wznawiania i zakończenia programu

d. sterowania pracą aplikacji

 

29

Punkty: 1

Obecność funkcji w kodzie programu pozwala na:

Wymierz odpowiedź

 

a. wielokrotne użycie tego samego kodu

b. przyspieszenie wykonania programu

c. zmniejszenie ilości zużywanej pamięci

d. rozgałęzienie ścieżki wykonania kodu

 

 

30

Punkty: 1

W języku C w wyrażeniu a + b*sin© o kolejności wykonania operatorów decyduje:

Wymierz odpowiedź

 

a. hierarchia priorytetów

b. obecność nawiasów

c. kolejność zapisu

d. wiązanie operatorów

Edytowane przez Cro

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Witam,

Potrzebuję małej pomocy przy rozwiązaniu kilkudziesięciu zadań testowych na egzamin z programowania. Jest to część z puli pytań jakie mi się wylosują, bo zdaję via net. Problem jest taki, że na ćwiczeniach bierzemy javę a na wykładach pobieżnie i ogólnikowo C/C++. Niby nic trudnego, ale zwątpiłem jak zobaczyłem pytania :P

Gdyby ktoś miał chwilkę:

Pogrubione to pytania, które sam robiłem i wydaja mi się ok. W większości to pytania jednokrotnego wyboru, chyba, że treść sugeruje inaczej.

CYTAT

1d. 1024

6Nie

10d literałem

12d skoku

15c x & ~x

19d

22a

27a -- poprawione

 

PS:Jeśli tak wygląda egzamin z programowania to radzę zmienić uczelnię.

Edytowane przez Haquim

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dzięki, ale odnośnie 27. b. x == 1 || 1 < x <= 2 takie coś a konkretnie 2 część (wartość < zmienna < wartość)jest w ogóle możliwa?

Edytowane przez Cro

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

1 < x <= 2 takie coś a konkretnie 2 część (wartość < zmienna < wartość)jest w ogóle możliwa?

Tak, to jest poprawny zapis w C/C++, ale dzialac nie bedzie zgodnie z intuicja, operator < i <= lacza w lewo i maja ten sam priorytet, wiec najpierw "obliczy" 1 < x, zwroci 1 (lub 0), pozniej 1<=2 (0<=2) Edytowane przez boo007

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...