Język C - Quiz o funkcjach i operatorach
45 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Który z poniższych kodów języka C generuje wypisanie "Ala ma kota" na ekran?

  • printf ( "Napis : %s \n " , "Ala ma kota" ) ; (correct)
  • printf ( " Ala ma kota \n" ) ;
  • printf ( "Napis : %s \n" , "Ala ma kota" ) ;
  • printf ( "Ala ma kota" ) ;
  • Funkcja strlen() służy do łączenia dwóch łańcuchów znaków.

    False (B)

    Co oznacza specyfikator formatu %d w funkcji printf()?

    Wypisanie liczby całkowitej.

    Funkcja strcpy() ______ łańcucha znaków.

    <p>kopiuje</p> Signup and view all the answers

    Dopasuj funkcje biblioteczne języka C do ich funkcji:

    <p><code>strlen()</code> = Zwrócenie długości łańcucha znaków <code>strcat()</code> = Łączenie dwóch łańcuchów znaków <code>strcmp()</code> = Porównywanie dwóch łańcuchów znaków <code>strcpy()</code> = Kopiowanie łańcucha znaków</p> Signup and view all the answers

    Który z poniższych specyfikatorów formatu służy do wypisania liczby zmiennoprzecinkowej w notacji naukowej?

    <p>%e (B)</p> Signup and view all the answers

    Funkcja strstr() zwraca adres pierwszego wystąpienia wzorca w tekście lub wartość NULL, gdy wzorzec nie został znaleziony.

    <p>True (A)</p> Signup and view all the answers

    Specyfikator formatu ______ służy do wypisania znaku.

    <p>%c</p> Signup and view all the answers

    Operator ^ w języku C reprezentuje operację logiczną XOR.

    <p>True (A)</p> Signup and view all the answers

    Które z poniższych instrukcji języka C służy do pobrania znaku z klawiatury?

    <p>getchar() (B)</p> Signup and view all the answers

    W programie szyfr–xor.c wartość zmiennej klucz to ______.

    <p>13</p> Signup and view all the answers

    Jaki jest cel funkcji putchar() w programie szyfr–xor.c?

    <p>Wyświetlenie pojedynczego znaku na ekran.</p> Signup and view all the answers

    Połącz operatory bitowe z ich opisem:

    <blockquote> <blockquote> <p>= Przesunięcie bitowe w prawo | = Operacja logiczna OR &amp; = Operacja logiczna AND ^ = Operacja logiczna XOR</p> </blockquote> </blockquote> Signup and view all the answers

    Który z poniższych elementów nie był elementem pierwszych komputerów?

    <p>Pamięć RAM (B)</p> Signup and view all the answers

    Przesunięcie bitu w prawo o 1 odpowiada ______ przez 2.

    <p>dzieleniu</p> Signup and view all the answers

    John von Neumann opracował koncepcję współczesnego komputera w 1945 roku.

    <p>True (A)</p> Signup and view all the answers

    Maska bitowa to specjalny rodzaj zmiennej, która pozwala na modyfikowanie wartości pojedynczych bitów w dowolnej zmiennej.

    <p>True (A)</p> Signup and view all the answers

    Który z poniższych fragmentów kodu języka C poprawnie ustawia n-ty bit zmiennej x na 1?

    <p>x = x | (1 &lt;&lt; n) (C)</p> Signup and view all the answers

    Jaki był pierwszy komercyjnie dostępny minikomputer?

    <p>PDP-1</p> Signup and view all the answers

    Komputery drugiej generacji charakteryzowały się wykorzystaniem ______ i pamięci ferrytowej.

    <p>tranzystorów</p> Signup and view all the answers

    Połącz wydarzenia z odpowiednimi datami:

    <p>1945 = John von Neumann opracował koncepcję współczesnego komputera 1949 = EDVAC zaczął działać z dyskami magnetycznymi 1960 = PDP-1 został wprowadzony na rynek 1959-1964 = Era komputerów drugiej generacji z tranzystorami i pamięcią ferrytową</p> Signup and view all the answers

    Która z poniższych gier wideo była pierwszą w historii?

    <p>Spacewar! (A)</p> Signup and view all the answers

    Wczesne komputery wykorzystywały tylko programy proceduralne.

    <p>True (A)</p> Signup and view all the answers

    Wymień trzy innowacje, które pojawiły się wraz z komputerem PDP-1.

    <p>Monitor, klawiatura, Spacewar!</p> Signup and view all the answers

    Pliki nagłówkowe *.h w języku C zawierają instrukcje programu.

    <p>False (B)</p> Signup and view all the answers

    Która z poniższych opcji NIE jest słowem kluczowym w języku C?

    <p>function (D)</p> Signup and view all the answers

    Jaki znak rozpoczyna dyrektywy preprocesora w języku C?

    <h1></h1> Signup and view all the answers

    Język C jest językiem ____, co oznacza, że skupia się na sekwencji instrukcji wykonywanych w określonym porządku.

    <p>proceduralnym</p> Signup and view all the answers

    Połącz słowa kluczowe z ich krótkimi opisami.

    <p>auto = Określa, że zmienna ma zasięg lokalny static = Określa, że zmienna jest stała const = Określa, że zmienna jest statyczna void = Oznacza, że funkcja nie zwraca wartości</p> Signup and view all the answers

    Które z poniższych są przykładami bibliotek standardowych w języku C?

    <p>string.h (A), math.h (B), stdio.h (D)</p> Signup and view all the answers

    Język C zapewnia zabezpieczenie przed błędami programisty.

    <p>False (B)</p> Signup and view all the answers

    Podaj przykład najkrótszego programu w języku C.

    <p>main() {}</p> Signup and view all the answers

    Które z poniższych instrukcji są przykładami instrukcji sterujących w języku C?

    <p>goto (A), while (C), if (E)</p> Signup and view all the answers

    W języku C zmienna globalna jest dostępna wyłącznie w funkcji, w której została zadeklarowana.

    <p>False (B)</p> Signup and view all the answers

    Jaki jest zakres dostępu zmiennej lokalnej zadeklarowanej w bloku instrukcji {} w funkcji main()?

    <p>Zakres dostępu zmiennej lokalnej jest ograniczony do bloku instrukcji <code>{}</code>, w którym została zadeklarowana.</p> Signup and view all the answers

    W języku C zmienne deklaruje się na samym początku ______.

    <p>bloku</p> Signup and view all the answers

    Dopasuj operatory do ich kategorii:

    <ul> <li>= Operatory arytmetyczne == = Operatory relacji &amp;&amp; = Operatory logiczne = = Operator przypisania</li> </ul> Signup and view all the answers

    W języku C zmienne lokalne są automatycznie inicjowane wartością 0.

    <p>False (B)</p> Signup and view all the answers

    Jaki jest cel operatora przypisania = w języku C?

    <p>Operator przypisania <code>=</code> służy do nadania wartości zmiennej.</p> Signup and view all the answers

    Które z poniższych instrukcji są poprawne w C?

    <p>int i, j, k; float x = 1.5; char znak = 'A'; (B)</p> Signup and view all the answers

    W języku C, aby wyświetlić znak na ekranie, należy użyć funkcji printf() i specyfikatora formatu %c. Należy również podać w nawiasach argumenty, które reprezentują znaki, które chcemy wyświetlić. Aby wyświetlić znak "A", w nawiasach podajemy 'A' oraz [BLANK].

    <p>65</p> Signup and view all the answers

    Specyfikator formatu %d służy do wyświetlania liczb całkowitych w systemie szesnastkowym.

    <p>False (B)</p> Signup and view all the answers

    Który ze specyfikatorów formatu służy do wyświetlania liczb zmiennoprzecinkowych w notacji naukowej?

    <p>%e (A)</p> Signup and view all the answers

    Jaki jest wynik działania funkcji printf("Zmienopozycyjne : %f \n", 3.1416);?

    <p>Zmienopozycyjne : 3.141600</p> Signup and view all the answers

    Połącz specyfikatory formatu z ich odpowiednimi typami danych:

    <p>%c = Znak %d = Liczba całkowita %f = Liczba zmiennoprzecinkowa %s = Napis</p> Signup and view all the answers

    Study Notes

    Programowanie Proceduralne - Notatki

    • Programowanie proceduralne to paradygmat programowania, który opiera się na sekwencjach instrukcji, podprogramach (funkcjach) i uporządkowanym przepływie sterowania.
    • Celem programowania proceduralnego jest dekompozycja złożonego problemu na mniejsze, łatwiejsze do zarządzania podproblemy, co ułatwia testowanie i konserwację kodu.
    • Podprogramy (funkcje) są podstawowymi blokami kodu, które wykonują określone operacje i mogą być wywoływane wielokrotnie w różnych częściach programu.
    • Operacje są wykonywane sekwencyjnie, zgodnie z kolejnością instrukcji w programie.
    • Głównym elementem programowania proceduralnego są zmienne, stala, i tablice.
    • Operatory działają na zmiennych, a ich priorytet wpływa na kolejność obliczeń.
    • Instrukcje sterujące, takie jak if, else, switch, while, i for, kontrolują przepływ sterowania w programie.
    • Proceduralne podejście do programowania umożliwia efektywne organizowanie i zarządzanie złożonością dużych projektów.
    • Istnieje możliwość tworzenia dynamicznych struktur danych.
    • Komentarze są istotne, aby ułatwić czytelność i utrzymanie kodu.

    Przegląd zagadnień

    • Podstawy programowania w języku C
    • Przykłady programów, demonstracje
    • Problem → Algorytm → Program → Rozwiązanie
    • Paradygmat programowania proceduralnego
    • Algorytmy wydzielone w postaci funkcji
    • Reprezentacja danych w komputerze
    • Typy proste, złożone, struktury dynamiczne
    • Elementy inżynierii oprogramowania: model, projekt, analiza, implementacja, testowanie
    • Laboratorium: język C
    • Środowisko Visual Studio C++
    • Zaliczenie: ocena z laboratorium + test zaliczeniowy (AiR egzamin na ocenę)

    Jak uczyć się programowania

    • Pytaj!
    • Czytaj!
    • Podglądaj!
    • Programiuj, programuj, programuj...

    Generacje komputerów

    • Mechaniczne i przekaźnikowe (do 1945)
    • Lampowe elektronowe (1945-59)
    • Tranzystorowe i pamięci ferrytowe (1959-64)
    • Układy scalone małej skali integracji SSI (1965-70)
    • Układy scalone o wysokiej skali integracji LSI i VLSI, mikroprocesory (od 1971)

    Rozwoj języków programowania

    • Kod maszynowy, assembler
    • Języki wysokiego poziomu: Fortran, Lisp, COBOL
    • Języki specjalistyczne: Simula I, Algol, PL/1
    • Języki ogólne: Pascal, C, Basic, C++
    • Języki obiektowe: Java, Python, PHP, JavaScript, .NET (C#).

    Komputery generacji 0

    • Konrad Zuse
    • Mechaniczny Z1
    • Liczby zmiennopozycyjne
    • Przekaźnikowy Z3

    Kod maszynowy

    • Ciąg instrukcji w postaci binarnej, wykonywanych bezpośrednio przez procesor.
    • Rozkazy procesora i dane w postaci słów bitowych pobierane są z pamięci do rejestrów procesora.
    • Kod maszynowy nie jest przenośny - różni się dla poszczególnych procesorów.

    Język asemblera

    • Zastępuje rozkazy maszynowe mnemonikami (zrozumiałymi słowami).
    • Mnemoniki określają konkretną czynność procesora.
    • Assembler tłumaczy język asemblera na kod maszynowy (assemblacja).
    • Deasembler tłumaczy kod maszynowy na język asemblera.

    Języki wysokiego poziomu

    • Nie są bezpośrednio wykonywane przez procesor.
    • Pozwala uniezależnić program od danej platformy sprzętowej i systemowej.
    • Składnia i instrukcje są łatwiejsze do zrozumienia dla człowieka.
    • Pozwalają skupić się na logice zadania, abstrakcji.

    Kompilator i interpreter

    • Kompilator - tłumaczy kod napisany w języku wysokiego poziomu na kod maszynowy (np. C, C++, Pascal, Fortran).
    • Interpreter - odczytuje, analizuje i wykonuje kolejne instrukcje w kodzie źródłowym (np. Bash, Perl, Python).

    Od pomysłu do programu

    • Pomysł, algorytm
    • Programowanie (w języku wysokiego poziomu)
    • Kompilacja
    • Kod maszynowy
    • Wykonanie na komputerze

    Środowiska programistyczne c/c++

    • Minimalistyczne: edytor tekstu + kompilator (np. Linux z GCC)
    • IDE (Integrated Development Environment): np. Borland C, Cygwin, MinGW, MS Visual Studio, KDevelop, Anjuta, VS Code, CodeBlocks, Eclipse (CDT), NetBeans

    Algorytmy

    • Algorytm to jednoznacznie zdefiniowany ciąg operacji prowadzący do rozwiązania zadania w skończonej liczbie kroków.
    • Przykłady algorytmów: algorytm Euklidesa, sortowanie przez wybieranie, algorytm Herona, wyszukiwanie liniowe, itp.

    Generacje Komputerów

    • mechaniczne, przekaźnikowe
    • lampy elektronowe
    • tranzystory i pamięć ferrytowa
    • układy scalone o małej skali integracji (SSI)
    • układy scalone o wysokiej skali integracji (VLSI/LSI)

    Instrukcje warunkowe i pętle w C

    • Warunek if (jeżeli)
    • Pętla while (dopóki)
    • Pętla for (dla każdego)

    Algorytm Euklidesa

    • Procedura znajdowania największego wspólnego dzielnika (NWD) dwóch liczb całkowitych.

    Zadanie obliczeniowe

    • Warunki wejścia, wyjście.

    Cechy algorytmu

    • Skończoność
    • Poprawność
    • Uniwersalność
    • Efektywność
    • Określoność
    • Rozwiązanie początkowe i końcowe

    Struktury sterujące

    • Bezpośrednie następstwo
    • Wybór warunkowy (rozgałęzienie)
    • Iteracja ograniczona
    • Iteracja warunkowa
    • Instrukcja skoku
    • Podprogram

    Reprezentacja algorytmów

    • Język naturalny
    • Lista kroków
    • Schematy blokowe
    • Pseudojęzyki
    • Języki wysokiego poziomu

    Złożoność obliczeniowa algorytmu

    • Ilość operacji wykonywanych przez algorytm. Wyznaczona na podstawie ilości danych lub miary ich wielkości.
    • Porównanie wartości, arytmetyka, posortowanie listy.

    Problem TSP (Travelling Salesman Problem)

    • Znalezienie najkrótszej trasy odwiedzania wszystkich miast.
    • Problem o dużej złożoności obliczeniowej.

    Problemy o „rozsądnych” rozwiązaniach i Problem P vs NP

    • Klasyfikacja problemów w oparciu o złożoność algorytmów rozwiązujących je, a konkretnie o ilość kroków i wykorzystywanej pamięci.

    Algorytmy manipulujące danymi

    • Reprezentacja danych
    • Zmienne (liczby, znaki, adresy)
    • Tablice, wektory, listy, macierze
    • Rekordy, struktury, kolejki, stosy, drzewa

    Podsumowanie

    • Analiza problemu
    • Specyfikacja zadania
    • Algorytm
    • Poprawność algorytmu
    • Złożoność algorytmu
    • Implementacja algorytmu

    Literatura dodatkowa

    • Podręczniki akademickie
    • Artykuły ze stron internetowych

    Język ANSI C

    • Pierwsze starcie
    • Nowości w C99
    • Instrukcje preprocesora: #include, #define
    • Komentarze, styl kodowania

    Struktura programu w C

    • Dyrektywy preprocesora
    • Funkcja main (funkcja główna)
    • Deklaracje (typ i nazwy zmiennych)
    • Instrukcje programu

    Najkrótszy program w C

    • Krótki kod źródłowy.

    Język ANSI C

    • Biblioteki: stdio.h, math.h
    • Pliki nagłówkowe
    • Zwięzły kod

    Słowniki kluczowe

    • Lista słów kluczowych języka C.

    Dyrektywy preprocesora

    • Instrukcje preprocesora, takie jak #include i #define są wykonywane przed właściwą kompilacją kodu źródłowego.

    Błędy w kodzie

    • Sprawdzenie czy kod kompiluje się bez błędów kompilacji.
    • Użycie debuggerów w celu analizy błądów w czasie działania.

    Typy danych

    • Całkowite
    • Zmiennoprzecinkowe

    Operacja przypisania

    • Skrócony operator przypisania (np a += b = a = a + b).

    Inkrementacja i dekrementacja

    • Pre-inkrementacja i post-inkrementacja operatorów ++ i --
    • Operatory te zmieniają wartość zmiennej i zwracają jako wartość poprzednią, lub obecną wartość.

    Przykłady: kopiowanie napisów

    Operator wyrażenia warunkowego

    Inne operatory

    • Przecinek
    • Dostęp do elementów tablicy
    • Wywołanie funkcji
    • Dostęp do pól struktury

    Priorytety i kolejność operatorów

    • Reguły sterujące kolejnością wykonywania operacji obliczeniowych.

    Przykłady:

    • Sums harmonicznego
    • Algorytm Herona
    • Sums Fibonnaciego
    • Konwersja do innej podstawy
    • Zmienne tablicowe w funkcji

    Tablice

    • Zbiór elementów tego samego typu, indeksowanych od 0.
    • Deklaracja i wykorzystanie elementów tablicy.

    Struktury

    • Zbiór elementów różnych typów, zdefiniowanych przez nazwę.
    • Inicjalizacja tablic i struktur

    Typy złożone

    • Struktury, pola bitowe i unie.

    Typ wyliczeniowy

    • Typ enum (enumerated type)
    • Deklaracja i wykorzystanie zmiennych wyliczeniowych.

    Wskaźniki do struktur

    • Operator -> - dostęp do pól struktury za pomocą wskaźnika
    • Wskaźniki i funkcje.

    Unie

    • W odróżnieniu od struktur, unie przechowują wartości w tym samym obszarze pamięci.

    Pola bitowe

    • Pola bitowe to pola struktury o określonej liczbie bitów, używane do optymalizacji.

    Strumienie i pliki

    • Strumienie - ogólny sposób przekazania danych między procesami, plikami i urządzeniami.
    • Plik jako ciąg bajtów
    • Metadane pliku (rozszerzenie, sygnatura, atrybuty)
    • Otwarcie strumienia pliku, zapis, odczyt, zamknięcie.
    • Obsługa błędów (NULL, EOF)

    Standardowe strumienie

    • stdin, stdout, stderr

    Inne sytuacje wyjątkowe

    • Błędy podczas otwierania strumienia pliku
    • Niepoprawny format danych

    Kodowanie informacji

    • Reprezentacja symboli w komputerze (binarny kod)
    • Liczby całkowite i zmiennoprzecinkowe
    • Kodowane znaki

    Kodowanie symboli

    • ASCII
    • inne kody znaków

    Operatory bitowe

    • Działają na pojedynczych bitach.

    Rzutowanie

    • Niejawne i jawne rzutowanie typów
    • Utrata dokładności przy rzutowaniu.

    Instrukcja return

    • Zakończenie działania funkcji, zwracanie wartości.

    Zmienne na stosie

    • Obszar pamięci dla tymczasowych zmiennych w funkcji.

    Zasięg zmiennych

    • Globalne i lokalne zmienne.

    Biblioteki standardowe

    • Biblioteki i funkcje standardowe języka C. (Np. stdio.h, stdlib.h, string.h, ctype.h)

    Wskaźniki

    • Zmienne przechowujące adresy innych zmiennych.
    • Arytmetyka na wskaźnikach
    • Wskaźniki jako argumenty funkcji
    • Względne i bezwzględne adresy

    Tablice jako parametry funkcji

    • Tablica jako argument funkcji.

    Przeszukiwanie liniowe

    • Algorytm przeszukiwania liniowego.

    Znajdowanie minimum i maksimum

    • Algorytm znajdowania wartości minimalnej i maksymalnej w zbiorze liczb.

    Dynamiczny przydział pamięci

    • Funkcja malloc() i free w C.

    Dynamiczne struktury danych

    • Tablice wskaźników
    • Listy
    • Drzewa binary

    Systemy pozycyjne

    • Konwersja pomiędzy systemami pozycyjnymi (dziesiętny, binarny, ósemkowy, szesnastkowy).

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Related Documents

    Description

    Sprawdź swoją wiedzę na temat języka C poprzez ten quiz. Obejmuje takie zagadnienia jak funkcje, specyfikatory formatu oraz operatory. Udzielaj odpowiedzi na pytania dotyczące praktycznego zastosowania języka C.

    More Like This

    Use Quizgecko on...
    Browser
    Browser