Langage procédural
Un programme informatique deviendrait très vite illisible si l'ensemble du code devait être écrit sans avoir la possibilité de réutiliser (d'appeler) certains blocs. Le langage GWBasic de la fin des années 1970 présentait cet inconvénient.
Un langage procédural permet d'écrire des blocs de codes appelés procédures, routines ou fonctions. Ces blocs possèdent un nom unique et ils peuvent être appelés dans le code par ce nom.
La programmation procédurale présente les avantages
- de fournir un code plus lisible (des noms décrivent un ensemble d'instructions)
- de fournir un code plus compact (moins de ligne)
- d'éviter des sauts vers des lignes qui rendent la lecture illisible ("programmation spaghetti")
Le C est un langage procédural qui gère à la fois
- les procédures : void
- les fonctions : function
Les procédures
Une procédure est un bloc d'instruction qui réalise des opérations sans restitution de résultat.
Par exemple :
- affichage d'un message à l'écran
- sauvegarde d'un fichier
- lancement d'une séquence vidéo
- réponse à un événement (clic souris, touche de clavier...)

Quelques règles :
le mot void précède le nom de la procédure
- les noms de procédures respectent le même formalisme que les noms de variable.
- La procédure doit bien sûr être déclarée dans l'entête.
- Une variable déclarée dans une procédure (entre le caractère { de début de procédure et le caractère } de fin) n'a d'existence que dans la procédure. Il s'agit d'une variable locale.
- il est possible de spécifier des arguments lors de la déclaration d'une procédure. Ils sont des variables utilisables dans le code de la procédure.
- En C++, si la procédure est liée à un objet, le nom de la procédure est précédée par les caractère :: (-> en C++ Builder), puis par le nom de la classe d'objet.
Les fonctions
Une fonction est un procédure qui restitue un résultat.
Les règles sont donc sensiblement les mêmes que pour les procédures.
Tous les programmes ont au moins une fonction qui est main(). Elle est située dans le fichier main.c ou main.cpp.
Cette fonction est indispensable car elle démarre l'exécution du programme.
Pour déclarer une fonction la syntaxe est : type nom(arguments)
- type : spécifie le type de la valeur restituée
- nom : il faut choisir un nom qui respecte les spécifications déjà vues (variables, procédures) et qui décrit bien ce que fait la fonction.
- arguments : comme pour void, ce sont les données avec lesquelles la fonction va travailler.
Se rajoutent à la déclaration :
- les accolades ( { } ): elles encadrent le code de la fonction
- l'instruction return qui affecte le résultat des opérations de la fonction au nom de la fonction.
