Pytania z moodle

Drugim argumentem funkcji fopen jest tekst, który określa tryb otwarcia pliku. Dopasuj teksty do podanych warunków otwarcia.

  • Otwierany jest plik do dopisywania danych binarnych.
  • Otwierany plik jest kasowany, jeśli istnieje, a następnie jest kreowany jako pusty.
  • Otwierany jest plik do edycji (odczytu i zapisu) danych binarnych.
  • Otwierany plik musi istnieć.
  • Otwierany plik jest przewijany na koniec (gdy istnieje) lub jest kreowany.

Który ciąg instrukcji nada zmiennej n wartość równą ilości liczb w pliku binarnym skojarzonym ze strumieniem fp?
Wymierz odpowiedź

  • fseek(fp, 0, 2); n=ftell(fp)/sizeof(double);
  • for(n=0; fscanf(fp, ”%lf”, &x)==1; n++);
  • fseek(fp, 0, 2); n=ftell(fp);
  • n=fseek(fp, 0, 2) - fseek(fp, 0, 0);

Zakładając, że zmienna K jest całkowita i nieujemna, dopasuj wyrażenia do określeń

  • Słowo mające trzy ustawione bity na pozycjach 3, 4 i 5.
  • Wartość K z wyzerowanymi trzema najmłodszymi bitami
  • Wartość K/8 (8 = 2 do potęgi 3)
  • Wartość 8*K (8 = 2 do potęgi 3)

Otwarto plik tekstowy zawierający tylko poprawnie zapisane liczby rzeczywiste. Jaki będzie efekt wykonania instrukcji

for(n=0; fscanf(fp, "%lf", &x)==1; n++);

jeżeli zmienne n, fp, x są kolejno typu int, FILE*, double?
Wybierz co najmniej jedną odpowiedź

  • Wartość n mówi, ile razy w pliku występuje liczba 1
  • Do zmiennej x zostanie wczytana tylko pierwsza liczba
  • Wartość n mówi, ile liczb jest w pliku.
  • Plik ustawi się w pozycji końcowej.

double Funkcja(int n) {
Jaką instrukcję może tu zawierać poprawna funkcja rekurencyjna (jeżeli jest to jedyna brakująca instrukcja)?
return S;
}
Wybierz co najmniej jedną odpowiedź

  • if(n>1) S = n*Funkcja(n-1); else S=1;
  • S = n*Funkcja(n-1);
  • S = n>1 ? n*Funkcja(n-1) : 1;
  • for(S=1; n>1; n—) S*=n;

W programie Prog zdefiniowano int main(int argc, char *argv[])
Linia wywołania programu ma postać: … \Prog.exe 12 dane wyniki
Jaką wartość otrzyma zmienna argc i zmienna argv[1]?
Wymierz odpowiedź

  • argc=4, argv[1] wskazuje na tekst "dane"
  • argc=4, argv[1] wskazuje na tekst "12"
  • argc=3, argv[1] wskazuje na tekst "12"
  • argc=12, argv[1] wskazuje na tekst "dane"

Dopasuj nazwy strumieni i obiektów strumieniowych do opisów.

  • Strumień wyjściowy skojarzony na stałe z ekranem stderr
  • Obiekt strumieniowy wprowadzający dane ze strumienia stdin cin
  • Obiekt strumieniowy wyprowadzający dane do strumienia stdout cout
  • Strumień wyjściowy skojarzony domyślnie z ekranem stdout
  • Strumień wejściowy skojarzony domyślnie z klawiaturą stdin
  • Obiekt strumieniowy wyprowadzający dane do strumienia stderr cerr

W wyliczeniu
enum Figura { Kolo, Trojkat=3, Kwadrat, Czworokat };
zdefiniowano wartości Kolo, Trojkat, Kwadrat i Czworokat.

Jakie to są wartości?
Wymierz odpowiedź

  • Kolo = 0, Trojkat = 3, Kwadrat = 4, Czworokat = 5
  • Kolo = 0, Trojkat = 3, Kwadrat = 1, Czworokat = 2
  • Kolo = 1, Trojkat = 3, Kwadrat = 4, Czworokat = 5
  • Kolo = 0, Trojkat = 3, Kwadrat = 2, Czworokat = 3

Dopasuj określenia

  • Średnik, którego nie poprzedza wyrażenie instrukcja pusta
  • Wyrażenie zakończone średnikiem instrukcja
  • Pętla, która musi co najmniej jeden raz wykonać powtarzaną instrukcję do…while
  • Realizuje skok do instrukcji poprzedzonej wybraną etykietą case lub default zależnie od wartości całkowitej switch
  • Zależnie od warunku wykonuje jedną z dwóch instrukcji if…else

