Najjednostavniji program je onaj koji zadani tekst ispisuje na ekran. Da bi se mogao ispravno napisati čak i tako jednostavan program, potrebno je poznavati strukturu programa odabranog programskog jezika.
Struktura programa odnosi se na način pisanja programa i ako se ona ne poštuje, program neće raditi, bez obzira na to što su uporabljene sve potrebne naredbe.
Svaki program pisan u programskom jeziku C sastavljen je od niza funkcija. Glavna i jedina obavezna funkcija u programu je funkcija main( ). Program se može sastojati i od većeg broja funkcija.
Bitna razlika između C-a i ostalih programskih jezika je u tome što u C-u ne postoje ugrađene funkcije. One se nalaze u bibliotekama funkcija koje se isporučuju zajedno s prevoditeljem. Biblioteke funkcija nastale su standardizacijom C-a, pa je dovoljno na početku programa najaviti da će se upotrebljavati određena biblioteka i u cijelom programu dostupne su sve funkcije koje se u njoj nalaze. Tako se biblioteka u kojoj se nalaze funkcije za ulaz i izlaz podataka naziva stdio.h, matematičke funkcije nalaze se u biblioteci math.h, a funkcije za rad sa znakovnim varijablama u biblioteci string.h.
Na početku svakog C programa uobičajeno je pisati pretprocesorske naredbe kojima se pozivaju biblioteke funkcija koje se rabe u programu. Opći oblik te naredbe je: #naredba parametri. Najčešće upotrebljavana pretprocesorska naredba je: #include <ime datoteke> i obavezno se piše prije funkcije main( ). Prevođenjem programa na mjesto naredbe #include kopira se sadržaj navedene datoteke.
Isto tako, prije samog pisanja programa treba istaknuti da se programi napisani u C-u sastoje od niza međusobno povezanih funkcija čiji broj nije ograničen. U svakom programu je obavezna samo jedna funkcija - funkcija main( ) koja označava mjesto na kojem počinje izvršavanje programa. Početak i kraj funkcije označava se vitičastim zagradama. Nakon svake naredbe u C-u mora stajati znak ; koji (kao i u Pascalu) označava kraj jedne i početak druge naredbe