Toate programele scrise în limbajul C au în comun mai multe elemente esentiale. Pentru început, vom urmari aceste elemente studiind câteva programe simple.
Unul dintre programele "clasice" prezentate ca introducere în mare parte a literaturii de specialitate este Hello, World !:
#include <stdio.h> void main(void) { printf("Hello, World !\n"); }
Dupa compilarea si rularea acestui program, pe ecran va fi afisat:
Hello, World !
Orice program scris în C respecta o anumita "compozitie", toate programele au în comun o anumita structura. Astfel, orice program C este alcatuit din functii care contin instructiuni. Dintr-o perspectiva generala, un program are structura:
directive preprocesor declaratii si definitii globale functiiPentru exemplul anterior, prima linie:
#include <stdio.h>este o directiva preprocesor. Aceste directive au întotdeauna ca si prim caracter simbolul #. Directiva include are ca efect includerea în program a fisierului header stdio.h. Acest mecanism de includere permite programatorului sa foloseasca functii gata implementate si puse la dispozitie prin intermediul bibliotecilor de functii. Includerea fisierelor header (adica fisiere antet care contin declaratiile functiilor de biblioteca) se executa de catre compilator în faza de preprocesare, o prima faza a compilarii în care au loc diferite operatii asupra codului sursa înainte ca acesta sa fie efectiv compilat.
Urmatoarea linie cu care se continua executia programului este functia main. Orice program C este compus din functii, dintre care functia main are o semnificatie speciala, aceasta fiind functia care se executa la lansarea programului. În acest caz, functia main nu are parametri si nu returneaza nici un rezultat, fapt marcat prin tipul void, adica tipul vid, un tip de date particular limbajului C (mai multe despre functii si modul în care se transmit parametri si se returneaza valori, în capitolul urmator). Corpul functiei main (si al oricarei functii) este cuprins între acolade, care în C sunt delimitatori de bloc (echivalent cu begin - end din Pascal). Corpul functiei în acest exemplu contine o singura instructiune:
printf("Hello, World !\n");În aceasta linie de program se apeleaza functia printf, apartinând bibliotecii stdio si are ca actiune afisarea valorilor transmise ca parametru. În acest caz, parametrul este sirul de caractere "Hello, World !n". Caracterul n reprezinta caracterul linie noua.