Dopasuj, jakie wyrażenia dają w wyniku opisane wartości, jeśli zdefiniowano:
double A[10][8], (*p)[4], B[]={2,3,5,7,9,4,1};

  • Liczba elementów tablicy.
  • Rozmiar tablicy 4 zmiennych typu double.
  • Rozmiar tablicy w bajtach.
  • Rozmiar 8 zmiennych typu double
  • Rozmiar zmiennej wskaźnikowej

Dopasuj definicje parametru k funkcji Fun

  • W instrukcji Fun( n ); funkcja posługuje się zmienną n używając do niej nazwy k
  • W instrukcji Fun(n+5); funkcja przypisuje własnej lokalnej zmiennej k wartość n+5
  • W instrukcji Fun( n ); funkcja posługuje się zmienną n używając do niej nazwy k, ale nie wolno jej zmieniać wartości tej zmiennej
  • W instrukcji Fun( n ); funkcja posługuje się zmienną k tak jak nazwą tablicy

Dopasuj wyrażenia do określeń zakładając, że x, y są zmiennymi typu double.

  • Odległość (nieujemna różnica) między x a y
  • Maksimum z {x, y}
  • Minimum z {x, y}
  • Wartość bezwzględna z x

W jakim systemie można pisać stałe całkowite?
Wybierz co najmniej jedną odpowiedź

  • dziesiętnym
  • ósemkowym (8)
  • dwójkowym (2)
  • szesnastkowym (16)

Instrukcja for(i=0; i<n; i++) S+=A[i]; nakazuje wykonać instrukcję S+=A[i]; dla:
Wymierz odpowiedź

  • i = 1, 2, … , n-1.
  • i = 1, 2, … , n.
  • i = 0, 1, 2, … , n.
  • i = 0, 1, 2, … , n-1.

Ile zmiennych typu double tworzy definicja double X[100]; i jak te zmienne należy indeksować?
Wymierz odpowiedź

  • 101 zmiennych indeksowanych od 0 do 100
  • 100 zmiennych indeksowanych od 0 do 99
  • 100 zmiennych indeksowanych od 1 do 100
  • 99 zmiennych indeksowanych od 1 do 99

Dopasuj wyrażenia do opisów warunków logicznych

  • x równe zeru lub równe 80 x==0 || x==80
  • x < 0 lub x > 80 x<0 || x>80
  • 0 < x < 80 x > 0 && x < 90
  • x różne od zera i różne od 80 x != 0 && x != 80

Zaznacz prawdziwe zdania, jeśli zdefiniowano double Y[50];
Wybierz co najmniej jedną odpowiedź

  • Y jest nazwą zmiennej typu double.
  • Y jest stałą wskazującą na zmienną Y[0].
  • Y+ 5 wskazuje na zmienną Y[5].
  • Y+ 5 wskazuje 5 bajtów dalej niż Y

Zdefiniowano int k = 29, n = 10; oraz double x, y; Jakie wartości otrzymają zmienne x oraz y po wykonaniu instrukcji
x = k/n;
y=(double)k/n;
Wymierz odpowiedź

  • x = 2.9, y = 2.9
  • x = 3.0, y = 2.9
  • x = 2.0, y = 2.9
  • x = 2.0, y = 2.0

Plik binarny zawiera liczby typu double. Jak poprawnie wczytać te liczby do tablicy A, która zawiera 500 zmiennych typu double (nie wolno wczytać więcej niż 500 liczb) i nadać zmiennej n wartość równą ilości wczytanych liczb?
Wymierz odpowiedź

  • for( n=0; fread( A+n, sizeof(*A), 1, fp)==1; n++ ) ;
  • n=fread( A, sizeof(*A), 500, fp );
  • for( n=0; n<500; n++ ) if( fscanf(fp, "%lf", A+n )!=1) break;
  • for( n=0; fscanf(fp, "%lf", A+n )==1; n++ ) ;

Które napisy są stałymi całkowitymi w C lub w C++?
Wybierz co najmniej jedną odpowiedź

  • "A" (znak A w cudzysłowach)
  • -15 (minus 15)
  • 0x12
  • 'A' (znak A w apostrofach)
To są notatki z wykładów, tak więc bardzo możliwe, że prawa autorskie należą do wykładowców...