Publié le 06/05/2016
Auteur James
Réseaux sociaux
0 partages
0 tweets
0 plus
0 commentaires

Introduction au langage C

Ce tutoriel s'adresse à un débutant souhaitant découvrir le langage de programmation C.
Pourquoi s'intéresser au langage C ? Bonne question car le C a été remplacé depuis longtemps par le C++ et on le retrouve de moins en moins dans le développement d'application. Par contre, le langage C a servi de base de nombreux langages de haut niveau (C++, Java et PHP) et l'apprentissage d'un langage de bas niveau est formateur pour la compréhension du fonctionnement d'un système informatique.

Notions de base

Le C est un langage compilé, c'est à dire qu'à partir de plusieurs fichiers code source, le compilateur va produire un exécutable qui est autonome. Voyons comment ça marche :

Fonctionnement du compilateur

Le C est un langage multiplateforme, à savoir les exécutables peuvent fonctionner sur de nombreuses machines et sous de nombreux systèmes d'exploitation à condition d'avoir un compilateur adéquat.Le programme est écrit dans un fichier texte. Ce fichier est ensuite compilé en exécutable (par le compilateur et le linker). Pour qu'un programme fonctionne sur une autre plateforme (par ex. un autre système d'exploitation), il suffit de recompiler le programme avec un compilateur fonctionnant pour cette plateforme. C'est cette fonctionnalité qui a contribué a rendre le C aussi célèbre.

Structure d'un programme

Tout programme en C commence dans une fonction baptisée main. En général, la fonction main retourne au système d'exploitation un nombre indiquant un code d'erreur s'il n'a pas pu s'exécuter correctement et 0 s'il n'y as pas d'erreur.
En C, un bloc est une partie de programme délimitée par des accolades ( {} ) et commençant par un identificateur ou un mot clé. Une fonction est un bloc : elle est délimitée par des accolades. Voici un exemple de fonction main :
main () {
    }

L'espace entre les parenthèses est vide car aucune variable n'est passée à la fonction main (par le système d'exploitation). L'ordre dans lequel les fonctions apparaissent dans le fichier source n'a pas beaucoup d'importance. Elles doivent seulement se trouver à la suite de leur déclaration (cf. ch. fonctions). Par souci de clarté, la fonction main est placée en premier et les autres fonctions sont placées après elle.

Liste des identificateurs

Un identificateur est un mot quelconque. Le C tient compte des majuscules et des minuscules. Par exemple, Index et index sont deux identificateurs différents. Un identificateur peut servir à nommer une fonction, une variable, une constante etc... 32 mots sont réservés dans un programme en C et ne peuvent pas être des identificateurs.
auto double int struct
break else long switch
case enum register typedef
char extern return union
const float short unsigned
continue for signed void
default goto sizeof volatile
do if static while

Par ailleurs, chaque instruction d'une fonction doit se terminer par un point-virgule. Voici un petit programme commenté pour illustrer les notions vues ci-dessus.
/* Ajoute les fonctions de stdio.h */
#include <stdio.h>
/* Début */         
    main () {
/* Affiche du texte */               
      printf("Bonjour, voici mon premier programme en C");
      return 0;
/* fin de la fonction main */
    } 

Ce programme est composé d'une seule fonction : la fonction main.
Entre les parenthèses de la fonction printf, on place le texte à afficher, sous la forme d'une chaîne de caractères et les variables s'il y en a à afficher et d'un retour à la ligne (CR) ou un saut de ligne (LF)

Les opérateurs

La première tâche d'un programme est d’effectuer des calculs et des comparaisons. C'est pourquoi le langage C définit les caractères suivants comme des opérateurs (les plus courants):

Le = sert à attribuer une valeur à une variable. La variable doit toujours être à gauche et la valeur à droite. On peut utiliser le signe = à l’intérieur des expressions (par exemple b=4+3*(y=5) donnera la valeur 19 à b et 5 à y).

Les signes +, -, * et / servent respectivement à additionner, soustraire, multiplier et diviser deux valeurs entre elles. Les priorités entre ces opérateurs sont les priorités habituelles.

Le % est le symbole du modulo. Le modulo est le reste de la division euclidienne. Par exemple : 19 % 5 = 4 car 19 / 5 = 3 reste 4, on peut aussi écrire que le modulo est le nombre m tel que 5 * n + m = 19 avec n un nombre entier quelconque et m le plus petit nombre positif possible.

Les symboles +=, -=, *=, /=, et %= sont des abréviations. Par exemple :
i += 5 est équivalent à i = i + 5
i /= 5 est équivalent à i = i / 5
i %= 5 est équivalent à i = i % 5

Les symboles &&, ! et || servent aux opérations logiques, respectivement au ET logique, au NON et au OU logique

Les signes ++ et -- servent respectivement à incrémenter et à décrémenter une variable.

Voici pour un premier aperçu de la programmation avec le langage C. La semaine prochaine, nous verrons comment faire une application de convertisseur.

Ajouter un commentaire

Les champs marqués d'un * sont obligatoires, les adresses emails se sont pas publiées.

A lire aussi

Réseaux sociaux
Présentation de l'article
Catégorie
tuto - webmaster
Mise a jour
06/05/2016
Visualisation
vu 4639 fois
Public
Internaute
Auteur de la publication
James
Membre junior
Auteur de 6 articles
|BIO_PSEUDO|
Commentaires récents

Publié par Ludwig dans tuto

Bonjour,
Il me semble que les plugins de gestion d'images sont payants pour TinyMCE et CKeditor, est-ce toujours le cas ?
Il manque amha l'excellent Xinha dans cette liste, qui lui est Open Sour...

Publié par olibul dans CMS

var
fn: string;

begin

Result:= False;
if strFont <> \'\' then begin

// Tester le nom: si affectation directe à TFont, modifications aléatoires...

Publié par D&Atilde;&copy;butant dans CMS

merci , et bon courage pour d'autre programme

Publié par Quentin dans tuto

Merci pour ces petits codes java script qui me sont d'un grand secours pour mon TP :)

Publié par Christophe dans CMS

en remplacant la ligne:
SHGetFileInfo(PChar(ePath.Text + SearchRec.Name), 0, FileInfo, SizeOf(FileInfo), SHGFI_ICON);
par la ligne
SHGetFileInfo(PChar(ePath.Text + Sear...