C’est ici qu’on va voir nos premières lignes de code.
En avant!(vous inquiétez pas, ce sera toujours aussi facile^^)
Analyse du code minimal
Je vous ai dit précédemment que nous allions découvrir ensemble la signification de notre code.
Allez, le voici :
- Code:
-
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
system("PAUSE");
return 0;
}
Il y a d’abord les deux premières lignes de notre programme.
Ce sont ce qu’on appelle des
directives de préprocesseur, des lignes qui seront lues et exécutées par le compilateur. Les directives de préprocesseur sont facilement reconnaissables car elles commencent forcément par un #(dièse).
En gros, elles signifient "
Inclue le code se trouvant dans les fichiers nommés stdio.h et stdlib.h"
Elles contiennent l’ensemble des commandes qui pourront nous permettre plus tard d’afficher du texte à l’écran, ou de poser des questions à l’utilisateur^^
De toute façon, vous comprendrez en tant voulu à quoi elles servent précisément.
Bien, maintenant, il y a tout le reste qui va ensemble, c'est-à-dire :
- Code:
-
int main(int argc, char *argv[])
{
system("PAUSE");
return 0;
}
Sans trop rentrer dans les détails, vous voici en face de la fonction main.
Les programmes C fonctionnent à base de fonctions. Par exemple, pour reprendre l’exemple du jeu de guerre, il y a une fonction tirer qui va envoyer un projectile à l’endroit où se trouve le viseur. Sauf que là, il ne s’agit pas de tirer sur quelque chose, mais de faire fonctionner votre programme. La fonction main est une fonction un peu spéciale qui sera utilisée dès le lancement de votre programme et exécutera toutes les instructions se trouvant à l’intérieur, c'est-à-dire :
- Code:
-
system("PAUSE");
return 0;
Vous remarquez la présence de ;(points-virgules) en fin de lignes.
C’est la caractéristique commune à toutes les instructions.
Voyons, system("PAUSE")signifie : "Met mon programme en pause", et return 0 signifie "termine ma fonction main".
Question : Pourquoi mettre mon programme en pause ?
Réponse : Tout simplement pour avoir le temps de le visualiser. Sinon, il se fermerait à la vitesse de l’éclair !
D’ailleurs, ça vous dit de le voir, ce programme ?
Compilation
Ici, nous allons compiler notre programme pour enfin voir à quoi il ressemble.
Bien, cliquez ici :
Il s’agit du bouton
Compiler & Exécuter qui, comme vous l’avez deviné, va d’abord « traduire » votre programme en langage machine compréhensible par votre ordinateur, puis exécuter le programme.
Il existe aussi le bouton pour simplement compiler, celui pour juste exécuter, celui pour débugger et celui pour «Tout reconstruire» qui ne nous servira pas.
Bien, maintenant que vous avez compilé et exécuté, une maaagnifique fenêtre apparaît alors :
- Spoiler:
Question : Mais pourquoi c’est moche ? Je voulais faire une fenêtre avec un menu ! :’(
Réponse : Désolé de vous décevoir mais ça va pas être possible tout de suite^^ Vous n’avez pas encore les compétences requises pour pouvoir faire une fenêtre! On restera en console un bon moment :(
Bien, vous voyez quand même qu’il y a un peu de texte à l’écran vous disant d’appuyer sur une touche pour continuer. D’ailleurs, si vous obéissez, cela ferme votre programme ! C’est en fait le texte écrit par la fonction system(«PAUSE») mettant en pause votre programme.
Essayez sans cette instruction, et vous verrez que le programme s’affiche et se ferme très vite ! On n’a même pas le temps d’admirer la console ! Ceci car, en réalité, la fonction return 0 termine la fonction main, qui, elle, représente en quelque sorte votre programme.
Remarque : L’instruction system("PAUSE") ne marche pas sous Linux. Les linuxiens utiliseront donc l’instruction getchar() ;
Remarque 2 : regardez le dossier dans lequel votre projet est enregistré. A l’intérieur est apparu un fichier du même nom que votre projet ! Voici ce que ça donne chez moi :
Et quand vous cliquez sur le .exe votre programme se lance.
Bien, maintenant que vous savez compiler, passons à la suite !
Afficher un texte à l’écran
Bien, nous allons donc utiliser une fonction nommée printf pour afficher du texte à l’écran.
Il s’agit d’une fonction écrite par d’autres programmeurs se trouvant dans le fichier stdio.h
Vous comprenez maintenant pourquoi on inclue toujours ce fichier : pour pouvoir réaliser des choses basique telles qu’afficher un texte à l’écran.
Voilà, alors maintenant, vous allez faire appel à la fonction printf en écrivant son nom sur une ligne avant system("PAUSE");
Mais ce n’est pas fini, vous avez écrit
printf mais pas ce qu’il faut qu’il écrive !
C’est pour ça qu’on rajout à côté des parenthèses, et, dans les parenthèses, le texte que vous voulez afficher entre guillemets.
Voici ce que vous devez obtenir :
- Code:
-
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
printf("Bonjour");
system("PAUSE");
return 0;
}
C’est bon, vous avez tous le même code source que moi ? Alors faites
Compiler & ExécuterCe sublime programme apparaît alors :
- Spoiler:
Question : Mais pourquoi ça affiche tout sur la même ligne ?
Réponse : Parce que votre ordinateur est bête(je dis ça mais le mien aussi, hein ?).
Il faut
absolument tout lui dire!
Et là on a oublié de lui dire de sauter une ligne :’(
Vous inquiétez pas je vais vous l’apprendre^^
Avec un saut de ligne, c’est plus joli!
Il suffit de rajouter les caractères spéciaux \n
A la compilation, tous les \n seront inévitablement remplacés par un retour à la ligne.
Remarque : Il s’agit d’un antislash suivi d’un n et pas d’un l en italique^^
Voyons ce que ça donne avec le \n :
- Spoiler:
Voilà, c’est magique !
Mais il existe aussi \t qui fera une tabulation, et \r qui fera un retour chariot.
Question : Et si dans mon programme j'ai envie d'écrire \n sans que ça mette un retour à la ligne, comment je fais?
Réponse : Il vous suffit d'
échapper vos caractères! C'est à dire que, au lieu de mettre \n, il faudra utiliser le caractère d'échappement \, donc d'écrire \\n
Remarque pratique: Sous Windows, et seulement sous Windows, vous ne pourrez pas utiliser d’accents ! C’est ainsi, désolé... :) Maintenant que vous avez compris le truc, je vous conseille très vivement de vous entraîner en essayant les exercices suivants :
• Changez le texte pour vous présenter et parler de vous !
• Diversifiez votre texte en faisant une vraie mise en forme avec des tabulations et des sauts de lignes !
Voilà, j’espère que ça vous a plus^^
On se revoit au prochain chapitre avec au programme : les commentaires et les variables !
Vous pouvez bien sûr poster des questions et des commentaires à la suite si le coeur vous en dit !