2. cvičení

Stručný přehled jazyka C aneb základy jazyka C++

Důležité pojmy

Probrané příklady

  1. Výpis sudých čísel. Program ukazuje využití cyklu for a podmínky.

    #include <stdio.h>
    
    int main()
    {
        for (int i = 0; i < 100; i++) {
            if (i % 2 == 0)
                printf("%d\n", i);
        }
        return 0;
    }
    

    Místo cyklu for lze ekvivalentně použít cyklus while:

    #include <stdio.h>
    
    int main()
    {
        int i = 0;
        while (i < 100) {
            if (i % 2 == 0)
                printf("%d\n", i);
            i++;
        }
        return 0;
    }
    

    Cyklus for je vhodné použít v případech, kdy předem známe počet opakování cyklu. Cyklus while je obecnější a hodí se pro situace, kdy dopředu neznáme počet opakování cyklu.

  2. Výpis prvočísel. Program ukazuje komplikovanější strukturu vnořených cyklů.

    #include <stdio.h>
    
    int main()
    {
        for (int i = 1; i < 100; i++) {
            int pocet_delitelu = 0;
    
            for (int j = 1; j <= i; j++) {
                if (i % j == 0)
                    pocet_delitelu += 1;
            }
    
            if (pocet_delitelu <= 2)
                printf("%d\n", i);
        }
        return 0;
    }
    

    O něco chytřejší verze využívá toho, že čísla j větší než polovina čísla i nemohou být děliteli čísla i. Stačí tedy procházet pouze čísla od 2 do i / 2.

    #include <stdio.h>
    
    int main()
    {
        for (int i = 1; i < 100; i++) {
            int pocet_delitelu = 1;
    
            for (int j = 2; j < i / 2; j++) {
                if (i % j == 0)
                    pocet_delitelu += 1;
            }
    
            if (pocet_delitelu == 1)
                printf("%d\n", i);
        }
        return 0;
    }