Introduction au C
L’utilisation du langage
Le langage de programmation C a été inventé dans les années 70 dans le but de concevoir un système d’exploitation. Il a été adopté par une large communauté de développeurs, ce qui lui a permis au d’évoluer au fil du temps. Il reste aujourd’hui l’un des langages le plus utilisé dans le monde. Le langage C offre aux développeurs un contrôle total sur la machine. C’est-à-dire qu’il propose des instructions très bas niveau, proche du matériel. C’est pourquoi il offre la possibilité de gérer minutieusement la mémoire, le rendant ainsi très léger et très rapide. C’est pour cette raison qu’il est également utilisé pour réaliser les fondations d’autres langages de programmation plus modernes.
En raison de son efficacité, le langage C est extrêmement utilisé dans des domaines comme sur les systèmes embarqués, sur les microcontrôleurs, les calculs intensifs, l’écriture de système d’exploitation et les systèmes temps réel. En contrepartie, l’écriture de programmes en C est plus difficile que ceux écrit en Python. La plus grosse difficulté liée à l’utilisation du langage C, c’est qu’il impose à l’utilisateur de programmer spécifiquement la création et la libération de la mémoire dynamique.
Les instructions élémentaires
L’instruction de scanf permet à l’utilisateur de rentrer des valeurs au clavier pour qu’elles soient utilisées par le programme. Dans l’autre sens, l’instruction printf, permet au programme de communiquer des valeurs à l’utilisateur en les affichant à l’écran. Ces deux instructions s’accompagnent de ce qui s’appelle des formateurs. Il faut utiliser le formateur correspondant au type de votre variable.
Les conteneurs
En langage C, les variables doivent être déclarées comme respectant un type particulier. Une fois que le type est déclaré, celui-ci ne peut plus être changé. La mémoire des ordinateurs est limitée, c’est pourquoi il existe de nombreuses alternatives aux différents types de variable pour minimiser l’empreinte mémoire des programmes informatique.
Type | Explication | Taille | Formateur |
---|---|---|---|
char | Un caractère de base | 8 bits | %c |
char* | Une chaine de plusieurs caractères | 8 bits par caractères + 8 bits de fin | %s |
Type | Explication | Taille | Formateur |
---|---|---|---|
int unsigned short | Type entier Type entier positif | 2^{31} ou 2^{63} 2^{32} ou 2^{64} | %d %u |
short short unsigned short short | Type entier très court Type entier très court positif | 2^{7} 2^{8} | %d %u |
short unsigned short | Type entier court Type entier court positif | 2^{15} 2^{16} | %d %u |
long unsigned long | Type entier long Type entier long positif | 2^{31} 2^{32} | %d ou %l %u ou %ul |
long long unsigned long long | Type entier très long Type entier très long positif | 2^{63} 2^{64} | %d ou %ll %u ou %ull |
Type | Explication | Taille | Formateur |
---|---|---|---|
float | Réel à simple précision | 10^{38}, 8 chiffres significatifs | %f |
double | Réel à double précision | 10^{308}, 16 chiffres significatifs | %lf |
Les opérations élémentaires
Les bibliothèques contiennent toutes les fonctions élémentaires pour écrire vos programmes. Elles doivent être spécifiées tout en haut du programme. Il existe un grand nombre de bibliothèques, nous en utiliserons d’autres plus tard. Tout programme doit également contenir un point de départ. C’est à partir de là que votre programme va commencer. Il faut ensuite écrire les instructions dans ce bloc de code.
// Cette ligne est un commentaire // La ligne ci-dessous est l'ajout de la bibliothèque standard pour gérer les entrées-sorties. #include <stdio.h> // le main est le point de départ du programme int main(int argc, char *argv[]) { // printf est une instruction pour afficher un message à l'écran printf("Hello World!\n"); }
Dans l’exemple ci-dessous, le code permet d’additionner deux variables. Tout comme dans notre algorithme, on distingue la phase d’initialisation où l’utilisateur est invité à entrer les valeurs. La phase de traitement où les nombres sont additionnés. La dernière partie affiche le résultat à l’utilisateur.
#include <stdio.h> int main(int argc, char *argv[]) { int a, b, c; printf("Entrez le premier nombre: "); scanf("%d", &a); printf("Entrez le second nombre: "); scanf("%d", &b); c = a+b; printf("La somme de a+b: vaut: %d!\n", c); }